diff --git a/API/src/main/java/com/bgsoftware/superiorskyblock/api/modules/PluginModule.java b/API/src/main/java/com/bgsoftware/superiorskyblock/api/modules/PluginModule.java index 69118517f..ae2473ce6 100644 --- a/API/src/main/java/com/bgsoftware/superiorskyblock/api/modules/PluginModule.java +++ b/API/src/main/java/com/bgsoftware/superiorskyblock/api/modules/PluginModule.java @@ -61,6 +61,17 @@ protected PluginModule(String moduleName, String authorName) { */ public abstract void onDisable(SuperiorSkyblock plugin); + /** + * Called when the module can load data about players. + * It's called after the plugin's data is loaded. + *

+ * This is similar to load data when {@link com.bgsoftware.superiorskyblock.api.events.PluginInitializedEvent} + * is fired. + */ + public void loadData() { + + } + /** * Called when the module initialized for the first time. * diff --git a/src/main/java/com/bgsoftware/superiorskyblock/SuperiorSkyblockPlugin.java b/src/main/java/com/bgsoftware/superiorskyblock/SuperiorSkyblockPlugin.java index dfed89795..4a325e550 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/SuperiorSkyblockPlugin.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/SuperiorSkyblockPlugin.java @@ -7,6 +7,7 @@ import com.bgsoftware.superiorskyblock.api.island.Island; import com.bgsoftware.superiorskyblock.api.island.SortingType; import com.bgsoftware.superiorskyblock.api.modules.ModuleLoadTime; +import com.bgsoftware.superiorskyblock.api.modules.PluginModule; import com.bgsoftware.superiorskyblock.api.scripts.IScriptEngine; import com.bgsoftware.superiorskyblock.api.world.event.WorldEventsManager; import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; @@ -510,6 +511,7 @@ public void reloadPlugin(boolean loadGrid) throws HandlerLoadException { dataHandler.loadData(); stackedBlocksHandler.loadData(); SortingType.values().forEach(gridHandler::sortIslands); + modulesHandler.getModules().forEach(PluginModule::loadData); } else { modulesHandler.getModules().forEach(pluginModule -> pluginModule.onReload(this)); }