aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/task/TaskHost.java
blob: d6377949c16bbf0a5bdfeeb60f50a9ae1e84adab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
}