diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgCacheWorldGame.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgCacheWorldGame.java index a656876..4484114 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgCacheWorldGame.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgCacheWorldGame.java @@ -6,9 +6,7 @@ public final class CfgCacheWorldGame extends CustomConceptConfig { - public static CfgCacheWorldGame instance; - - public CfgCacheWorldGame(String nameConfigFile) throws IOException + public CfgCacheWorldGame(String nameConfigFile) { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgGameDebugger.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgGameDebugger.java index 144c642..efb9d73 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgGameDebugger.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgGameDebugger.java @@ -1,83 +1,114 @@ package org.imesense.dynamicspawncontrol.technical.configs; import com.google.gson.*; -import com.google.gson.annotations.JsonAdapter; import org.imesense.dynamicspawncontrol.debug.CodeGenericUtils; import org.imesense.dynamicspawncontrol.technical.configs.cfgGameDebugger.DataCategories; import org.imesense.dynamicspawncontrol.technical.customlibrary.Log; -import javax.annotation.Nonnull; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; -import java.util.HashMap; -import java.util.Map; -public final class CfgGameDebugger extends CustomConceptConfig -{ - public static CfgGameDebugger instance; +public final class CfgGameDebugger extends CustomConceptConfig { - public CfgGameDebugger(String nameConfigFile) throws IOException - { + public CfgGameDebugger(String nameConfigFile) { super(nameConfigFile); - this.nameConfig = this.constructPathToDirectory() + nameConfigFile; + Log.writeDataToLogFile(0, "nameConfigFile: " + nameConfigFile); DataCategories.DebugMonitor.instance = new DataCategories.DebugMonitor("monitor"); DataCategories.DebugEvent.instance = new DataCategories.DebugEvent("event"); - if (Files.exists(Paths.get(this.nameConfig))) - { - loadFromFile(); - } - else - { - saveToFile(); + if (Files.exists(Paths.get(this.nameConfig))) { + try { + loadFromFile(); + } catch (FileNotFoundException e) { + Log.writeDataToLogFile(2, "File not found while loading: " + e.getMessage()); + } catch (IOException e) { + Log.writeDataToLogFile(2, "IO Exception while loading: " + e.getMessage()); + } + } else { + Log.writeDataToLogFile(0, "Config file does not exist. Creating a new one."); + try { + saveToFile(); + } catch (IOException e) { + Log.writeDataToLogFile(2, "IO Exception while saving: " + e.getMessage()); + } } CodeGenericUtils.printInitClassToLog(CfgGameDebugger.class); } - public void saveToFile() throws IOException - { + public void saveToFile() throws IOException { + Path configPath = Paths.get(this.nameConfig).getParent(); + if (Files.notExists(configPath)) { + Log.writeDataToLogFile(0, "Creating directory: " + configPath); + Files.createDirectories(configPath); + } + JsonObject jsonObject = new JsonObject(); JsonObject monitorObject = new JsonObject(); - monitorObject.addProperty("monitorDebug", DataCategories.DebugMonitor.instance.getDebugMonitorOpt()); + monitorObject.addProperty("debug_monitor_cache", DataCategories.DebugMonitor.instance.getDebugMonitorCache()); jsonObject.add("monitor", monitorObject); JsonObject eventObject = new JsonObject(); - eventObject.addProperty("drop_all_exp", DataCategories.DebugEvent.instance.getDebugDropAllExpOpt()); + eventObject.addProperty("debug_on_block_break", DataCategories.DebugEvent.instance.getDebugOnBlockBreak()); + eventObject.addProperty("debug_on_block_place", DataCategories.DebugEvent.instance.getDebugOnBlockPlace()); + eventObject.addProperty("debug_on_entity_spawn", DataCategories.DebugEvent.instance.getDebugOnEntitySpawn()); + eventObject.addProperty("debug_on_left_click", DataCategories.DebugEvent.instance.getDebugOnLeftClick()); + eventObject.addProperty("debug_on_living_drops", DataCategories.DebugEvent.instance.getDebugOnLivingDrops()); + eventObject.addProperty("debug_on_living_experience_drop", DataCategories.DebugEvent.instance.getDebugOnLivingExperienceDrop()); + eventObject.addProperty("debug_on_task_manager", DataCategories.DebugEvent.instance.getDebugOnTaskManager()); + eventObject.addProperty("debug_on_player_tick", DataCategories.DebugEvent.instance.getDebugOnPlayerTick()); + eventObject.addProperty("debug_on_potential_spawn", DataCategories.DebugEvent.instance.getDebugOnPotentialSpawn()); + eventObject.addProperty("debug_on_right_click", DataCategories.DebugEvent.instance.getDebugOnRightClick()); + jsonObject.add("event", eventObject); Gson gson = new GsonBuilder().setPrettyPrinting().create(); - try (FileWriter file = new FileWriter(this.nameConfig)) - { + try (FileWriter file = new FileWriter(this.nameConfig)) { gson.toJson(jsonObject, file); + } catch (IOException e) { + throw new RuntimeException("Error writing to file: " + e.getMessage(), e); } } - public void loadFromFile() throws IOException - { - FileReader reader = new FileReader(this.nameConfig); - JsonElement jsonElement = new JsonParser().parse(reader); - JsonObject jsonObject = jsonElement.getAsJsonObject(); - - if (jsonObject.has("monitor")) - { - JsonObject monitorObject = jsonObject.getAsJsonObject("monitor"); - DataCategories.DebugMonitor.instance.setDebugMonitorOpt(monitorObject.get("monitorDebug").getAsBoolean()); - } - - if (jsonObject.has("event")) - { - JsonObject eventObject = jsonObject.getAsJsonObject("event"); - DataCategories.DebugEvent.instance.setDebugDropAllExpOpt(eventObject.get("drop_all_exp").getAsBoolean()); + public void loadFromFile() throws IOException { + Log.writeDataToLogFile(0, "test"); + try (FileReader reader = new FileReader(this.nameConfig)) { + JsonElement jsonElement = new JsonParser().parse(reader); + JsonObject jsonObject = jsonElement.getAsJsonObject(); + + if (jsonObject.has("monitor")) { + JsonObject monitorObject = jsonObject.getAsJsonObject("monitor"); + DataCategories.DebugMonitor.instance.setDebugMonitorCache(monitorObject.get("monitorDebug").getAsBoolean()); + } + + if (jsonObject.has("event")) { + JsonObject eventObject = jsonObject.getAsJsonObject("event"); + DataCategories.DebugEvent.instance.setDebugOnBlockBreak(eventObject.get("debug_on_block_break").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnBlockPlace(eventObject.get("debug_on_block_place").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnEntitySpawn(eventObject.get("debug_on_entity_spawn").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnLeftClick(eventObject.get("debug_on_left_click").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnLivingDrops(eventObject.get("debug_on_living_drops").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnLivingExperienceDrop(eventObject.get("debug_on_living_experience_drop").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnTaskManager(eventObject.get("debug_on_task_manager").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnPlayerTick(eventObject.get("debug_on_player_tick").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnPotentialSpawn(eventObject.get("debug_on_potential_spawn").getAsBoolean()); + DataCategories.DebugEvent.instance.setDebugOnRightClick(eventObject.get("debug_on_right_click").getAsBoolean()); + + } + } catch (FileNotFoundException e) { + Log.writeDataToLogFile(2, "File not found: " + e.getMessage()); + throw e; + } catch (IOException e) { + Log.writeDataToLogFile(2, "IO Exception while loading: " + e.getMessage()); + throw e; } } } + diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgLogFile.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgLogFile.java index f20807e..be18b8e 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgLogFile.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgLogFile.java @@ -6,8 +6,6 @@ public final class CfgLogFile extends CustomConceptConfig { - public static CfgLogFile instance; - public CfgLogFile(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgPlayer.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgPlayer.java index 2883836..e57c18b 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgPlayer.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgPlayer.java @@ -6,8 +6,6 @@ public final class CfgPlayer extends CustomConceptConfig { - public static CfgPlayer instance; - public CfgPlayer(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgRenderNightConfig.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgRenderNightConfig.java index a2728ab..30e9554 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgRenderNightConfig.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgRenderNightConfig.java @@ -6,8 +6,6 @@ public final class CfgRenderNightConfig extends CustomConceptConfig { - public static CfgRenderNightConfig instance; - public CfgRenderNightConfig(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWindowTitle.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWindowTitle.java index 9233aff..2bf5f80 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWindowTitle.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWindowTitle.java @@ -6,8 +6,6 @@ public final class CfgWindowTitle extends CustomConceptConfig { - public static CfgWindowTitle instance; - public CfgWindowTitle(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldGenerator.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldGenerator.java index 135976f..4618ea9 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldGenerator.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldGenerator.java @@ -6,8 +6,6 @@ public final class CfgWorldGenerator extends CustomConceptConfig { - public static CfgWorldGenerator instance; - public CfgWorldGenerator(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldTime.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldTime.java index 5f65092..5069632 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldTime.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgWorldTime.java @@ -6,8 +6,6 @@ public final class CfgWorldTime extends CustomConceptConfig { - public static CfgWorldTime instance; - public CfgWorldTime(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgZombieDropItem.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgZombieDropItem.java index 4c5ca8b..6903d20 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgZombieDropItem.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CfgZombieDropItem.java @@ -6,8 +6,6 @@ public final class CfgZombieDropItem extends CustomConceptConfig { - public static CfgZombieDropItem instance; - public CfgZombieDropItem(String nameConfigFile) throws IOException { super(nameConfigFile); diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CustomConceptConfig.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CustomConceptConfig.java index a2b823c..8ffb715 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CustomConceptConfig.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/CustomConceptConfig.java @@ -3,6 +3,7 @@ import com.google.gson.*; import com.google.gson.stream.JsonReader; import org.imesense.dynamicspawncontrol.DynamicSpawnControl; +import org.imesense.dynamicspawncontrol.technical.customlibrary.Log; import javax.annotation.Nonnull; import java.io.*; @@ -22,8 +23,12 @@ protected String constructPathToDirectory() DynamicSpawnControl.STRUCT_FILES_DIRS.NAME_DIR_CONFIGS + File.separator; } - public CustomConceptConfig(String nameConfigFile) throws IOException + public CustomConceptConfig(String nameConfigFile) { + Log.writeDataToLogFile(0, "nameConfigFile: " + nameConfigFile); + this.nameConfig = this.constructPathToDirectory() + nameConfigFile; + + Log.writeDataToLogFile(0, "this.nameConfig: " + this.nameConfig); } } diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/cfgGameDebugger/DataCategories.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/cfgGameDebugger/DataCategories.java index 7ec8bae..aa8977d 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/cfgGameDebugger/DataCategories.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/configs/cfgGameDebugger/DataCategories.java @@ -1,54 +1,165 @@ package org.imesense.dynamicspawncontrol.technical.configs.cfgGameDebugger; +import org.imesense.dynamicspawncontrol.debug.CodeGenericUtils; + import javax.annotation.Nonnull; public class DataCategories { + /** + * + */ public static final class DebugMonitor { final String setCategory; public static DebugMonitor instance; - private boolean monitorDebug = false; + private Boolean debug_monitor_cache = false; public DebugMonitor(@Nonnull final String category) { this.setCategory = category; + + CodeGenericUtils.printInitClassToLog(this.getClass()); } - public Boolean getDebugMonitorOpt() + public Boolean getDebugMonitorCache() { - return monitorDebug; + return this.debug_monitor_cache; } - public void setDebugMonitorOpt(Boolean monitorDebug) + public void setDebugMonitorCache(Boolean value) { - this.monitorDebug = monitorDebug; + this.debug_monitor_cache = value; } } + /** + * + */ public static final class DebugEvent { final String setCategory; public static DebugEvent instance; - private boolean drop_all_experience = false; + private Boolean debug_on_block_break = false; + private Boolean debug_on_block_place = false; + private Boolean debug_on_entity_spawn = false; + private Boolean debug_on_left_click = false; + private Boolean debug_on_living_drops = false; + private Boolean debug_on_living_experience_drop = false; + private Boolean debug_on_task_manager = false; + private Boolean debug_on_player_tick = false; + private Boolean debug_on_potential_spawn = false; + private Boolean debug_on_right_click = false; public DebugEvent(@Nonnull final String category) { this.setCategory = category; + + CodeGenericUtils.printInitClassToLog(this.getClass()); + } + + public Boolean getDebugOnBlockBreak() + { + return this.debug_on_block_break; + } + + public void setDebugOnBlockBreak(Boolean value) + { + this.debug_on_block_break = value; + } + + public Boolean getDebugOnBlockPlace() + { + return this.debug_on_block_place; + } + + public void setDebugOnBlockPlace(Boolean value) + { + this.debug_on_block_place = value; + } + + public Boolean getDebugOnEntitySpawn() + { + return this.debug_on_entity_spawn; + } + + public void setDebugOnEntitySpawn(Boolean value) + { + this.debug_on_entity_spawn = value; + } + + public Boolean getDebugOnLeftClick() + { + return this.debug_on_left_click; + } + + public void setDebugOnLeftClick(Boolean value) + { + this.debug_on_left_click = value; + } + + public Boolean getDebugOnLivingDrops() + { + return this.debug_on_living_drops; + } + + public void setDebugOnLivingDrops(Boolean value) + { + this.debug_on_living_drops = value; + } + + public Boolean getDebugOnLivingExperienceDrop() + { + return this.debug_on_living_experience_drop; + } + + public void setDebugOnLivingExperienceDrop(Boolean value) + { + this.debug_on_living_experience_drop = value; + } + + public Boolean getDebugOnTaskManager() + { + return this.debug_on_task_manager; + } + + public void setDebugOnTaskManager(Boolean value) + { + this.debug_on_task_manager = value; + } + + public Boolean getDebugOnPlayerTick() + { + return this.debug_on_player_tick; + } + + public void setDebugOnPlayerTick(Boolean value) + { + this.debug_on_player_tick = value; + } + + public Boolean getDebugOnPotentialSpawn() + { + return this.debug_on_potential_spawn; + } + + public void setDebugOnPotentialSpawn(Boolean value) + { + this.debug_on_potential_spawn = value; } - public Boolean getDebugDropAllExpOpt() + public Boolean getDebugOnRightClick() { - return this.drop_all_experience; + return this.debug_on_right_click; } - public void setDebugDropAllExpOpt(Boolean drop_all_experience) + public void setDebugOnRightClick(Boolean value) { - this.drop_all_experience = drop_all_experience; + this.debug_on_right_click = value; } } } diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/customlibrary/AnnotationDCSJson.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/customlibrary/AnnotationDCSJson.java new file mode 100644 index 0000000..b88db23 --- /dev/null +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/customlibrary/AnnotationDCSJson.java @@ -0,0 +1,13 @@ +package org.imesense.dynamicspawncontrol.technical.customlibrary; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * + */ +@Retention(RetentionPolicy.RUNTIME) +public @interface AnnotationDCSJson +{ + String fileName(); +} diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/initializer/RegisterCfgClasses.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/initializer/RegisterCfgClasses.java index 9b2b3d9..6e5a3db 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/initializer/RegisterCfgClasses.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/initializer/RegisterCfgClasses.java @@ -4,73 +4,63 @@ import org.imesense.dynamicspawncontrol.technical.configs.*; import org.imesense.dynamicspawncontrol.technical.customlibrary.Log; +import java.lang.reflect.Constructor; +import java.util.HashMap; +import java.util.Map; + /** * */ -public final class RegisterCfgClasses -{ - /** - * - */ - private static final Class[] CONFIG_CLASSES = - { - CfgRenderNightConfig.class, - CfgCacheWorldGame.class, - CfgGameDebugger.class, - CfgLogFile.class, - CfgPlayer.class, - CfgWindowTitle.class, - CfgWorldGenerator.class, - CfgWorldTime.class, - CfgZombieDropItem.class +public final class RegisterCfgClasses { + private static final Class[] CONFIG_CLASSES = { + //CfgRenderNightConfig.class, + //CfgCacheWorldGame.class, + CfgGameDebugger.class//, + //CfgLogFile.class, + //CfgPlayer.class, + //CfgWindowTitle.class, + //CfgWorldGenerator.class, + //CfgWorldTime.class, + //CfgZombieDropItem.class }; - /** - * - */ - private static final String[] CONFIG_FILE_NAMES = - { - "darkness_config.json", - "cache_world_game_config.json", - "game_debugger_config.json", - "log_file_config.json", - "player_config.json", - "window_config.json", - "ore_generator_config.json", - "world_time_config.json", - "zombie_drop_config.json" + // Массив имен файлов конфигурации + private static final String[] CONFIG_FILE_NAMES = { + //"darkness_config.json", + //"cache_world_game_config.json", + "game_debugger_config.json"//, + //"log_file_config.json", + //"player_config.json", + //"window_config.json", + //"ore_generator_config.json", + //"world_time_config.json", + //"zombie_drop_config.json" }; - /** - * - */ - public RegisterCfgClasses() - { + public RegisterCfgClasses() { CodeGenericUtils.printInitClassToLog(RegisterCfgClasses.class); } - /** - * - */ - public static void initializeConfigs() - { - for (int i = 0; i < CONFIG_CLASSES.length; i++) - { - Class configClass = CONFIG_CLASSES[i]; - String configFileName = CONFIG_FILE_NAMES[i]; + public static void initializeConfigs() { + for (int i = 0; i < CONFIG_CLASSES.length; i++) { + initializeConfig(CONFIG_CLASSES[i], CONFIG_FILE_NAMES[i]); + } + } + + private static void initializeConfig(Class configClass, String configFileName) { + try { + Constructor constructor = configClass.getConstructor(String.class); + T configInstance = constructor.newInstance(configFileName); + + Log.writeDataToLogFile(0, "Test: " + configInstance); - try - { - Object configInstance = - configClass.getConstructor(String.class).newInstance(configFileName); + Log.writeDataToLogFile(0, "configClass: " + configClass + " " + configInstance); - configClass.getField("instance").set(null, configInstance); - } - catch (Exception exception) - { - Log.writeDataToLogFile(2, "Exception in class: " + configClass.getName() + " - " + exception.getMessage()); - throw new RuntimeException(exception); - } + } catch (NoSuchMethodException e) { + Log.writeDataToLogFile(2, "Constructor with String parameter not found in class: " + configClass.getName() + " - " + e.getMessage()); + } catch (Exception e) { + Log.writeDataToLogFile(2, "Exception in class: " + configClass.getName() + " - " + e.getMessage()); + throw new RuntimeException(e); } } } diff --git a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/worldcache/CacheEvents.java b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/worldcache/CacheEvents.java index 33e8a88..1bda3e4 100644 --- a/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/worldcache/CacheEvents.java +++ b/dynamicspawncontrol-1.12.2/src/main/java/org/imesense/dynamicspawncontrol/technical/worldcache/CacheEvents.java @@ -22,7 +22,9 @@ import org.imesense.dynamicspawncontrol.debug.CodeGenericUtils; import org.imesense.dynamicspawncontrol.technical.configs.CfgGameDebugger; import org.imesense.dynamicspawncontrol.technical.configs.ConfigGameDebugger; +import org.imesense.dynamicspawncontrol.technical.configs.cfgGameDebugger.DataCategories; import org.imesense.dynamicspawncontrol.technical.customlibrary.Log; +import org.imesense.dynamicspawncontrol.technical.initializer.RegisterCfgClasses; import java.util.HashSet; @@ -95,10 +97,13 @@ public synchronized void onPlayerLoggedOut_2(PlayerEvent.PlayerLoggedOutEvent ev @SubscribeEvent(priority = EventPriority.LOW) public synchronized void onRenderOverlay_3(RenderGameOverlayEvent.Post event) { - if (!CfgGameDebugger.instance.getMonitor().getDebugMonitorOpt()) - { + boolean debugOption = DataCategories.DebugMonitor.instance.getDebugMonitorCache(); + if (!debugOption) + { + return; } + //if (!ConfigGameDebugger.DebugMonitorCache) //{ // return;