diff --git a/api/src/main/java/net/momirealms/customcrops/api/BukkitCustomCropsPlugin.java b/api/src/main/java/net/momirealms/customcrops/api/BukkitCustomCropsPlugin.java index 476d798..d1c674f 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/BukkitCustomCropsPlugin.java +++ b/api/src/main/java/net/momirealms/customcrops/api/BukkitCustomCropsPlugin.java @@ -47,6 +47,7 @@ public abstract class BukkitCustomCropsPlugin implements CustomCropsPlugin { private static BukkitCustomCropsPlugin instance; private final Plugin boostrap; + protected static boolean isReloading = false; protected AbstractJavaScheduler scheduler; protected DependencyManager dependencyManager; @@ -261,4 +262,13 @@ public abstract class BukkitCustomCropsPlugin implements CustomCropsPlugin { public File getDataFolder() { return boostrap.getDataFolder(); } + + /** + * If the plugin is currently reloading + * + * @return is reloading or not + */ + public static boolean isReloading() { + return isReloading; + } } diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/block/CropBlock.java b/api/src/main/java/net/momirealms/customcrops/api/core/block/CropBlock.java index 3135a2a..8ae1568 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/block/CropBlock.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/block/CropBlock.java @@ -79,7 +79,9 @@ public class CropBlock extends AbstractCustomCropsBlock { Location location = LocationUtils.toBlockLocation(event.location()); Pos3 pos3 = Pos3.from(location); if (configs == null || configs.isEmpty()) { - world.removeBlockState(pos3); + if (!BukkitCustomCropsPlugin.isReloading()) { + world.removeBlockState(pos3); + } return; } diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/block/PotBlock.java b/api/src/main/java/net/momirealms/customcrops/api/core/block/PotBlock.java index d934439..fc17028 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/block/PotBlock.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/block/PotBlock.java @@ -89,7 +89,9 @@ public class PotBlock extends AbstractCustomCropsBlock { Pos3 pos3 = Pos3.from(location); PotConfig config = Registries.ITEM_TO_POT.get(event.brokenID()); if (config == null) { - world.removeBlockState(pos3); + if (!BukkitCustomCropsPlugin.isReloading()) { + world.removeBlockState(pos3); + } return; } diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/block/SprinklerBlock.java b/api/src/main/java/net/momirealms/customcrops/api/core/block/SprinklerBlock.java index 008d7fb..fe42ce8 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/block/SprinklerBlock.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/block/SprinklerBlock.java @@ -77,7 +77,9 @@ public class SprinklerBlock extends AbstractCustomCropsBlock { Pos3 pos3 = Pos3.from(location); SprinklerConfig config = Registries.ITEM_TO_SPRINKLER.get(event.brokenID()); if (config == null) { - world.removeBlockState(pos3); + if (!BukkitCustomCropsPlugin.isReloading()) { + world.removeBlockState(pos3); + } return; } 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 9e84467..4615650 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java @@ -221,6 +221,7 @@ public class BukkitCustomCropsPluginImpl extends BukkitCustomCropsPlugin { @Override public void reload() { + isReloading = true; this.worldManager.unload(); @@ -242,6 +243,8 @@ public class BukkitCustomCropsPluginImpl extends BukkitCustomCropsPlugin { WorldEditHook.unregister(); } EventUtils.fireAndForget(new CustomCropsReloadEvent(this)); + + isReloading = false; } private void registerDefaultMechanics() { diff --git a/plugin/src/main/java/net/momirealms/customcrops/bukkit/config/BukkitConfigManager.java b/plugin/src/main/java/net/momirealms/customcrops/bukkit/config/BukkitConfigManager.java index 755652d..322d59c 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/config/BukkitConfigManager.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/config/BukkitConfigManager.java @@ -248,9 +248,10 @@ public class BukkitConfigManager extends ConfigManager { Registries.ITEM_TO_POT.clear(); Registries.FERTILIZER.clear(); - Registries.ITEM_TO_SPRINKLER.clear(); + Registries.ITEM_TO_FERTILIZER.clear(); Registries.WATERING_CAN.clear(); + Registries.ITEM_TO_WATERING_CAN.clear(); Registries.ITEMS.clear(); Registries.BLOCKS.clear();