Class Brain<E extends LivingEntity>

java.lang.Object
net.minecraft.world.entity.ai.Brain<E>

public class Brain<E extends LivingEntity> extends Object
  • Field Details

  • Constructor Details

  • Method Details

    • provider

      public static <E extends LivingEntity> Brain.Provider<E> provider(Collection<? extends MemoryModuleType<?>> memoryTypes, Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes)
    • codec

      public static <E extends LivingEntity> com.mojang.serialization.Codec<Brain<E>> codec(Collection<? extends MemoryModuleType<?>> memoryTypes, Collection<? extends SensorType<? extends Sensor<? super E>>> sensorTypes)
    • serializeStart

      public <T> com.mojang.serialization.DataResult<T> serializeStart(com.mojang.serialization.DynamicOps<T> ops)
    • memories

      Stream<Brain.MemoryValue<?>> memories()
    • hasMemoryValue

      public boolean hasMemoryValue(MemoryModuleType<?> type)
    • clearMemories

      public void clearMemories()
    • eraseMemory

      public <U> void eraseMemory(MemoryModuleType<U> type)
    • setMemory

      public <U> void setMemory(MemoryModuleType<U> memoryType, @Nullable U memory)
    • setMemoryWithExpiry

      public <U> void setMemoryWithExpiry(MemoryModuleType<U> memoryType, U memory, long timeToLive)
    • setMemory

      public <U> void setMemory(MemoryModuleType<U> memoryType, Optional<? extends U> memory)
    • setMemoryInternal

      <U> void setMemoryInternal(MemoryModuleType<U> memoryType, Optional<? extends ExpirableValue<?>> memory)
    • getMemory

      public <U> Optional<U> getMemory(MemoryModuleType<U> type)
    • getMemoryInternal

      @Nullable public <U> Optional<U> getMemoryInternal(MemoryModuleType<U> type)
    • getTimeUntilExpiry

      public <U> long getTimeUntilExpiry(MemoryModuleType<U> memoryType)
    • getMemories

      @Deprecated public Map<MemoryModuleType<?>,Optional<? extends ExpirableValue<?>>> getMemories()
      Deprecated.
    • isMemoryValue

      public <U> boolean isMemoryValue(MemoryModuleType<U> memoryType, U memory)
    • checkMemory

      public boolean checkMemory(MemoryModuleType<?> memoryType, MemoryStatus memoryStatus)
    • getSchedule

      public Schedule getSchedule()
    • setSchedule

      public void setSchedule(Schedule newSchedule)
    • setCoreActivities

      public void setCoreActivities(Set<Activity> newActivities)
    • getActiveActivities

      @Deprecated public Set<Activity> getActiveActivities()
      Deprecated.
    • getRunningBehaviors

      @Deprecated public List<BehaviorControl<? super E>> getRunningBehaviors()
      Deprecated.
    • useDefaultActivity

      public void useDefaultActivity()
    • getActiveNonCoreActivity

      public Optional<Activity> getActiveNonCoreActivity()
    • setActiveActivityIfPossible

      public void setActiveActivityIfPossible(Activity activity)
    • setActiveActivity

      private void setActiveActivity(Activity activity)
    • eraseMemoriesForOtherActivitesThan

      private void eraseMemoriesForOtherActivitesThan(Activity p_activity)
    • updateActivityFromSchedule

      public void updateActivityFromSchedule(long dayTime, long gameTime)
    • setActiveActivityToFirstValid

      public void setActiveActivityToFirstValid(List<Activity> activities)
    • setDefaultActivity

      public void setDefaultActivity(Activity newFallbackActivity)
    • addActivity

      public void addActivity(Activity activity, int priorityStart, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> tasks)
    • addActivityAndRemoveMemoryWhenStopped

      public void addActivityAndRemoveMemoryWhenStopped(Activity activity, int priorityStart, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> tasks, MemoryModuleType<?> memoryType)
    • addActivity

      public void addActivity(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> tasks)
    • addActivityWithConditions

      public void addActivityWithConditions(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> tasks, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>,MemoryStatus>> memoryStatuses)
    • addActivityAndRemoveMemoriesWhenStopped

      public void addActivityAndRemoveMemoriesWhenStopped(Activity activity, com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> tasks, Set<com.mojang.datafixers.util.Pair<MemoryModuleType<?>,MemoryStatus>> memorieStatuses, Set<MemoryModuleType<?>> memoryTypes)
    • removeAllBehaviors

      public void removeAllBehaviors()
    • isActive

      public boolean isActive(Activity activity)
    • copyWithoutBehaviors

      public Brain<E> copyWithoutBehaviors()
    • tick

      public void tick(ServerLevel level, E entity)
    • tickSensors

      private void tickSensors(ServerLevel level, E brainHolder)
    • forgetOutdatedMemories

      private void forgetOutdatedMemories()
    • stopAll

      public void stopAll(ServerLevel level, E owner)
    • startEachNonRunningBehavior

      private void startEachNonRunningBehavior(ServerLevel level, E entity)
    • tickEachRunningBehavior

      private void tickEachRunningBehavior(ServerLevel level, E entity)
    • activityRequirementsAreMet

      private boolean activityRequirementsAreMet(Activity activity)
    • isEmptyCollection

      private boolean isEmptyCollection(Object collection)
    • createPriorityPairs

      com.google.common.collect.ImmutableList<? extends com.mojang.datafixers.util.Pair<Integer,? extends BehaviorControl<? super E>>> createPriorityPairs(int priorityStart, com.google.common.collect.ImmutableList<? extends BehaviorControl<? super E>> tasks)