From 4b7b0ee7e939a729a61ecb45bb8674d65cb3be61 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 27 Nov 2020 15:53:52 -0700 Subject: [PATCH] live reloading --- src/main/java/com/dfsek/terra/command/ReloadCommand.java | 2 ++ src/main/java/com/dfsek/terra/registry/ConfigRegistry.java | 4 ++-- src/main/java/com/dfsek/terra/registry/TerraRegistry.java | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/dfsek/terra/command/ReloadCommand.java b/src/main/java/com/dfsek/terra/command/ReloadCommand.java index cd0af07ec..d21c19e35 100644 --- a/src/main/java/com/dfsek/terra/command/ReloadCommand.java +++ b/src/main/java/com/dfsek/terra/command/ReloadCommand.java @@ -3,6 +3,7 @@ package com.dfsek.terra.command; import com.dfsek.terra.TerraWorld; import com.dfsek.terra.config.base.PluginConfig; import com.dfsek.terra.config.lang.LangUtil; +import com.dfsek.terra.registry.ConfigRegistry; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; import org.polydev.gaea.command.Command; @@ -30,6 +31,7 @@ public class ReloadCommand extends Command implements DebugCommand { public boolean execute(@NotNull CommandSender sender, org.bukkit.command.@NotNull Command command, @NotNull String label, @NotNull String[] args) { PluginConfig.load(getMain()); LangUtil.load(PluginConfig.getLanguage(), getMain()); // Load language. + ConfigRegistry.loadAll(getMain()); TerraWorld.invalidate(); LangUtil.send("command.reload", sender); return true; diff --git a/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java b/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java index c9f60b44d..5d481fc06 100644 --- a/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java +++ b/src/main/java/com/dfsek/terra/registry/ConfigRegistry.java @@ -1,8 +1,8 @@ package com.dfsek.terra.registry; import com.dfsek.tectonic.exception.ConfigException; -import com.dfsek.terra.Terra; import com.dfsek.terra.config.base.ConfigPack; +import org.bukkit.plugin.java.JavaPlugin; import java.io.File; @@ -26,7 +26,7 @@ public class ConfigRegistry extends TerraRegistry { add(pack.getTemplate().getID(), pack); } - public static void loadAll(Terra main) { + public static void loadAll(JavaPlugin main) { File packsFolder = new File(main.getDataFolder(), "packs"); for(File dir : packsFolder.listFiles(File::isDirectory)) { try { diff --git a/src/main/java/com/dfsek/terra/registry/TerraRegistry.java b/src/main/java/com/dfsek/terra/registry/TerraRegistry.java index be7c0b3cd..2284320ee 100644 --- a/src/main/java/com/dfsek/terra/registry/TerraRegistry.java +++ b/src/main/java/com/dfsek/terra/registry/TerraRegistry.java @@ -62,4 +62,11 @@ public abstract class TerraRegistry implements TypeLoader { public Set entries() { return new HashSet<>(objects.values()); } + + /** + * Clears all entries from the registry. + */ + public void clear() { + objects.clear(); + } }