net.minecraft.entity.ai.brain

public class Brain<E extends LivingEntity>

net.minecraft.world.entity.ai.Brain
net.minecraft.class_4095
net.minecraft.entity.ai.brain.Brain

Field summary

Modifier and TypeField
private static final int
SCHEDULE_UPDATE_DELAY
field_30096
ACTIVITY_REFRESH_COOLDOWN
private final Map<MemoryModuleType<?>, Memory<?>>
memories
field_18322
memories
private final Map<SensorType<? extends Sensor<? super E>>, Sensor<? super E>>
sensors
field_18323
sensors
private final Map<Integer, Map<Activity, Set<Task<? super E>>>>
availableBehaviorsByPriority
field_18324
tasks
private EnvironmentAttribute<Activity>
schedule
field_18325
schedule
private final Map<Activity, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryModuleState>>>
activityRequirements
field_18326
memoryConditionsByActivity
private final Map<Activity, Set<MemoryModuleType<?>>>
activityMemoriesToEraseWhenStopped
field_22282
forgettingActivityMemories
private Set<Activity>
coreActivities
field_18327
coreActivities
private final Set<Activity>
activeActivities
field_18328
possibleActivities
private Activity
defaultActivity
field_18329
defaultActivity
private long
lastScheduleUpdate
field_18853
activityStartTime

Constructor summary

ModifierConstructor
protected (Collection<? extends MemoryModuleType<?>> memories, Collection<? extends SensorType<? extends Sensor<? super E>>> sensors, List<TaskList<E>> taskLists, MemoryMap memoryMap, Random random)
public ()

Method summary

Modifier and TypeMethod
public static <E extends LivingEntity> Brain$Profile<E>
provider(Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes)
method_1_845(Collection<? extends class_4149<? extends class_4148<? super E>>> arg0)
createProfile(Collection<? extends SensorType<? extends Sensor<? super E>>> sensors)
public static <E extends LivingEntity> Brain$Profile<E>
provider(Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes, Brain$ActivitySupplier<E> activities)
method_1_1242(Collection<? extends class_4149<? extends class_4148<? super E>>> arg0, class_4095$class_1_141<E> arg1)
createProfile(Collection<? extends SensorType<? extends Sensor<? super E>>> sensors, Brain$TaskListsFactory<E> taskListFactory)
public static <E extends LivingEntity> Brain$Profile<E>
provider(Collection<? extends MemoryModuleType<?>> memoryTypes, Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes, Brain$ActivitySupplier<E> activities)
method_1_1241(Collection<? extends class_4140<?>> arg0, Collection<? extends class_4149<? extends class_4148<? super E>>> arg1, class_4095$class_1_141<E> arg2)
createProfile(Collection<? extends MemoryModuleType<?>> memories, Collection<? extends SensorType<? extends Sensor<? super E>>> sensors, Brain$TaskListsFactory<E> taskListFactory)
private void
registerMemory(MemoryModuleType<?> memoryType)
method_1_1659(class_4140<?> arg0)
initializeMemory(MemoryModuleType<?> type)
public Brain$State
pack()
method_1_1240()
createState()
private <T> Memory<T>
getMemorySlotIfPresent(MemoryModuleType<T> memoryType)
method_1_1657(class_4140<T> arg0)
getMemory(MemoryModuleType<T> type)
private <T> Memory<T>
getMemorySlot(MemoryModuleType<T> memoryType)
method_1_1656(class_4140<T> arg0)
getMemoryOrThrow(MemoryModuleType<T> type)
public boolean
hasMemoryValue(MemoryModuleType<?> type)
method_18896(class_4140<?> arg0)
hasMemoryModule(MemoryModuleType<?> type)
public void
clearMemories()
method_49709()
forgetAll()
public <U> void
eraseMemory(MemoryModuleType<U> type)
method_18875(class_4140<U> arg0)
forget(MemoryModuleType<U> type)
public <U> void
setMemory(MemoryModuleType<U> type, U value)
method_18878(class_4140<U> arg0, U arg1)
remember(MemoryModuleType<U> type, U value)
public <U> void
setMemoryWithExpiry(MemoryModuleType<U> type, U value, long timeToLive)
method_24525(class_4140<U> arg0, U arg1, long arg2)
remember(MemoryModuleType<U> type, U value, long expiry)
public <U> void
setMemory(MemoryModuleType<U> type, Optional<? extends U> optionalValue)
method_18879(class_4140<U> arg0, Optional<? extends U> arg1)
remember(MemoryModuleType<U> type, Optional<? extends U> value)
private <U> void
setMemoryInternal(MemoryMap$Value<U> value)
method_1_1243(class_1_151$class_1_152<U> arg0)
addMemory(MemoryMap$Entry<U> entry)
private <U> void
setMemoryInternal(MemoryModuleType<U> type, U value, long tileToLive)
method_1_1660(class_4140<U> arg0, U arg1, long arg2)
setMemory(MemoryModuleType<U> arg0, U arg1, long arg2)
private <U> void
setMemoryInternal(MemoryModuleType<U> type, U value)
method_24535(class_4140<U> arg0, U arg1)
setMemory(MemoryModuleType<U> type, U arg1)
public <U> Optional<U>
getMemory(MemoryModuleType<U> type)
method_18904(class_4140<U> arg0)
getOptionalRegisteredMemory(MemoryModuleType<U> type)
public <U> Optional<U>
getMemoryInternal(MemoryModuleType<U> type)
method_46873(class_4140<U> arg0)
getOptionalMemory(MemoryModuleType<U> type)
public <U> long
getTimeUntilExpiry(MemoryModuleType<U> type)
method_36978(class_4140<U> arg0)
getMemoryExpiry(MemoryModuleType<U> type)
public void
forEach(Brain$Visitor visitor)
method_1_1655(class_4095$class_1_188 arg0)
forEachMemory(Brain$MemoryConsumer callback)
private static <U> void
callVisitor(Brain$Visitor visitor, MemoryModuleType<U> memoryModuleType, MemorySlot<?> slot)
method_1_1654(class_4095$class_1_188 arg0, class_4140<U> arg1, class_4831<?> arg2)
callMemoryConsumer(Brain$MemoryConsumer callback, MemoryModuleType<U> type, Memory<?> memory)
public <U> boolean
isMemoryValue(MemoryModuleType<U> memoryType, U value)
method_29519(class_4140<U> arg0, U arg1)
hasMemoryModuleWithValue(MemoryModuleType<U> type, U value)
public boolean
checkMemory(MemoryModuleType<?> type, MemoryStatus status)
method_18876(class_4140<?> arg0, class_4141 arg1)
isMemoryInState(MemoryModuleType<?> type, MemoryModuleState state)
public void
setSchedule(EnvironmentAttribute<Activity> schedule)
method_18884(class_12197<class_4168> arg0)
setSchedule(EnvironmentAttribute<Activity> schedule)
public void
setCoreActivities(Set<Activity> activities)
method_18890(Set<class_4168> arg0)
setCoreActivities(Set<Activity> coreActivities)
public Set<Activity>
getActiveActivities()
method_35059()
getPossibleActivities()
public List<Task<? super E>>
getRunningBehaviors()
method_27074()
getRunningTasks()
public void
useDefaultActivity()
method_24536()
resetPossibleActivities()
public Optional<Activity>
getActiveNonCoreActivity()
method_24538()
getFirstPossibleNonCoreActivity()
public void
setActiveActivityIfPossible(Activity activity)
method_24526(class_4168 arg0)
doExclusively(Activity activity)
private void
setActiveActivity(Activity activity)
method_18880(class_4168 arg0)
resetPossibleActivities(Activity except)
private void
eraseMemoriesForOtherActivitesThan(Activity activity)
method_24537(class_4168 arg0)
forgetIrrelevantMemories(Activity except)
public void
updateActivityFromSchedule(EnvironmentAttributeSystem environmentAttributes, long gameTime, Vec3 pos)
method_18871(class_12205 arg0, long arg1, class_243 arg2)
refreshActivities(WorldEnvironmentAttributeAccess attributeAccess, long time, Vec3d pos)
public void
setActiveActivityToFirstValid(List<Activity> activities)
method_24531(List<class_4168> arg0)
resetPossibleActivities(List<Activity> activities)
public void
setDefaultActivity(Activity activity)
method_18897(class_4168 arg0)
setDefaultActivity(Activity activity)
public void
addActivity(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> behaviorPriorityPairs, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> conditions, Set<MemoryModuleType<?>> memoriesToEraseWhenStopped)
method_24530(class_4168 arg0, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends class_7893<? super E>>> arg1, Set<com.mojang.datafixers.util.Pair<class_4140<?>, class_4141>> arg2, Set<class_4140<?>> arg3)
setTaskList(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends Task<? super E>>> indexedTasks, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryModuleState>> memoryConditions, Set<MemoryModuleType<?>> forgettingMemories)
public void
removeAllBehaviors()
method_35060()
clear()
public boolean
isActive(Activity activity)
method_18906(class_4168 arg0)
hasActivity(Activity activity)
public void
tick(ServerLevel level, E body)
method_19542(class_3218 arg0, E arg1)
tick(ServerWorld world, E entity)
private void
tickSensors(ServerLevel level, E body)
method_27073(class_3218 arg0, E arg1)
tickSensors(ServerWorld world, E entity)
private void
forgetOutdatedMemories()
method_27075()
tickMemories()
public void
stopAll(ServerLevel level, E body)
method_18900(class_3218 arg0, E arg1)
stopAllTasks(ServerWorld world, E entity)
private void
startEachNonRunningBehavior(ServerLevel level, E body)
method_18891(class_3218 arg0, E arg1)
startTasks(ServerWorld world, E entity)
private void
tickEachRunningBehavior(ServerLevel level, E body)
method_19545(class_3218 arg0, E arg1)
updateTasks(ServerWorld world, E entity)
private boolean
activityRequirementsAreMet(Activity activity)
method_18874(class_4168 arg0)
canDoActivity(Activity activity)
private static boolean
isEmptyCollection(Object object)
method_19948(Object arg0)
isEmptyCollection(Object value)
public boolean
isBrainDead()
method_74662()
isEmpty()
private static Set
lambda$addActivity$1(Activity arg0)
method_18910(class_4168 arg0)
method_18910(Activity activity2)
private static Map
lambda$addActivity$0(Integer arg0)
method_18887(Integer arg0)
method_18887(Integer index)
private static void
lambda$forEach$0(Brain$Visitor arg0, MemoryModuleType arg1, MemorySlot arg2)
method_1_1658(class_4095$class_1_188 arg0, class_4140 arg1, class_4831 arg2)
method_1_1658(Brain$MemoryConsumer arg0, MemoryModuleType type, Memory memory)
private static List
lambda$provider$0(LivingEntity arg0)
method_1_1239(class_1309 arg0)
method_1_1239(LivingEntity entity)