From dd711be30b87897e57d35227a383f2ed0f3ab624 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sun, 26 Oct 2025 13:40:17 +0100 Subject: [PATCH] Add cache for GameModeConfig --- .../src/de/steamwar/sql/GameModeConfig.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/CommonCore/SQL/src/de/steamwar/sql/GameModeConfig.java b/CommonCore/SQL/src/de/steamwar/sql/GameModeConfig.java index 2bef6599..305edbaa 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/GameModeConfig.java +++ b/CommonCore/SQL/src/de/steamwar/sql/GameModeConfig.java @@ -34,6 +34,16 @@ import java.util.stream.Collectors; @ToString public final class GameModeConfig { + public static final Function ToString = Function.identity(); + public static final Function ToStaticWarGear = __ -> "WarGear"; + public static final Function ToInternalName = file -> file.getName().replace(".yml", ""); + public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy HH:mm"); + private static final Random random = new Random(); + + static { + SchematicType.values(); + } + private static final Map> byFileName = new HashMap<>(); private static final Map> byGameName = new HashMap<>(); private static final Map> bySchematicType = new HashMap<>(); @@ -56,12 +66,6 @@ public final class GameModeConfig { return (GameModeConfig) DEFAULTS; } - public static final Function ToString = Function.identity(); - public static final Function ToStaticWarGear = __ -> "WarGear"; - public static final Function ToInternalName = file -> file.getName().replace(".yml", ""); - public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd.MM.yyyy HH:mm"); - private static final Random random = new Random(); - public final boolean loaded; public final File configFile; @@ -205,7 +209,9 @@ public final class GameModeConfig { Arena = new ArenaConfig(loader.with("Arena"), Schematic.Size, EnterStages); if (cacheInstance) { - byFileName.put(configFile.getName(), (GameModeConfig) this); + if (configFile != null) { + byFileName.put(configFile.getName(), (GameModeConfig) this); + } byGameName.put(GameName, (GameModeConfig) this); }