Format code [skip actions]

This commit is contained in:
github-actions 2024-10-03 15:31:53 +00:00
parent d11e13a005
commit b087e1fb4f
24 changed files with 53 additions and 35 deletions

View File

@ -346,10 +346,9 @@ public class AbilityModifier implements Serializable {
public String overrideMapKey; public String overrideMapKey;
public int paramNum; public int paramNum;
public DynamicFloat public DynamicFloat param1 = DynamicFloat.ZERO,
param1 = DynamicFloat.ZERO, param2 = DynamicFloat.ZERO,
param2 = DynamicFloat.ZERO, param3 = DynamicFloat.ZERO;
param3 = DynamicFloat.ZERO;
public String funcName; public String funcName;
public LuaCallType luaCallType; public LuaCallType luaCallType;

View File

@ -6,6 +6,7 @@ import lombok.Data;
@Data @Data
public class ConfigGlobalCombat { public class ConfigGlobalCombat {
private DefaultAbilities defaultAbilities; private DefaultAbilities defaultAbilities;
// TODO: Add more indices // TODO: Add more indices
@Data @Data

View File

@ -13,6 +13,7 @@ public class RoutePoint {
private float waitTime; // optional private float waitTime; // optional
private float targetVelocity; // optional private float targetVelocity; // optional
private boolean hasReachEvent; // optional private boolean hasReachEvent; // optional
// rotRoundReachDir //optional Pos with optional values // rotRoundReachDir //optional Pos with optional values
// rotRoundLeaveDir //optional Pos with optional values // rotRoundLeaveDir //optional Pos with optional values

View File

@ -9,6 +9,7 @@ import lombok.Getter;
public class BlossomRefreshExcelConfigData extends GameResource { public class BlossomRefreshExcelConfigData extends GameResource {
@Getter(onMethod_ = @Override) @Getter(onMethod_ = @Override)
private int id; private int id;
// Map details // Map details
private long nameTextMapHash; private long nameTextMapHash;
private long descTextMapHash; private long descTextMapHash;

View File

@ -21,6 +21,7 @@ public class CoopChapterData extends GameResource {
// int avatarSortId; // int avatarSortId;
// String chapterIcon; // String chapterIcon;
List<CoopCondition> unlockCond; List<CoopCondition> unlockCond;
// int [] unlockCondTips; // int [] unlockCondTips;
// int openMaterialId; // int openMaterialId;
// int openMaterialNum; // int openMaterialNum;

View File

@ -65,7 +65,9 @@ public class Ability {
data.modifiers.values().stream() data.modifiers.values().stream()
.map( .map(
m -> m ->
m.onAdded == null ? Collections.<AbilityModifierAction>emptyList() : Arrays.asList(m.onAdded)) m.onAdded == null
? Collections.<AbilityModifierAction>emptyList()
: Arrays.asList(m.onAdded))
.flatMap(List::stream) .flatMap(List::stream)
.filter(action -> action.type == AbilityModifierAction.Type.AvatarSkillStart) .filter(action -> action.type == AbilityModifierAction.Type.AvatarSkillStart)
.map(action -> action.skillID) .map(action -> action.skillID)

View File

@ -19,9 +19,7 @@ public class ActionExecuteGadgetLua extends AbilityActionHandler {
var param2 = action.param2.getInt(ability); var param2 = action.param2.getInt(ability);
var param3 = action.param3.getInt(ability); var param3 = action.param3.getInt(ability);
owner owner.getEntityController().onClientExecuteRequest(owner, param1, param2, param3);
.getEntityController()
.onClientExecuteRequest(owner, param1, param2, param3);
return true; return true;
} }

View File

@ -70,9 +70,7 @@ public final class ActionServerLuaCall extends AbilityActionHandler {
* @return Whether the function was called successfully. * @return Whether the function was called successfully.
*/ */
private static boolean callFunction( private static boolean callFunction(
Bindings bindings, String functionName, Bindings bindings, String functionName, Ability ability, AbilityModifierAction action) {
Ability ability, AbilityModifierAction action
) {
try { try {
// Resolve the function from the script. // Resolve the function from the script.
var function = bindings.get(functionName); var function = bindings.get(functionName);
@ -86,10 +84,10 @@ public final class ActionServerLuaCall extends AbilityActionHandler {
// Invoke the function with the parameters. // Invoke the function with the parameters.
switch (action.paramNum) { switch (action.paramNum) {
case 1 -> luaFunction.invoke(new LuaValue[] { lParam1 }); case 1 -> luaFunction.invoke(new LuaValue[] {lParam1});
case 2 -> luaFunction.invoke(new LuaValue[] { lParam1, lParam2 }); case 2 -> luaFunction.invoke(new LuaValue[] {lParam1, lParam2});
case 3 -> luaFunction.invoke(new LuaValue[] { lParam1, lParam2, lParam3 }); case 3 -> luaFunction.invoke(new LuaValue[] {lParam1, lParam2, lParam3});
default -> luaFunction.invoke(new LuaValue[] { ScriptLoader.getScriptLibLua() }); default -> luaFunction.invoke(new LuaValue[] {ScriptLoader.getScriptLibLua()});
} }
return true; return true;

View File

@ -24,6 +24,7 @@ public class PlayerActivityData {
int uid; int uid;
int activityId; int activityId;
Map<Integer, WatcherInfo> watcherInfoMap; Map<Integer, WatcherInfo> watcherInfoMap;
/** the detail data of each type of activity (Json format) */ /** the detail data of each type of activity (Json format) */
String detail; String detail;

View File

@ -86,6 +86,7 @@ public class Avatar {
// trial avatar property // trial avatar property
@Getter @Setter private int trialAvatarId = 0; @Getter @Setter private int trialAvatarId = 0;
// cannot store to db if grant reason is not integer // cannot store to db if grant reason is not integer
@Getter @Setter @Getter @Setter
private int grantReason = TrialAvatarGrantRecord.GrantReason.GRANT_REASON_INVALID.getNumber(); private int grantReason = TrialAvatarGrantRecord.GrantReason.GRANT_REASON_INVALID.getNumber();

View File

@ -49,6 +49,7 @@ public class GachaBanner {
@Getter private int[] rateUpItems5 = {}; @Getter private int[] rateUpItems5 = {};
// This now handles default values for the fields below // This now handles default values for the fields below
@Getter private BannerType bannerType = BannerType.STANDARD; @Getter private BannerType bannerType = BannerType.STANDARD;
// These don't change between banner types (apart from Standard having three extra 4star avatars) // These don't change between banner types (apart from Standard having three extra 4star avatars)
@Getter @Getter
private int[] fallbackItems3 = { private int[] fallbackItems3 = {

View File

@ -25,15 +25,13 @@ import it.unimi.dsi.fastutil.ints.*;
import java.nio.file.*; import java.nio.file.*;
import java.util.*; import java.util.*;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
import lombok.Getter; import lombok.Getter;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
public class GachaSystem extends BaseGameSystem { public class GachaSystem extends BaseGameSystem {
private static final int starglitterId = 221; private static final int starglitterId = 221;
private static final int stardustId = 222; private static final int stardustId = 222;
@Getter @Getter private final Int2ObjectMap<GachaBanner> gachaBanners;
private final Int2ObjectMap<GachaBanner> gachaBanners;
private WatchService watchService; private WatchService watchService;
public GachaSystem(GameServer server) { public GachaSystem(GameServer server) {
@ -422,8 +420,7 @@ public class GachaSystem extends BaseGameSystem {
if (this.watchService == null) { if (this.watchService == null) {
try { try {
this.watchService = FileSystems.getDefault().newWatchService(); this.watchService = FileSystems.getDefault().newWatchService();
FileUtils.getDataUserPath("") FileUtils.getDataUserPath("").register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);
.register(watchService, StandardWatchEventKinds.ENTRY_MODIFY);
} catch (Exception e) { } catch (Exception e) {
Grasscutter.getLogger() Grasscutter.getLogger()
.error( .error(

View File

@ -195,6 +195,7 @@ public class GameMainQuest {
// .forEach(getQuestManager()::startMainQuest); // .forEach(getQuestManager()::startMainQuest);
// } // }
} }
// TODO // TODO
public void fail() {} public void fail() {}

View File

@ -7,6 +7,7 @@ import java.util.*;
public class TowerLevelRecord { public class TowerLevelRecord {
/** floorId in config */ /** floorId in config */
private int floorId; private int floorId;
/** LevelId - Stars */ /** LevelId - Stars */
private Map<Integer, Integer> passedLevelMap; private Map<Integer, Integer> passedLevelMap;

View File

@ -56,6 +56,7 @@ public class SceneScriptManager {
private final Map<Integer, SceneGroupInstance> cachedSceneGroupsInstances; private final Map<Integer, SceneGroupInstance> cachedSceneGroupsInstances;
private ScriptMonsterTideService scriptMonsterTideService; private ScriptMonsterTideService scriptMonsterTideService;
private ScriptMonsterSpawnService scriptMonsterSpawnService; private ScriptMonsterSpawnService scriptMonsterSpawnService;
/** blockid - loaded groupSet */ /** blockid - loaded groupSet */
private final Map<Integer, Set<SceneGroup>> loadedGroupSetPerBlock; private final Map<Integer, Set<SceneGroup>> loadedGroupSetPerBlock;
@ -846,6 +847,7 @@ public class SceneScriptManager {
.warn("failed to create entity with group {} and config {}", group.id, configId); .warn("failed to create entity with group {} and config {}", group.id, configId);
} }
} }
// Events // Events
public Future<?> callEvent(int groupId, int eventType) { public Future<?> callEvent(int groupId, int eventType) {
return callEvent(new ScriptArgs(groupId, eventType)); return callEvent(new ScriptArgs(groupId, eventType));

View File

@ -28,11 +28,13 @@ public class ScriptLoader {
@Getter private static Serializer serializer; @Getter private static Serializer serializer;
@Getter private static ScriptLib scriptLib; @Getter private static ScriptLib scriptLib;
@Getter private static LuaValue scriptLibLua; @Getter private static LuaValue scriptLibLua;
/** suggest GC to remove it if the memory is less */ /** suggest GC to remove it if the memory is less */
private static Map<String, SoftReference<String>> scriptSources = new ConcurrentHashMap<>(); private static Map<String, SoftReference<String>> scriptSources = new ConcurrentHashMap<>();
private static Map<String, SoftReference<CompiledScript>> scriptsCache = private static Map<String, SoftReference<CompiledScript>> scriptsCache =
new ConcurrentHashMap<>(); new ConcurrentHashMap<>();
/** sceneId - SceneMeta */ /** sceneId - SceneMeta */
private static Map<Integer, SoftReference<SceneMeta>> sceneMetaCache = new ConcurrentHashMap<>(); private static Map<Integer, SoftReference<SceneMeta>> sceneMetaCache = new ConcurrentHashMap<>();

View File

@ -2,6 +2,7 @@ package emu.grasscutter.scripts.constants;
public class EventType { public class EventType {
public static final int EVENT_NONE = 0; public static final int EVENT_NONE = 0;
/** param1: monster.configId */ /** param1: monster.configId */
public static final int EVENT_ANY_MONSTER_DIE = 1; public static final int EVENT_ANY_MONSTER_DIE = 1;

View File

@ -18,6 +18,7 @@ public class SceneGadget extends SceneObject {
public int owner; public int owner;
public SceneBossChest boss_chest; public SceneBossChest boss_chest;
public int interact_id; public int interact_id;
/** /**
* Note: this field indicates whether the gadget should disappear permanently. For example, if * Note: this field indicates whether the gadget should disappear permanently. For example, if
* isOneOff=true, like most chests, it will disappear permanently after interacted. If * isOneOff=true, like most chests, it will disappear permanently after interacted. If

View File

@ -13,6 +13,7 @@ public abstract class SceneObject {
public Position pos; public Position pos;
public Position rot; public Position rot;
/** not set by lua */ /** not set by lua */
public transient SceneGroup group; public transient SceneGroup group;
} }

View File

@ -61,7 +61,8 @@ public class EntityController {
} }
/** /**
* Invoked from {@link emu.grasscutter.game.ability.actions.ActionServerLuaCall} to call an entity controller function. * Invoked from {@link emu.grasscutter.game.ability.actions.ActionServerLuaCall} to call an entity
* controller function.
* *
* @param entity The entity which called the function. * @param entity The entity which called the function.
* @param funcName The name of the function to call. * @param funcName The name of the function to call.
@ -70,8 +71,7 @@ public class EntityController {
* @return The return value of the function. * @return The return value of the function.
*/ */
public LuaValue callControllerScriptFunc( public LuaValue callControllerScriptFunc(
GameEntity entity, String funcName, GameEntity entity, String funcName, Ability ability, AbilityModifierAction action) {
Ability ability, AbilityModifierAction action) {
var lParam1 = LuaValue.valueOf(action.param1.getInt(ability)); var lParam1 = LuaValue.valueOf(action.param1.getInt(ability));
var lParam2 = LuaValue.valueOf(action.param2.getInt(ability)); var lParam2 = LuaValue.valueOf(action.param2.getInt(ability));
var lParam3 = LuaValue.valueOf(action.param3.getInt(ability)); var lParam3 = LuaValue.valueOf(action.param3.getInt(ability));

View File

@ -22,8 +22,8 @@ import org.java_websocket.handshake.ServerHandshake;
import org.slf4j.Logger; import org.slf4j.Logger;
/** /**
* This is a simple implementation of a server-to-server IPC client. * This is a simple implementation of a server-to-server IPC client. It is implemented over
* It is implemented over WebSockets, and supports all Grasscutter versions past 1.6.0 * WebSockets, and supports all Grasscutter versions past 1.6.0
*/ */
@Getter @Getter
public final class DispatchClient extends WebSocketClient implements IDispatcher { public final class DispatchClient extends WebSocketClient implements IDispatcher {

View File

@ -16,9 +16,10 @@ public class HandlerAvatarUpgradeReq extends PacketHandler {
// These are bundled into a list of items. // These are bundled into a list of items.
for (var item : req.getItemParamListList()) { for (var item : req.getItemParamListList()) {
session session
.getServer() .getServer()
.getInventorySystem() .getInventorySystem()
.upgradeAvatar(session.getPlayer(), req.getAvatarGuid(), item.getItemId(), item.getCount()); .upgradeAvatar(
session.getPlayer(), req.getAvatarGuid(), item.getItemId(), item.getCount());
} }
} }
} }

View File

@ -28,8 +28,10 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
.setTargetUid(player.getUid()) .setTargetUid(player.getUid())
.setEnterSceneToken(player.getEnterSceneToken()) .setEnterSceneToken(player.getEnterSceneToken())
.setWorldLevel(player.getWorldLevel()) .setWorldLevel(player.getWorldLevel())
// .setEnterReason(EnterReason.Login.getValue()) // Removed in 5.0; we don't know what it is // .setEnterReason(EnterReason.Login.getValue()) // Removed in 5.0; we don't know what
// .setIsFirstLoginEnterScene(player.isFirstLoginEnterScene()) // Removed in 5.0; we don't know what it is // it is
// .setIsFirstLoginEnterScene(player.isFirstLoginEnterScene()) // Removed in 5.0; we
// don't know what it is
// .setWorldType(1) // Removed in 5.0; we don't know what it is // .setWorldType(1) // Removed in 5.0; we don't know what it is
.setSceneTransaction( .setSceneTransaction(
"3-" "3-"
@ -80,7 +82,8 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
var proto = var proto =
PlayerEnterSceneNotify.newBuilder() PlayerEnterSceneNotify.newBuilder()
// .setPrevSceneId(player.getSceneId()) // Removed in 5.0; we don't know what it is // .setPrevSceneId(player.getSceneId()) // Removed in 5.0; we don't know what it is
// .setPrevPos(player.getPosition().toProto()) // Removed in 5.0; we don't know what it is // .setPrevPos(player.getPosition().toProto()) // Removed in 5.0; we don't know what it
// is
.setSceneId(teleportProperties.getSceneId()) .setSceneId(teleportProperties.getSceneId())
.setPos(teleportProperties.getTeleportTo().toProto()) .setPos(teleportProperties.getTeleportTo().toProto())
.setSceneBeginTime(System.currentTimeMillis()) .setSceneBeginTime(System.currentTimeMillis())
@ -88,7 +91,8 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
.setTargetUid(target.getUid()) .setTargetUid(target.getUid())
.setEnterSceneToken(player.getEnterSceneToken()) .setEnterSceneToken(player.getEnterSceneToken())
.setWorldLevel(target.getWorld().getWorldLevel()) .setWorldLevel(target.getWorld().getWorldLevel())
// .setEnterReason(teleportProperties.getEnterReason().getValue()) // Removed in 5.0; we don't know what it is // .setEnterReason(teleportProperties.getEnterReason().getValue()) // Removed in 5.0; we
// don't know what it is
// .setWorldType(1) // Removed in 5.0; we don't know what it is // .setWorldType(1) // Removed in 5.0; we don't know what it is
.setSceneTransaction( .setSceneTransaction(
teleportProperties.getSceneId() teleportProperties.getSceneId()
@ -118,14 +122,16 @@ public class PacketPlayerEnterSceneNotify extends BasePacket {
var proto = var proto =
PlayerEnterSceneNotify.newBuilder() PlayerEnterSceneNotify.newBuilder()
// .setPrevSceneId(player.getSceneId()) // Removed in 5.0; we don't know what it is // .setPrevSceneId(player.getSceneId()) // Removed in 5.0; we don't know what it is
// .setPrevPos(player.getPosition().toProto()) // Removed in 5.0; we don't know what it is // .setPrevPos(player.getPosition().toProto()) // Removed in 5.0; we don't know what it
// is
.setSceneId(teleportProperties.getSceneId()) .setSceneId(teleportProperties.getSceneId())
.setPos(teleportProperties.getTeleportTo().toProto()) .setPos(teleportProperties.getTeleportTo().toProto())
.setSceneBeginTime(System.currentTimeMillis()) .setSceneBeginTime(System.currentTimeMillis())
.setType(other ? EnterType.ENTER_TYPE_OTHER_HOME : EnterType.ENTER_TYPE_SELF_HOME) .setType(other ? EnterType.ENTER_TYPE_OTHER_HOME : EnterType.ENTER_TYPE_SELF_HOME)
.setTargetUid(targetUid) .setTargetUid(targetUid)
.setEnterSceneToken(player.getEnterSceneToken()) .setEnterSceneToken(player.getEnterSceneToken())
// .setEnterReason(teleportProperties.getEnterReason().getValue()) // Removed in 5.0; we don't know what it is // .setEnterReason(teleportProperties.getEnterReason().getValue()) // Removed in 5.0; we
// don't know what it is
// .setWorldType(64) // Removed in 5.0; we don't know what it is // .setWorldType(64) // Removed in 5.0; we don't know what it is
.setSceneTransaction( .setSceneTransaction(
teleportProperties.getSceneId() teleportProperties.getSceneId()

View File

@ -58,7 +58,8 @@ public class PacketPlayerLoginRsp extends BasePacket {
.setClientDataVersion(info.getClientDataVersion()) .setClientDataVersion(info.getClientDataVersion())
.setClientSilenceDataVersion(info.getClientSilenceDataVersion()) .setClientSilenceDataVersion(info.getClientSilenceDataVersion())
// .setClientMd5(info.getClientDataMd5()) // Removed in 5.0; we don't know what it is // .setClientMd5(info.getClientDataMd5()) // Removed in 5.0; we don't know what it is
// .setClientSilenceMd5(info.getClientSilenceDataMd5()) // Removed in 5.0; we don't know what it is // .setClientSilenceMd5(info.getClientSilenceDataMd5()) // Removed in 5.0; we don't know
// what it is
.setResVersionConfig(info.getResVersionConfig()) .setResVersionConfig(info.getResVersionConfig())
.setClientVersionSuffix(info.getClientVersionSuffix()) .setClientVersionSuffix(info.getClientVersionSuffix())
.setClientSilenceVersionSuffix(info.getClientSilenceVersionSuffix()) .setClientSilenceVersionSuffix(info.getClientSilenceVersionSuffix())