mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-09 17:26:07 +00:00
Fix reloading issues
This commit is contained in:
@@ -71,12 +71,17 @@ public class Terra extends GaeaPlugin {
|
||||
private final ConfigRegistry registry = new ConfigRegistry();
|
||||
private final PluginConfig config = new PluginConfig();
|
||||
|
||||
public void invalidate() {
|
||||
public void reload() {
|
||||
Map<World, TerraWorld> newMap = new HashMap<>();
|
||||
worldMap.forEach((world, tw) -> {
|
||||
String packID = tw.getConfig().getTemplate().getID();
|
||||
newMap.put(world, new TerraWorld(world, registry.get(packID)));
|
||||
});
|
||||
worldMap.clear();
|
||||
worlds.clear();
|
||||
registry.clear();
|
||||
worldMap.putAll(newMap);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
TerraChunkGenerator.saveAll();
|
||||
|
||||
@@ -29,8 +29,11 @@ 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) {
|
||||
((Terra) getMain()).getTerraConfig().load(getMain());
|
||||
LangUtil.load(((Terra) getMain()).getTerraConfig().getLanguage(), getMain()); // Load language.
|
||||
if(!((Terra) getMain()).getRegistry().loadAll((Terra) getMain())) LangUtil.send("command.reload-error", sender);
|
||||
((Terra) getMain()).invalidate();
|
||||
if(!((Terra) getMain()).getRegistry().loadAll((Terra) getMain())) {
|
||||
LangUtil.send("command.reload-error", sender);
|
||||
return true;
|
||||
}
|
||||
((Terra) getMain()).reload();
|
||||
LangUtil.send("command.reload", sender);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user