diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldManager.java b/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldManager.java index 11d9dff..a4f4f11 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldManager.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldManager.java @@ -55,6 +55,8 @@ public interface WorldManager extends Reloadable { */ int getDate(World world); + void reloadWorlds(); + /** * Loads a CustomCrops world * diff --git a/gradle.properties b/gradle.properties index 71262e0..933ae8b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # Project settings # Rule: [major update].[feature update].[bug fix] -project_version=3.6.39 +project_version=3.6.40 config_version=42 project_group=net.momirealms diff --git a/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java b/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java index b5d2930..3ccefee 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java @@ -188,8 +188,17 @@ public class BukkitCustomCropsPluginImpl extends BukkitCustomCropsPlugin { Runnable delayedInitTask = () -> { ((SimpleRegistryAccess) registryAccess).freeze(); - logger.info("Registry access has been frozen"); - this.integrationManager.delayedLoad(); + this.logger.info("Registry access has been frozen"); + try { + this.worldManager.reloadWorlds(); + } catch (Exception e) { + this.logger.severe("Failed to load worlds", e); + } + try { + this.integrationManager.delayedLoad(); + } catch (Exception e) { + this.logger.severe("Failed to load integrations", e); + } EventUtils.fireAndForget(new CustomCropsReloadEvent(this)); ((BukkitItemManager) itemManager).setAntiGriefLib(AntiGriefLib.builder((JavaPlugin) getBootstrap()).silentLogs(true).ignoreOP(true).build()); }; diff --git a/plugin/src/main/java/net/momirealms/customcrops/bukkit/command/feature/ReloadCommand.java b/plugin/src/main/java/net/momirealms/customcrops/bukkit/command/feature/ReloadCommand.java index 44c0ef4..6613fb7 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/command/feature/ReloadCommand.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/command/feature/ReloadCommand.java @@ -39,6 +39,7 @@ public class ReloadCommand extends BukkitCommandFeature { .handler(context -> { long time1 = System.currentTimeMillis(); BukkitCustomCropsPlugin.getInstance().reload(); + BukkitCustomCropsPlugin.getInstance().getWorldManager().reloadWorlds(); handleFeedback(context, MessageConstants.COMMAND_RELOAD_SUCCESS, Component.text(System.currentTimeMillis() - time1)); }); } diff --git a/plugin/src/main/java/net/momirealms/customcrops/bukkit/world/BukkitWorldManager.java b/plugin/src/main/java/net/momirealms/customcrops/bukkit/world/BukkitWorldManager.java index 7ab124a..05ab6f9 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/world/BukkitWorldManager.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/world/BukkitWorldManager.java @@ -128,9 +128,7 @@ public class BukkitWorldManager implements WorldManager, Listener { } @Override - public void load() { - this.loadConfig(); - Bukkit.getPluginManager().registerEvents(this, plugin.getBootstrap()); + public void reloadWorlds() { // load and unload worlds for (World world : Bukkit.getWorlds()) { if (isMechanicEnabled(world)) { @@ -141,6 +139,12 @@ public class BukkitWorldManager implements WorldManager, Listener { } } + @Override + public void load() { + this.loadConfig(); + Bukkit.getPluginManager().registerEvents(this, plugin.getBootstrap()); + } + @Override public void unload() { HandlerList.unregisterAll(this);