aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/task/TaskHost.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/task/TaskHost.java')
-rw-r--r--src/main/java/gregtech/api/task/TaskHost.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/task/TaskHost.java b/src/main/java/gregtech/api/task/TaskHost.java
new file mode 100644
index 0000000000..d6377949c1
--- /dev/null
+++ b/src/main/java/gregtech/api/task/TaskHost.java
@@ -0,0 +1,18 @@
+package gregtech.api.task;
+
+import javax.annotation.Nonnull;
+
+import org.jetbrains.annotations.ApiStatus;
+
+/**
+ * Classes implementing this interface can have {@link TickableTask} to run. Tasks with conflicting name should not be
+ * allowed, to prevent them from overwriting others' NBT load/save.
+ */
+public interface TaskHost {
+
+ /**
+ * This method should be called ONLY by {@link TickableTask} constructor.
+ */
+ @ApiStatus.OverrideOnly
+ void registerTask(@Nonnull TickableTask<?> task);
+}