Package net.minecraft.world.entity.ai
Class Brain<E extends LivingEntity>
java.lang.Object
net.minecraft.world.entity.ai.Brain<E>
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final classstatic final classBrain.Provider<E extends LivingEntity> - 
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<Activity,Set<MemoryModuleType<?>>> private final Map<Activity,Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>>> private Activityprivate long(package private) static final org.slf4j.Loggerprivate final Map<MemoryModuleType<?>,Optional<? extends ExpirableValue<?>>> private Scheduleprivate static final int - 
Constructor Summary
ConstructorsConstructorDescriptionBrain(Collection<? extends MemoryModuleType<?>> p_21855_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21856_, com.google.common.collect.ImmutableList<Brain.MemoryValue<?>> p_21857_, Supplier<com.mojang.serialization.Codec<Brain<E>>> p_21858_)  - 
Method Summary
Modifier and TypeMethodDescriptionprivate booleanactivityRequirementsAreMet(Activity p_21970_) voidaddActivity(Activity p_21892_, int p_21893_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21894_) voidaddActivity(Activity p_21901_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21902_) voidaddActivityAndRemoveMemoriesWhenStopped(Activity p_21908_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21909_, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> p_21910_, Set<MemoryModuleType<?>> p_21911_) voidaddActivityAndRemoveMemoryWhenStopped(Activity p_21896_, int p_21897_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21898_, MemoryModuleType<?> p_21899_) voidaddActivityWithConditions(Activity p_21904_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21905_, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> p_21906_) booleancheckMemory(MemoryModuleType<?> p_21877_, MemoryStatus p_21878_) voidstatic <E extends LivingEntity>
com.mojang.serialization.Codec<Brain<E>>codec(Collection<? extends MemoryModuleType<?>> p_21947_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21948_) voidcopyFromBuilder(BrainBuilder<E> builder) (package private) com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> createPriorityPairs(int p_21860_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21861_) private voideraseMemoriesForOtherActivitesThan(Activity p_21967_) <U> voideraseMemory(MemoryModuleType<U> p_21937_) private voidDeprecated.Map<MemoryModuleType<?>,Optional<? extends ExpirableValue<?>>> Deprecated.<U> Optional<U>getMemory(MemoryModuleType<U> p_21953_) <U> Optional<U>getMemoryInternal(MemoryModuleType<U> p_259344_) List<BehaviorControl<? super E>>Deprecated.<U> longgetTimeUntilExpiry(MemoryModuleType<U> p_147342_) booleanhasMemoryValue(MemoryModuleType<?> p_21875_) booleanprivate booleanisEmptyCollection(Object p_21919_) <U> booleanisMemoryValue(MemoryModuleType<U> p_21939_, U p_21940_) (package private) Stream<Brain.MemoryValue<?>>memories()static <E extends LivingEntity>
Brain.Provider<E>provider(Collection<? extends MemoryModuleType<?>> p_21924_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21925_) void<T> com.mojang.serialization.DataResult<T>serializeStart(com.mojang.serialization.DynamicOps<T> p_21915_) private voidsetActiveActivity(Activity p_21961_) voidsetActiveActivityIfPossible(Activity p_21890_) voidsetActiveActivityToFirstValid(List<Activity> p_21927_) voidsetCoreActivities(Set<Activity> p_21931_) voidsetDefaultActivity(Activity p_21945_) <U> voidsetMemory(MemoryModuleType<U> p_21887_, Optional<? extends U> p_21888_) <U> voidsetMemory(MemoryModuleType<U> p_21880_, U p_21881_) (package private) <U> voidsetMemoryInternal(MemoryModuleType<U> p_21942_, Optional<? extends ExpirableValue<?>> p_21943_) <U> voidsetMemoryWithExpiry(MemoryModuleType<U> p_21883_, U p_21884_, long p_21885_) voidsetSchedule(Schedule p_21913_) private voidstartEachNonRunningBehavior(ServerLevel p_21958_, E p_21959_) voidstopAll(ServerLevel p_21934_, E p_21935_) voidtick(ServerLevel p_21866_, E p_21867_) private voidtickEachRunningBehavior(ServerLevel p_21964_, E p_21965_) private voidtickSensors(ServerLevel p_21950_, E p_21951_) voidupdateActivityFromSchedule(long p_21863_, long p_21864_) void 
- 
Field Details
- 
LOGGER
static final org.slf4j.Logger LOGGER - 
codec
 - 
SCHEDULE_UPDATE_DELAY
private static final int SCHEDULE_UPDATE_DELAY- See Also:
 
 - 
memories
 - 
sensors
private final Map<SensorType<? extends Sensor<? super E extends LivingEntity>>,Sensor<? super E extends LivingEntity>> sensors - 
availableBehaviorsByPriority
private final Map<Integer,Map<Activity, availableBehaviorsByPrioritySet<BehaviorControl<? super E extends LivingEntity>>>>  - 
schedule
 - 
activityRequirements
private final Map<Activity,Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, activityRequirementsMemoryStatus>>>  - 
activityMemoriesToEraseWhenStopped
 - 
coreActivities
 - 
activeActivities
 - 
defaultActivity
 - 
lastScheduleUpdate
private long lastScheduleUpdate 
 - 
 - 
Constructor Details
- 
Brain
public Brain(Collection<? extends MemoryModuleType<?>> p_21855_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21856_, com.google.common.collect.ImmutableList<Brain.MemoryValue<?>> p_21857_, Supplier<com.mojang.serialization.Codec<Brain<E>>> p_21858_)  
 - 
 - 
Method Details
- 
provider
public static <E extends LivingEntity> Brain.Provider<E> provider(Collection<? extends MemoryModuleType<?>> p_21924_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21925_)  - 
codec
public static <E extends LivingEntity> com.mojang.serialization.Codec<Brain<E>> codec(Collection<? extends MemoryModuleType<?>> p_21947_, Collection<? extends SensorType<? extends Sensor<? super E>>> p_21948_)  - 
serializeStart
public <T> com.mojang.serialization.DataResult<T> serializeStart(com.mojang.serialization.DynamicOps<T> p_21915_)  - 
memories
Stream<Brain.MemoryValue<?>> memories() - 
hasMemoryValue
 - 
clearMemories
public void clearMemories() - 
eraseMemory
 - 
setMemory
 - 
setMemoryWithExpiry
 - 
setMemory
 - 
setMemoryInternal
<U> void setMemoryInternal(MemoryModuleType<U> p_21942_, Optional<? extends ExpirableValue<?>> p_21943_)  - 
getMemory
 - 
getMemoryInternal
 - 
getTimeUntilExpiry
 - 
getMemories
Deprecated. - 
isMemoryValue
 - 
checkMemory
 - 
getSchedule
 - 
setSchedule
 - 
setCoreActivities
 - 
getActiveActivities
Deprecated. - 
getRunningBehaviors
Deprecated. - 
useDefaultActivity
public void useDefaultActivity() - 
getActiveNonCoreActivity
 - 
setActiveActivityIfPossible
 - 
setActiveActivity
 - 
eraseMemoriesForOtherActivitesThan
 - 
updateActivityFromSchedule
public void updateActivityFromSchedule(long p_21863_, long p_21864_)  - 
setActiveActivityToFirstValid
 - 
setDefaultActivity
 - 
addActivity
public void addActivity(Activity p_21892_, int p_21893_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21894_)  - 
addActivityAndRemoveMemoryWhenStopped
public void addActivityAndRemoveMemoryWhenStopped(Activity p_21896_, int p_21897_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21898_, MemoryModuleType<?> p_21899_)  - 
addActivity
public void addActivity(Activity p_21901_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21902_)  - 
addActivityWithConditions
public void addActivityWithConditions(Activity p_21904_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21905_, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> p_21906_)  - 
addActivityAndRemoveMemoriesWhenStopped
public void addActivityAndRemoveMemoriesWhenStopped(Activity p_21908_, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer, ? extends BehaviorControl<? super E>>> p_21909_, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>, MemoryStatus>> p_21910_, Set<MemoryModuleType<?>> p_21911_)  - 
removeAllBehaviors
public void removeAllBehaviors() - 
isActive
 - 
copyWithoutBehaviors
 - 
tick
 - 
tickSensors
 - 
forgetOutdatedMemories
private void forgetOutdatedMemories() - 
stopAll
 - 
startEachNonRunningBehavior
 - 
tickEachRunningBehavior
 - 
activityRequirementsAreMet
 - 
isEmptyCollection
 - 
createPriorityPairs
com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> createPriorityPairs(int p_21860_, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> p_21861_)  - 
createBuilder
 - 
copyFromBuilder
 
 -