public class EntityAITasks
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
EntityAITasks.EntityAITaskEntry |
Modifier and Type | Field and Description |
---|---|
private java.util.List<EntityAITasks.EntityAITaskEntry> |
executingTaskEntries |
private static org.apache.logging.log4j.Logger |
logger |
private java.util.List<EntityAITasks.EntityAITaskEntry> |
taskEntries |
private Profiler |
theProfiler
Instance of Profiler.
|
private int |
tickCount |
private int |
tickRate |
Constructor and Description |
---|
EntityAITasks(Profiler profilerIn) |
Modifier and Type | Method and Description |
---|---|
void |
addTask(int priority,
EntityAIBase task)
Add a now AITask.
|
private boolean |
areTasksCompatible(EntityAITasks.EntityAITaskEntry taskEntry1,
EntityAITasks.EntityAITaskEntry taskEntry2)
Returns whether two EntityAITaskEntries can be executed concurrently
|
private boolean |
canContinue(EntityAITasks.EntityAITaskEntry taskEntry)
Determine if a specific AI Task should continue being executed.
|
private boolean |
canUse(EntityAITasks.EntityAITaskEntry taskEntry)
Determine if a specific AI Task can be executed, which means that all running higher (= lower int value) priority
tasks are compatible with it or all lower priority tasks can be interrupted.
|
void |
onUpdateTasks() |
void |
removeTask(EntityAIBase task)
removes the indicated task from the entity's AI tasks.
|
private static final org.apache.logging.log4j.Logger logger
private java.util.List<EntityAITasks.EntityAITaskEntry> taskEntries
private java.util.List<EntityAITasks.EntityAITaskEntry> executingTaskEntries
private final Profiler theProfiler
private int tickCount
private int tickRate
public EntityAITasks(Profiler profilerIn)
public void addTask(int priority, EntityAIBase task)
public void removeTask(EntityAIBase task)
public void onUpdateTasks()
private boolean canContinue(EntityAITasks.EntityAITaskEntry taskEntry)
private boolean canUse(EntityAITasks.EntityAITaskEntry taskEntry)
private boolean areTasksCompatible(EntityAITasks.EntityAITaskEntry taskEntry1, EntityAITasks.EntityAITaskEntry taskEntry2)