Class PatrollingMonster

All Implemented Interfaces:
DataComponentGetter, SyncedDataHolder, Attackable, EquipmentUser, Leashable, Enemy, Targeting, EntityAccess, UniquelyIdentifyable, Nameable, ScoreHolder, Waypoint, WaypointTransmitter, IAttachmentHolder, IEntityExtension, ILivingEntityExtension
Direct Known Subclasses:
Raider

public abstract class PatrollingMonster extends Monster
  • Field Details

    • DEFAULT_PATROL_LEADER

      private static final boolean DEFAULT_PATROL_LEADER
      See Also:
    • DEFAULT_PATROLLING

      private static final boolean DEFAULT_PATROLLING
      See Also:
    • patrolTarget

      @Nullable private BlockPos patrolTarget
    • patrolLeader

      private boolean patrolLeader
    • patrolling

      private boolean patrolling
  • Constructor Details

  • Method Details

    • registerGoals

      protected void registerGoals()
      Overrides:
      registerGoals in class Mob
    • addAdditionalSaveData

      protected void addAdditionalSaveData(ValueOutput pOutput)
      Overrides:
      addAdditionalSaveData in class Mob
    • readAdditionalSaveData

      protected void readAdditionalSaveData(ValueInput pInput)
      Overrides:
      readAdditionalSaveData in class Mob
    • canBeLeader

      public boolean canBeLeader()
    • finalizeSpawn

      @Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor pLevel, DifficultyInstance pDifficulty, EntitySpawnReason pSpawnReason, @Nullable SpawnGroupData pSpawnGroupData)
      Overrides:
      finalizeSpawn in class Mob
    • checkPatrollingMonsterSpawnRules

      public static boolean checkPatrollingMonsterSpawnRules(EntityType<? extends PatrollingMonster> pEntityType, LevelAccessor pLevel, EntitySpawnReason pSpawnReason, BlockPos pPos, RandomSource pRandomSource)
    • removeWhenFarAway

      public boolean removeWhenFarAway(double pDistanceToClosestPlayer)
      Overrides:
      removeWhenFarAway in class Mob
    • setPatrolTarget

      public void setPatrolTarget(BlockPos pPatrolTarget)
    • getPatrolTarget

      public BlockPos getPatrolTarget()
    • hasPatrolTarget

      public boolean hasPatrolTarget()
    • setPatrolLeader

      public void setPatrolLeader(boolean pPatrolLeader)
    • isPatrolLeader

      public boolean isPatrolLeader()
    • canJoinPatrol

      public boolean canJoinPatrol()
    • findPatrolTarget

      public void findPatrolTarget()
    • isPatrolling

      protected boolean isPatrolling()
    • setPatrolling

      protected void setPatrolling(boolean pPatrolling)