mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-26 10:29:10 +00:00
delay world init
This commit is contained in:
@@ -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());
|
||||
};
|
||||
|
||||
@@ -39,6 +39,7 @@ public class ReloadCommand extends BukkitCommandFeature<CommandSender> {
|
||||
.handler(context -> {
|
||||
long time1 = System.currentTimeMillis();
|
||||
BukkitCustomCropsPlugin.getInstance().reload();
|
||||
BukkitCustomCropsPlugin.getInstance().getWorldManager().reloadWorlds();
|
||||
handleFeedback(context, MessageConstants.COMMAND_RELOAD_SUCCESS, Component.text(System.currentTimeMillis() - time1));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user