diff --git a/api/src/main/java/net/momirealms/customcrops/api/integration/IntegrationManager.java b/api/src/main/java/net/momirealms/customcrops/api/integration/IntegrationManager.java index afc890b..340cc14 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/integration/IntegrationManager.java +++ b/api/src/main/java/net/momirealms/customcrops/api/integration/IntegrationManager.java @@ -100,4 +100,6 @@ public interface IntegrationManager extends Reloadable { */ @Nullable EntityProvider getEntityProvider(String id); + + void delayedLoad(); } diff --git a/compatibility-nexo-r1/build.gradle.kts b/compatibility-nexo-r1/build.gradle.kts index 0c4584f..f983da1 100644 --- a/compatibility-nexo-r1/build.gradle.kts +++ b/compatibility-nexo-r1/build.gradle.kts @@ -7,7 +7,7 @@ repositories { dependencies { compileOnly(project(":api")) compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT") - compileOnly("com.nexomc:nexo:1.1.0-dev.3") + compileOnly("com.nexomc:nexo:1.8.0-dev.24") } tasks.withType { 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 5409c40..b5d2930 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/BukkitCustomCropsPluginImpl.java @@ -189,6 +189,7 @@ public class BukkitCustomCropsPluginImpl extends BukkitCustomCropsPlugin { Runnable delayedInitTask = () -> { ((SimpleRegistryAccess) registryAccess).freeze(); logger.info("Registry access has been frozen"); + this.integrationManager.delayedLoad(); 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/integration/BukkitIntegrationManager.java b/plugin/src/main/java/net/momirealms/customcrops/bukkit/integration/BukkitIntegrationManager.java index 95461a4..a7cbd88 100644 --- a/plugin/src/main/java/net/momirealms/customcrops/bukkit/integration/BukkitIntegrationManager.java +++ b/plugin/src/main/java/net/momirealms/customcrops/bukkit/integration/BukkitIntegrationManager.java @@ -64,49 +64,9 @@ public class BukkitIntegrationManager implements IntegrationManager { @Override public void load() { registerEntityProvider(new VanillaEntityProvider()); - if (isHooked("MMOItems")) { - registerItemProvider(new MMOItemsItemProvider()); - } - if (isHooked("Zaphkiel")) { - registerItemProvider(new ZaphkielItemProvider()); - } - if (isHooked("ExecutableItems")) { - registerItemProvider(new ExecutableItemProvider()); - } - if (isHooked("NeigeItems")) { - registerItemProvider(new NeigeItemsItemProvider()); - } if (isHooked("ItemsAdder")) { registerEntityProvider(new ItemsAdderEntityProvider()); } - if (isHooked("CustomFishing", "2.2", "2.3", "2.4")) { - registerItemProvider(new CustomFishingItemProvider()); - } - if (isHooked("MythicMobs", "5")) { - registerItemProvider(new MythicMobsItemProvider()); - registerEntityProvider(new MythicEntityProvider()); - } - if (isHooked("EcoJobs")) { - registerLevelerProvider(new EcoJobsLevelerProvider()); - } - if (isHooked("EcoSkills")) { - registerLevelerProvider(new EcoSkillsLevelerProvider()); - } - if (isHooked("Jobs")) { - registerLevelerProvider(new JobsRebornLevelerProvider()); - } - if (isHooked("MMOCore")) { - registerLevelerProvider(new MMOCoreLevelerProvider()); - } - if (isHooked("mcMMO")) { - registerLevelerProvider(new McMMOLevelerProvider()); - } - if (isHooked("AureliumSkills")) { - registerLevelerProvider(new AureliumSkillsProvider()); - } - if (isHooked("AuraSkills")) { - registerLevelerProvider(new AuraSkillsLevelerProvider()); - } if (isHooked("RealisticSeasons")) { registerSeasonProvider(new RealisticSeasonsProvider()); } else if (isHooked("AdvancedSeasons", "1.4", "1.5", "1.6")) { @@ -132,6 +92,50 @@ public class BukkitIntegrationManager implements IntegrationManager { if (isHooked("WorldGuard", "7")) { WorldGuardRegion.register(); } + if (isHooked("MythicMobs", "5")) { + registerItemProvider(new MythicMobsItemProvider()); + registerEntityProvider(new MythicEntityProvider()); + } + } + + @Override + public void delayedLoad() { + if (isHooked("CustomFishing", "2.2", "2.3", "2.4")) { + registerItemProvider(new CustomFishingItemProvider()); + } + if (isHooked("EcoJobs")) { + registerLevelerProvider(new EcoJobsLevelerProvider()); + } + if (isHooked("EcoSkills")) { + registerLevelerProvider(new EcoSkillsLevelerProvider()); + } + if (isHooked("Jobs")) { + registerLevelerProvider(new JobsRebornLevelerProvider()); + } + if (isHooked("MMOCore")) { + registerLevelerProvider(new MMOCoreLevelerProvider()); + } + if (isHooked("mcMMO")) { + registerLevelerProvider(new McMMOLevelerProvider()); + } + if (isHooked("AureliumSkills")) { + registerLevelerProvider(new AureliumSkillsProvider()); + } + if (isHooked("AuraSkills")) { + registerLevelerProvider(new AuraSkillsLevelerProvider()); + } + if (isHooked("MMOItems")) { + registerItemProvider(new MMOItemsItemProvider()); + } + if (isHooked("Zaphkiel")) { + registerItemProvider(new ZaphkielItemProvider()); + } + if (isHooked("ExecutableItems")) { + registerItemProvider(new ExecutableItemProvider()); + } + if (isHooked("NeigeItems")) { + registerItemProvider(new NeigeItemsItemProvider()); + } } private boolean doesPluginExists(String hooked) {