Class GhastEntity

All Implemented Interfaces:
Attackable, DataTracked, EquipmentHolder, Leashable, Monster, Targeter, ScoreHolder, CommandOutput, Nameable, EntityLike

public class GhastEntity extends FlyingEntity implements Monster
Mappings:
Namespace Name
named net/minecraft/entity/mob/GhastEntity
intermediary net/minecraft/class_1571
official cjx
  • Field Details

    • SHOOTING

      private static final TrackedData<Boolean> SHOOTING
      Mappings:
      Namespace Name Mixin selector
      named SHOOTING Lnet/minecraft/entity/mob/GhastEntity;SHOOTING:Lnet/minecraft/entity/data/TrackedData;
      intermediary field_7273 Lnet/minecraft/class_1571;field_7273:Lnet/minecraft/class_2940;
      official b Lcjx;b:Lajw;
    • fireballStrength

      private int fireballStrength
      Mappings:
      Namespace Name Mixin selector
      named fireballStrength Lnet/minecraft/entity/mob/GhastEntity;fireballStrength:I
      intermediary field_7272 Lnet/minecraft/class_1571;field_7272:I
      official c Lcjx;c:I
  • Constructor Details

    • GhastEntity

      public GhastEntity(EntityType<? extends GhastEntity> type, World world)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/Entity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;)V
      intermediary <init> Lnet/minecraft/class_1297;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;)V
      official <init> Lbsr;<init>(Lbsx;Ldcw;)V
  • Method Details

    • initGoals

      protected void initGoals()
      Overrides:
      initGoals in class MobEntity
      Mappings:
      Namespace Name Mixin selector
      named initGoals Lnet/minecraft/entity/mob/MobEntity;initGoals()V
      intermediary method_5959 Lnet/minecraft/class_1308;method_5959()V
      official B Lbtp;B()V
    • isShooting

      public boolean isShooting()
      Mappings:
      Namespace Name Mixin selector
      named isShooting Lnet/minecraft/entity/mob/GhastEntity;isShooting()Z
      intermediary method_7050 Lnet/minecraft/class_1571;method_7050()Z
      official s Lcjx;s()Z
    • setShooting

      public void setShooting(boolean shooting)
      Mappings:
      Namespace Name Mixin selector
      named setShooting Lnet/minecraft/entity/mob/GhastEntity;setShooting(Z)V
      intermediary method_7048 Lnet/minecraft/class_1571;method_7048(Z)V
      official x Lcjx;x(Z)V
    • getFireballStrength

      public int getFireballStrength()
      Mappings:
      Namespace Name Mixin selector
      named getFireballStrength Lnet/minecraft/entity/mob/GhastEntity;getFireballStrength()I
      intermediary method_7049 Lnet/minecraft/class_1571;method_7049()I
      official t Lcjx;t()I
    • isDisallowedInPeaceful

      protected boolean isDisallowedInPeaceful()
      Overrides:
      isDisallowedInPeaceful in class MobEntity
      Mappings:
      Namespace Name Mixin selector
      named isDisallowedInPeaceful Lnet/minecraft/entity/mob/MobEntity;isDisallowedInPeaceful()Z
      intermediary method_23734 Lnet/minecraft/class_1308;method_23734()Z
      official Z Lbtp;Z()Z
    • isFireballFromPlayer

      private static boolean isFireballFromPlayer(DamageSource damageSource)
      Returns whether damageSource is caused by a player's fireball.

      This returns true for ghast fireballs reflected by a player, since the attacker is set as the player in that case.

      Returns:
      whether damageSource is caused by a player's fireball
      Mappings:
      Namespace Name Mixin selector
      named isFireballFromPlayer Lnet/minecraft/entity/mob/GhastEntity;isFireballFromPlayer(Lnet/minecraft/entity/damage/DamageSource;)Z
      intermediary method_44320 Lnet/minecraft/class_1571;method_44320(Lnet/minecraft/class_1282;)Z
      official g Lcjx;g(Lbrk;)Z
    • isInvulnerableTo

      public boolean isInvulnerableTo(DamageSource damageSource)
      Returns whether the entity is invulnerable to damageSource.

      This can be overridden to make the entity invulnerable to some damages, but super.isInvulnerableTo() should be called in this case.

      Overrides:
      isInvulnerableTo in class LivingEntity
      Returns:
      whether the entity is invulnerable to damageSource
      See Also:
      Implementation Note:
      Entity is invulnerable to all damages if it is removed, and is invulnerable to all damages except DamageTypes.OUT_OF_WORLD or damages from creative mode players if the entity is invulnerable. This also checks Entity.isFireImmune().
      Mappings:
      Namespace Name Mixin selector
      named isInvulnerableTo Lnet/minecraft/entity/Entity;isInvulnerableTo(Lnet/minecraft/entity/damage/DamageSource;)Z
      intermediary method_5679 Lnet/minecraft/class_1297;method_5679(Lnet/minecraft/class_1282;)Z
      official b Lbsr;b(Lbrk;)Z
    • damage

      public boolean damage(DamageSource source, float amount)
      Applies a damage to this entity. The exact implementation differs between subclasses.

      LivingEntity has health value, and damaging the entity decreases it. This also handles shields, extra damage to helmets for falling blocks, setting the attacker, playing hurt sound, etc.

      Some entities like ItemEntity also have health value, which the overridden method decrements. There also exist several entities, like EndCrystalEntity, where any damage discards the entity (perhaps with an explosion).

      If this is overridden, it must check the result of isInvulnerableTo(net.minecraft.entity.damage.DamageSource) and return early.

      Overrides:
      damage in class LivingEntity
      Returns:
      whether the entity was actually damaged
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named damage Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/damage/DamageSource;F)Z
      intermediary method_5643 Lnet/minecraft/class_1297;method_5643(Lnet/minecraft/class_1282;F)Z
      official a Lbsr;a(Lbrk;F)Z
    • initDataTracker

      protected void initDataTracker(DataTracker.Builder builder)
      Initializes data tracker.
      Overrides:
      initDataTracker in class MobEntity
      API Note:
      Subclasses should override this and add to the builder any data that needs to be tracked.
      Mappings:
      Namespace Name Mixin selector
      named initDataTracker Lnet/minecraft/entity/Entity;initDataTracker(Lnet/minecraft/entity/data/DataTracker$Builder;)V
      intermediary method_5693 Lnet/minecraft/class_1297;method_5693(Lnet/minecraft/class_2945$class_9222;)V
      official a Lbsr;a(Laka$a;)V
    • createGhastAttributes

      public static DefaultAttributeContainer.Builder createGhastAttributes()
      Mappings:
      Namespace Name Mixin selector
      named createGhastAttributes Lnet/minecraft/entity/mob/GhastEntity;createGhastAttributes()Lnet/minecraft/entity/attribute/DefaultAttributeContainer$Builder;
      intermediary method_26913 Lnet/minecraft/class_1571;method_26913()Lnet/minecraft/class_5132$class_5133;
      official x Lcjx;x()Lbuv$a;
    • getSoundCategory

      public SoundCategory getSoundCategory()
      Returns the sound category for sounds from this entity.

      This is used by Entity.playSound(SoundEvent, float, float) and defaults to SoundCategory.NEUTRAL. Hostile entities should override this to return SoundCategory.HOSTILE.

      Overrides:
      getSoundCategory in class Entity
      Returns:
      the sound category for sounds from this entity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getSoundCategory Lnet/minecraft/entity/Entity;getSoundCategory()Lnet/minecraft/sound/SoundCategory;
      intermediary method_5634 Lnet/minecraft/class_1297;method_5634()Lnet/minecraft/class_3419;
      official de Lbsr;de()Lavq;
    • getAmbientSound

      protected SoundEvent getAmbientSound()
      Overrides:
      getAmbientSound in class MobEntity
      Mappings:
      Namespace Name Mixin selector
      named getAmbientSound Lnet/minecraft/entity/mob/MobEntity;getAmbientSound()Lnet/minecraft/sound/SoundEvent;
      intermediary method_5994 Lnet/minecraft/class_1308;method_5994()Lnet/minecraft/class_3414;
      official v Lbtp;v()Lavo;
    • getHurtSound

      protected SoundEvent getHurtSound(DamageSource source)
      Overrides:
      getHurtSound in class LivingEntity
      Mappings:
      Namespace Name Mixin selector
      named getHurtSound Lnet/minecraft/entity/LivingEntity;getHurtSound(Lnet/minecraft/entity/damage/DamageSource;)Lnet/minecraft/sound/SoundEvent;
      intermediary method_6011 Lnet/minecraft/class_1309;method_6011(Lnet/minecraft/class_1282;)Lnet/minecraft/class_3414;
      official d Lbtn;d(Lbrk;)Lavo;
    • getDeathSound

      protected SoundEvent getDeathSound()
      Overrides:
      getDeathSound in class LivingEntity
      Mappings:
      Namespace Name Mixin selector
      named getDeathSound Lnet/minecraft/entity/LivingEntity;getDeathSound()Lnet/minecraft/sound/SoundEvent;
      intermediary method_6002 Lnet/minecraft/class_1309;method_6002()Lnet/minecraft/class_3414;
      official n_ Lbtn;n_()Lavo;
    • getSoundVolume

      protected float getSoundVolume()
      Overrides:
      getSoundVolume in class LivingEntity
      Mappings:
      Namespace Name Mixin selector
      named getSoundVolume Lnet/minecraft/entity/LivingEntity;getSoundVolume()F
      intermediary method_6107 Lnet/minecraft/class_1309;method_6107()F
      official fa Lbtn;fa()F
    • canSpawn

      public static boolean canSpawn(EntityType<GhastEntity> type, WorldAccess world, SpawnReason spawnReason, BlockPos pos, Random random)
      Mappings:
      Namespace Name Mixin selector
      named canSpawn Lnet/minecraft/entity/mob/GhastEntity;canSpawn(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/entity/SpawnReason;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)Z
      intermediary method_20675 Lnet/minecraft/class_1571;method_20675(Lnet/minecraft/class_1299;Lnet/minecraft/class_1936;Lnet/minecraft/class_3730;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)Z
      official b Lcjx;b(Lbsx;Ldcx;Lbtr;Ljd;Layw;)Z
    • getLimitPerChunk

      public int getLimitPerChunk()
      Overrides:
      getLimitPerChunk in class MobEntity
      Mappings:
      Namespace Name Mixin selector
      named getLimitPerChunk Lnet/minecraft/entity/mob/MobEntity;getLimitPerChunk()I
      intermediary method_5945 Lnet/minecraft/class_1308;method_5945()I
      official fN Lbtp;fN()I
    • writeCustomDataToNbt

      public void writeCustomDataToNbt(NbtCompound nbt)
      Writes custom data to nbt. Subclasses have to implement this.

      NBT is a storage format; therefore, a data from NBT is loaded to an entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the entity.

      Overrides:
      writeCustomDataToNbt in class MobEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named writeCustomDataToNbt Lnet/minecraft/entity/Entity;writeCustomDataToNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_5652 Lnet/minecraft/class_1297;method_5652(Lnet/minecraft/class_2487;)V
      official b Lbsr;b(Lub;)V
    • readCustomDataFromNbt

      public void readCustomDataFromNbt(NbtCompound nbt)
      Reads custom data from nbt. Subclasses have to implement this.

      NBT is a storage format; therefore, a data from NBT is loaded to an entity instance's fields, which are used for other operations instead of the NBT. The data is written back to NBT when saving the entity.

      nbt might not have all expected keys, or might have a key whose value does not meet the requirement (such as the type or the range). This method should fall back to a reasonable default value instead of throwing an exception.

      Overrides:
      readCustomDataFromNbt in class MobEntity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named readCustomDataFromNbt Lnet/minecraft/entity/Entity;readCustomDataFromNbt(Lnet/minecraft/nbt/NbtCompound;)V
      intermediary method_5749 Lnet/minecraft/class_1297;method_5749(Lnet/minecraft/class_2487;)V
      official a Lbsr;a(Lub;)V