From 13b5a6bbfb246906caf98c77589718fefa091084 Mon Sep 17 00:00:00 2001 From: sowgro Date: Thu, 4 Jul 2024 02:45:57 -0400 Subject: Fix default config loading and og_guide config --- OG_GUIDE.md | 8 +++---- .../MylesAndMore/Tumble/config/ArenaManager.java | 13 +++++------ .../MylesAndMore/Tumble/config/ConfigManager.java | 9 +++++--- .../Tumble/config/LanguageManager.java | 9 +++++--- .../java/com/MylesAndMore/Tumble/game/Layers.java | 2 +- .../MylesAndMore/Tumble/plugin/CustomConfig.java | 1 + src/main/resources/arenas.yml | 25 ++-------------------- 7 files changed, 27 insertions(+), 40 deletions(-) diff --git a/OG_GUIDE.md b/OG_GUIDE.md index 1ddf924..f7302a1 100644 --- a/OG_GUIDE.md +++ b/OG_GUIDE.md @@ -39,7 +39,7 @@ In this guide, I'll go over how to set up the Tumble plugin with the original ga winner-lobby: x: -362.5 y: 76 - Z: -340.5 + z: -340.5 world: lobby birthday: kill-at-y: 27 @@ -56,7 +56,7 @@ In this guide, I'll go over how to set up the Tumble plugin with the original ga winner-lobby: x: -362.5 y: 76 - Z: -340.5 + z: -340.5 world: lobby festive: kill-at-y: 20 @@ -73,7 +73,7 @@ In this guide, I'll go over how to set up the Tumble plugin with the original ga winner-lobby: x: -362.5 y: 76 - Z: -340.5 + z: -340.5 world: lobby halloween: kill-at-y: 23 @@ -90,7 +90,7 @@ In this guide, I'll go over how to set up the Tumble plugin with the original ga winner-lobby: x: -362.5 y: 76 - Z: -340.5 + z: -340.5 world: lobby ``` 8. Reload the plugin with `/tmbl reload`. diff --git a/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java b/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java index 186184c..00bc2e6 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/ArenaManager.java @@ -20,17 +20,19 @@ import static com.MylesAndMore.Tumble.Main.plugin; * Manages arenas.yml and stores list of arenas */ public class ArenaManager { - public HashMap arenas; - private final CustomConfig arenasYml = new CustomConfig("arenas.yml"); - private final FileConfiguration config = arenasYml.getConfig(); + private final CustomConfig arenasYml; + private final FileConfiguration config; /** * Create an ArenaManager */ public ArenaManager() { + arenasYml = new CustomConfig("arenas.yml"); arenasYml.saveDefaultConfig(); + config = arenasYml.getConfig(); + readConfig(); } @@ -38,14 +40,13 @@ public class ArenaManager { * Read arenas from arenas.ynl and populate this.arenas */ public void readConfig() { + arenas = new HashMap<>(); - // arenas ConfigurationSection arenasSection = config.getConfigurationSection("arenas"); if (arenasSection == null) { - plugin.getLogger().warning("config.yml is missing key 'arenas'"); + plugin.getLogger().warning("arenas.yml is missing key 'arenas'"); return; } - arenas = new HashMap<>(); for (String arenaName: arenasSection.getKeys(false)) { Arena arena = new Arena(arenaName); diff --git a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java index 13cc779..d0510c9 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/ConfigManager.java @@ -14,15 +14,18 @@ public class ConfigManager { public boolean HideLeaveJoin; public int waitDuration; - private final CustomConfig configYml = new CustomConfig("config.yml"); - private final Configuration config = configYml.getConfig(); - private final Configuration defaultConfig = Objects.requireNonNull(config.getDefaults()); + private final Configuration config; + private final Configuration defaultConfig; /** * Create a config manager */ public ConfigManager() { + CustomConfig configYml = new CustomConfig("config.yml"); configYml.saveDefaultConfig(); + config = configYml.getConfig(); + defaultConfig = Objects.requireNonNull(config.getDefaults()); + validate(); readConfig(); } diff --git a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java index 7c82664..2b11edc 100644 --- a/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java +++ b/src/main/java/com/MylesAndMore/Tumble/config/LanguageManager.java @@ -12,15 +12,18 @@ import static com.MylesAndMore.Tumble.Main.plugin; * Manages language.yml and allows retrieval of keys */ public class LanguageManager { - private final CustomConfig languageYml = new CustomConfig("language.yml"); - private final Configuration config = languageYml.getConfig(); - private final Configuration defaultConfig = Objects.requireNonNull(config.getDefaults()); + private final Configuration config; + private final Configuration defaultConfig; /** * Creates a new LanguageManager */ public LanguageManager() { + CustomConfig languageYml = new CustomConfig("language.yml"); languageYml.saveDefaultConfig(); + config = languageYml.getConfig(); + defaultConfig = Objects.requireNonNull(config.getDefaults()); + validate(); } diff --git a/src/main/java/com/MylesAndMore/Tumble/game/Layers.java b/src/main/java/com/MylesAndMore/Tumble/game/Layers.java index 99f3aef..8954732 100644 --- a/src/main/java/com/MylesAndMore/Tumble/game/Layers.java +++ b/src/main/java/com/MylesAndMore/Tumble/game/Layers.java @@ -206,7 +206,7 @@ public class Layers { }}; matList.add(gen12); List gen14 = new ArrayList<>() {{ - add(Material.LECTERN); + add(Material.OAK_PLANKS); add(Material.OBSIDIAN); add(Material.SPONGE); add(Material.BEEHIVE); diff --git a/src/main/java/com/MylesAndMore/Tumble/plugin/CustomConfig.java b/src/main/java/com/MylesAndMore/Tumble/plugin/CustomConfig.java index 8ef4638..0ebc82f 100644 --- a/src/main/java/com/MylesAndMore/Tumble/plugin/CustomConfig.java +++ b/src/main/java/com/MylesAndMore/Tumble/plugin/CustomConfig.java @@ -59,6 +59,7 @@ public class CustomConfig { public void saveDefaultConfig() { if (!configFile.exists()) { plugin.saveResource(fileName, false); + reloadConfig(); } } } diff --git a/src/main/resources/arenas.yml b/src/main/resources/arenas.yml index 7b902be..3b755c3 100644 --- a/src/main/resources/arenas.yml +++ b/src/main/resources/arenas.yml @@ -1,23 +1,2 @@ -arenas: - 'test': - kill-at-y: 5 - game-spawn: - x: 100 - y: 100 - z: 100 - world: world - lobby: - x: 0.5 - y: 100 - z: 0.5 - world: world - winner-lobby: - x: 0.5 - y: 100 - z: 0.5 - world: world - wait-arena: - x: 0.5 - y: 100 - z: 0.5 - world: world \ No newline at end of file +# NOTE: Coordinates cannot be zero! Use something like 0.5 +arenas: {} \ No newline at end of file -- cgit v1.2.3