Class AgeableMob

All Implemented Interfaces:
DataComponentGetter, TypedInstance<EntityType<?>>, SyncedDataHolder, DebugValueSource, Attackable, EquipmentUser, ItemOwner, Leashable, SlotProvider, Targeting, EntityAccess, UniquelyIdentifyable, Nameable, ScoreHolder, Waypoint, WaypointTransmitter, IAttachmentHolder, IEntityExtension, ILivingEntityExtension
Direct Known Subclasses:
AbstractVillager, AgeableWaterCreature, Animal

public abstract class AgeableMob extends PathfinderMob
  • Field Details

    • DATA_BABY_ID

      private static final EntityDataAccessor<Boolean> DATA_BABY_ID
    • AGE_LOCKED

      private static final EntityDataAccessor<Boolean> AGE_LOCKED
    • BABY_START_AGE

      public static final int BABY_START_AGE
      See Also:
    • AGE_LOCK_COOLDOWN_TICKS

      public static final int AGE_LOCK_COOLDOWN_TICKS
      See Also:
    • FORCED_AGE_PARTICLE_TICKS

      private static final int FORCED_AGE_PARTICLE_TICKS
      See Also:
    • DEFAULT_AGE

      protected static final int DEFAULT_AGE
      See Also:
    • DEFAULT_FORCED_AGE

      protected static final int DEFAULT_FORCED_AGE
      See Also:
    • age

      protected int age
    • forcedAge

      protected int forcedAge
    • forcedAgeTimer

      protected int forcedAgeTimer
    • ageLockParticleTimer

      protected int ageLockParticleTimer
  • Constructor Details

  • Method Details

    • finalizeSpawn

      public @Nullable SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, EntitySpawnReason spawnReason, @Nullable SpawnGroupData groupData)
      Overrides:
      finalizeSpawn in class Mob
    • getBreedOffspring

      public abstract @Nullable AgeableMob getBreedOffspring(ServerLevel level, AgeableMob partner)
    • mobInteract

      protected InteractionResult mobInteract(Player player, InteractionHand hand)
      Overrides:
      mobInteract in class Mob
    • canUseGoldenDandelion

      public static boolean canUseGoldenDandelion(ItemStack itemInHand, boolean isBaby, int cooldown, Mob mob)
    • setAgeLockedData

      private void setAgeLockedData()
    • setAgeLocked

      public static void setAgeLocked(Mob mob, Supplier<Boolean> isAgedLocked, Player player, ItemStack itemInHand, Consumer<Mob> setAgeLockData)
    • defineSynchedData

      protected void defineSynchedData(SynchedEntityData.Builder entityData)
      Overrides:
      defineSynchedData in class Mob
    • canBreed

      public boolean canBreed()
    • getAge

      public int getAge()
    • canAgeUp

      public boolean canAgeUp()
    • ageUp

      public void ageUp(int seconds, boolean forced)
    • ageUp

      public void ageUp(int seconds)
    • setAge

      public void setAge(int newAge)
    • setAgeLocked

      protected void setAgeLocked(boolean locked)
    • addAdditionalSaveData

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

      protected void readAdditionalSaveData(ValueInput input)
      Overrides:
      readAdditionalSaveData in class Mob
    • onSyncedDataUpdated

      public void onSyncedDataUpdated(EntityDataAccessor<?> accessor)
      Specified by:
      onSyncedDataUpdated in interface SyncedDataHolder
      Overrides:
      onSyncedDataUpdated in class LivingEntity
    • aiStep

      public void aiStep()
      Overrides:
      aiStep in class Mob
    • makeAgeLockedParticle

      public static int makeAgeLockedParticle(Level level, Mob mob, int ageLockParticleTimer)
    • ageBoundaryReached

      protected void ageBoundaryReached()
    • isBaby

      public boolean isBaby()
      Overrides:
      isBaby in class LivingEntity
    • setBaby

      public void setBaby(boolean baby)
      Description copied from class: Mob
      Set whether this mob is a child.
      Overrides:
      setBaby in class Mob
    • getSpeedUpSecondsWhenFeeding

      public static int getSpeedUpSecondsWhenFeeding(int ticksUntilAdult)
    • getForcedAge

      public int getForcedAge()
    • getForcedAgeTimer

      public int getForcedAgeTimer()
    • isAgeLocked

      public boolean isAgeLocked()