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 org.slf4j.Logger
LOGGER
field_24656
LOGGER
private final Supplier<com.mojang.serialization.Codec<Brain<E>>>
codec
field_24657
codecSupplier
private static final int
SCHEDULE_UPDATE_DELAY
field_30096
ACTIVITY_REFRESH_COOLDOWN
private final Map<MemoryModuleType<?>, Optional<? extends 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
requiredActivityMemories
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
public (Collection<? extends MemoryModuleType<?>> memories, Collection<? extends SensorType<? extends Sensor<? super E>>> sensors, com.google.common.collect.ImmutableList<Brain$MemoryEntry<?>> memoryEntries, Supplier<com.mojang.serialization.Codec<Brain<E>>> codecSupplier)

Method summary

Modifier and TypeMethod
public static <E extends LivingEntity> Brain$Profile<E>
provider(Collection<? extends MemoryModuleType<?>> memoryTypes, Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes)
method_28311(Collection<? extends class_4140<?>> arg0, Collection<? extends class_4149<? extends class_4148<? super E>>> arg1)
createProfile(Collection<? extends MemoryModuleType<?>> memoryModules, Collection<? extends SensorType<? extends Sensor<? super E>>> sensors)
public static <E extends LivingEntity> com.mojang.serialization.Codec<Brain<E>>
codec(Collection<? extends MemoryModuleType<?>> memoryTypes, Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes)
method_28313(Collection<? extends class_4140<?>> arg0, Collection<? extends class_4149<? extends class_4148<? super E>>> arg1)
createBrainCodec(Collection<? extends MemoryModuleType<?>> memoryModules, Collection<? extends SensorType<? extends Sensor<? super E>>> sensors)
public <T> com.mojang.serialization.DataResult<T>
serializeStart(com.mojang.serialization.DynamicOps<T> ops)
method_28310(com.mojang.serialization.DynamicOps<T> arg0)
encode(com.mojang.serialization.DynamicOps<T> ops)
private Stream<Brain$MemoryEntry<?>>
memories()
method_28315()
streamMemories()
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(MemoryModuleType<U> type, Optional<? extends ExpirableValue<?>> optionalExpirableValue)
method_24535(class_4140<U> arg0, Optional<? extends class_4831<?>> arg1)
setMemory(MemoryModuleType<U> type, Optional<? extends Memory<?>> memory)
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 Map<MemoryModuleType<?>, Optional<? extends Memory<?>>>
getMemories()
method_35058()
getMemories()
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, int priorityOfFirstBehavior, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> behaviorList)
method_18882(class_4168 arg0, int arg1, com.google.common.collect.ImmutableList<? extends class_7893<? super E>> arg2)
setTaskList(Activity activity, int begin, com.google.common.collect.ImmutableList<? extends Task<? super E>> list)
public void
addActivityAndRemoveMemoryWhenStopped(Activity activity, int priorityOfFirstBehavior, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> behaviorList, MemoryModuleType<?> memoryThatMustHaveValueAndWillBeErasedAfter)
method_24527(class_4168 arg0, int arg1, com.google.common.collect.ImmutableList<? extends class_7893<? super E>> arg2, class_4140<?> arg3)
setTaskList(Activity activity, int begin, com.google.common.collect.ImmutableList<? extends Task<? super E>> tasks, MemoryModuleType<?> memoryType)
public void
addActivity(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> behaviorPriorityPairs)
method_18881(class_4168 arg0, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends class_7893<? super E>>> arg1)
setTaskList(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends Task<? super E>>> indexedTasks)
public void
addActivityWithConditions(Activity activity, int priorityOfFirstBehavior, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> behaviorList, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> conditions)
method_66676(class_4168 arg0, int arg1, com.google.common.collect.ImmutableList<? extends class_7893<? super E>> arg2, Set<com.mojang.datafixers.util.Pair<class_4140<?>, class_4141>> arg3)
setTaskList(Activity activity, int begin, com.google.common.collect.ImmutableList<? extends Task<? super E>> tasks, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryModuleState>> requiredMemories)
public void
addActivityWithConditions(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)
method_24529(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)
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>> requiredMemories)
public void
addActivityAndRemoveMemoriesWhenStopped(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>> requiredMemories, Set<MemoryModuleType<?>> forgettingMemories)
public void
removeAllBehaviors()
method_35060()
clear()
public boolean
isActive(Activity activity)
method_18906(class_4168 arg0)
hasActivity(Activity activity)
public Brain<E>
copyWithoutBehaviors()
method_18911()
copy()
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 boolean
isEmptyCollection(Object object)
method_19948(Object arg0)
isEmptyCollection(Object value)
com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends Task<? super E>>>
createPriorityPairs(int priorityOfFirstBehavior, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> behaviorList)
method_24524(int arg0, com.google.common.collect.ImmutableList<? extends class_7893<? super E>> arg1)
indexTaskList(int begin, com.google.common.collect.ImmutableList<? extends Task<? super E>> tasks)
public boolean
isBrainDead()
method_74662()
isEmpty()
private static Set
lambda$addActivityAndRemoveMemoriesWhenStopped$4(Activity arg0)
method_18910(class_4168 arg0)
method_18910(Activity activity2)
private static Map
lambda$addActivityAndRemoveMemoriesWhenStopped$3(Integer arg0)
method_18887(Integer arg0)
method_18887(Integer index)
private static boolean
lambda$isMemoryValue$2(Object arg0, Object arg1)
method_29518(Object arg0, Object arg1)
method_29518(Object arg0, Object memoryValue)
private void
lambda$clearMemories$1(MemoryModuleType arg0)
method_49710(class_4140 arg0)
method_49710(MemoryModuleType type)
private static Brain$MemoryEntry
lambda$memories$0(Map$Entry arg0)
method_28312(Map$Entry arg0)
method_28312(Map$Entry entry)