From 44a557a1dcb04994b13df2574c479a1af8d1dfdd Mon Sep 17 00:00:00 2001 From: KingRainbow44 Date: Wed, 31 May 2023 22:11:58 -0400 Subject: [PATCH] Load activity config on server startup --- .../emu/grasscutter/data/ResourceLoader.java | 61 +++++++------------ .../game/activity/ActivityManager.java | 18 +++--- 2 files changed, 29 insertions(+), 50 deletions(-) diff --git a/src/main/java/emu/grasscutter/data/ResourceLoader.java b/src/main/java/emu/grasscutter/data/ResourceLoader.java index 1681c2a68..debb00572 100644 --- a/src/main/java/emu/grasscutter/data/ResourceLoader.java +++ b/src/main/java/emu/grasscutter/data/ResourceLoader.java @@ -1,9 +1,5 @@ package emu.grasscutter.data; -import static emu.grasscutter.utils.FileUtils.getDataPath; -import static emu.grasscutter.utils.FileUtils.getResourcePath; -import static emu.grasscutter.utils.lang.Language.translate; - import com.google.gson.annotations.SerializedName; import com.google.gson.reflect.TypeToken; import emu.grasscutter.Grasscutter; @@ -11,47 +7,32 @@ import emu.grasscutter.data.binout.*; import emu.grasscutter.data.binout.AbilityModifier.AbilityModifierAction; import emu.grasscutter.data.binout.config.*; import emu.grasscutter.data.common.PointData; -import emu.grasscutter.data.custom.TrialAvatarActivityCustomData; -import emu.grasscutter.data.custom.TrialAvatarCustomData; +import emu.grasscutter.data.custom.*; import emu.grasscutter.data.excels.trial.TrialAvatarActivityDataData; -import emu.grasscutter.data.server.ActivityCondGroup; -import emu.grasscutter.data.server.GadgetMapping; -import emu.grasscutter.data.server.MonsterMapping; +import emu.grasscutter.data.server.*; +import emu.grasscutter.game.activity.ActivityManager; import emu.grasscutter.game.managers.blossom.BlossomConfig; -import emu.grasscutter.game.quest.QuestEncryptionKey; -import emu.grasscutter.game.quest.RewindData; -import emu.grasscutter.game.quest.TeleportData; -import emu.grasscutter.game.world.GroupReplacementData; -import emu.grasscutter.game.world.SpawnDataEntry; -import emu.grasscutter.game.world.SpawnDataEntry.GridBlockId; -import emu.grasscutter.game.world.SpawnDataEntry.SpawnGroupEntry; -import emu.grasscutter.scripts.EntityControllerScriptManager; -import emu.grasscutter.scripts.SceneIndexManager; -import emu.grasscutter.scripts.ScriptLoader; -import emu.grasscutter.utils.FileUtils; -import emu.grasscutter.utils.JsonUtils; -import emu.grasscutter.utils.TsvUtils; -import emu.grasscutter.utils.Utils; +import emu.grasscutter.game.quest.*; +import emu.grasscutter.game.world.*; +import emu.grasscutter.game.world.SpawnDataEntry.*; +import emu.grasscutter.scripts.*; +import emu.grasscutter.utils.*; import it.unimi.dsi.fastutil.Pair; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import it.unimi.dsi.fastutil.ints.IntArrayList; -import it.unimi.dsi.fastutil.ints.IntArraySet; -import java.io.IOException; -import java.io.InputStreamReader; -import java.nio.file.Files; -import java.nio.file.Path; +import it.unimi.dsi.fastutil.ints.*; +import lombok.*; +import org.reflections.Reflections; + +import javax.script.*; +import java.io.*; +import java.nio.file.*; import java.util.*; import java.util.Map.Entry; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.*; import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import javax.script.Bindings; -import javax.script.CompiledScript; -import lombok.SneakyThrows; -import lombok.val; -import org.reflections.Reflections; +import java.util.stream.*; + +import static emu.grasscutter.utils.FileUtils.*; +import static emu.grasscutter.utils.lang.Language.translate; public final class ResourceLoader { @@ -129,6 +110,8 @@ public final class ResourceLoader { loadNpcBornData(); loadBlossomResources(); cacheTalentLevelSets(); + // Load activities. + ActivityManager.loadActivityConfigData(); // Load custom server resources. loadConfigLevelEntityData(); diff --git a/src/main/java/emu/grasscutter/game/activity/ActivityManager.java b/src/main/java/emu/grasscutter/game/activity/ActivityManager.java index 8de849ac6..a342a4ff1 100644 --- a/src/main/java/emu/grasscutter/game/activity/ActivityManager.java +++ b/src/main/java/emu/grasscutter/game/activity/ActivityManager.java @@ -2,21 +2,18 @@ package emu.grasscutter.game.activity; import com.esotericsoftware.reflectasm.ConstructorAccess; import emu.grasscutter.Grasscutter; -import emu.grasscutter.data.DataLoader; -import emu.grasscutter.data.GameData; +import emu.grasscutter.data.*; import emu.grasscutter.game.activity.condition.*; -import emu.grasscutter.game.player.BasePlayerManager; -import emu.grasscutter.game.player.Player; -import emu.grasscutter.game.props.ActivityType; -import emu.grasscutter.game.props.WatcherTriggerType; +import emu.grasscutter.game.player.*; +import emu.grasscutter.game.props.*; import emu.grasscutter.net.proto.ActivityInfoOuterClass; import emu.grasscutter.server.packet.send.PacketActivityScheduleInfoNotify; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.TimeUnit; import lombok.Getter; import org.reflections.Reflections; +import java.util.*; +import java.util.concurrent.*; + @Getter public class ActivityManager extends BasePlayerManager { private static final Map activityConfigItemMap; @@ -27,10 +24,9 @@ public class ActivityManager extends BasePlayerManager { static { activityConfigItemMap = new HashMap<>(); scheduleActivityConfigMap = new HashMap<>(); - loadActivityConfigData(); } - private static void loadActivityConfigData() { + public static void loadActivityConfigData() { // scan activity type handler & watcher type var activityHandlerTypeMap = new HashMap>(); var activityWatcherTypeMap = new HashMap>();