diff --git a/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java b/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java index 88b18f2a..faa85cbf 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java +++ b/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java @@ -167,7 +167,7 @@ public abstract class EcoPlugin extends JavaPlugin implements PluginLike, Regist /** * The tasks to run on task creation. */ - private final ListMap createTasks = new ListMap<>(); + private final ListMap onCreateTasks = new ListMap<>(); /** * Create a new plugin. @@ -638,7 +638,7 @@ public abstract class EcoPlugin extends JavaPlugin implements PluginLike, Regist this.handleLifecycle(this.onReload, this::handleReload); if (cancelTasks) { - this.handleLifecycle(this.createTasks, this::createTasks); + this.handleLifecycle(this.onCreateTasks, this::createTasks); } for (Extension extension : this.extensionLoader.getLoadedExtensions()) { @@ -666,6 +666,26 @@ public abstract class EcoPlugin extends JavaPlugin implements PluginLike, Regist this.onReload.append(position, task); } + /** + * Add new task to run on createTasks. + * + * @param task The task. + */ + public final void onCreateTasks(@NotNull final Runnable task) { + this.onCreateTasks(LifecyclePosition.END, task); + } + + /** + * Add new task to run on createTasks. + * + * @param position The position to run the task. + * @param task The task. + */ + public final void onCreateTasks(@NotNull final LifecyclePosition position, + @NotNull final Runnable task) { + this.onCreateTasks.append(position, task); + } + /** * Reload the plugin and return the time taken to reload. *