Class WitherSkullEntity

All Implemented Interfaces:
DataTracked, Ownable, ScoreHolder, CommandOutput, Nameable, EntityLike

public class WitherSkullEntity extends ExplosiveProjectileEntity
Mappings:
Namespace Name
named net/minecraft/entity/projectile/WitherSkullEntity
intermediary net/minecraft/class_1687
official cof
  • Field Details

    • CHARGED

      private static final TrackedData<Boolean> CHARGED
      Mappings:
      Namespace Name Mixin selector
      named CHARGED Lnet/minecraft/entity/projectile/WitherSkullEntity;CHARGED:Lnet/minecraft/entity/data/TrackedData;
      intermediary field_7654 Lnet/minecraft/class_1687;field_7654:Lnet/minecraft/class_2940;
      official g Lcof;g:Lakk;
  • Constructor Details

    • WitherSkullEntity

      public WitherSkullEntity(EntityType<? extends WitherSkullEntity> 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> Lbsw;<init>(Lbtc;Ldca;)V
    • WitherSkullEntity

      public WitherSkullEntity(World world, LivingEntity owner, double directionX, double directionY, double directionZ)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/projectile/WitherSkullEntity;<init>(Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;DDD)V
      intermediary <init> Lnet/minecraft/class_1687;<init>(Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;DDD)V
      official <init> Lcof;<init>(Ldca;Lbtr;DDD)V
  • Method Details

    • getDrag

      protected float getDrag()
      Overrides:
      getDrag in class ExplosiveProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named getDrag Lnet/minecraft/entity/projectile/ExplosiveProjectileEntity;getDrag()F
      intermediary method_7466 Lnet/minecraft/class_1668;method_7466()F
      official w Lcng;w()F
    • isOnFire

      public boolean isOnFire()
      Returns whether the entity is on fire and is not fire immune.
      Overrides:
      isOnFire in class Entity
      Returns:
      whether the entity is on fire and is not fire immune
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named isOnFire Lnet/minecraft/entity/Entity;isOnFire()Z
      intermediary method_5809 Lnet/minecraft/class_1297;method_5809()Z
      official bQ Lbsw;bQ()Z
    • getEffectiveExplosionResistance

      public float getEffectiveExplosionResistance(Explosion explosion, BlockView world, BlockPos pos, BlockState blockState, FluidState fluidState, float max)
      Returns the blast resistance of blockState for an explosion caused by this entity.
      Overrides:
      getEffectiveExplosionResistance in class Entity
      Returns:
      the blast resistance of blockState for an explosion caused by this entity
      See Also:
      API Note:
      WitherSkullEntity overrides this to implement the "charged/blue skull" behavior.
      Mappings:
      Namespace Name Mixin selector
      named getEffectiveExplosionResistance Lnet/minecraft/entity/Entity;getEffectiveExplosionResistance(Lnet/minecraft/world/explosion/Explosion;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/fluid/FluidState;F)F
      intermediary method_5774 Lnet/minecraft/class_1297;method_5774(Lnet/minecraft/class_1927;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_3610;F)F
      official a Lbsw;a(Ldbs;Ldbg;Liz;Ldse;Lenx;F)F
    • onEntityHit

      protected void onEntityHit(EntityHitResult entityHitResult)
      Overrides:
      onEntityHit in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named onEntityHit Lnet/minecraft/entity/projectile/ProjectileEntity;onEntityHit(Lnet/minecraft/util/hit/EntityHitResult;)V
      intermediary method_7454 Lnet/minecraft/class_1676;method_7454(Lnet/minecraft/class_3966;)V
      official a Lcnr;a(Levq;)V
    • onCollision

      protected void onCollision(HitResult hitResult)
      Overrides:
      onCollision in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named onCollision Lnet/minecraft/entity/projectile/ProjectileEntity;onCollision(Lnet/minecraft/util/hit/HitResult;)V
      intermediary method_7488 Lnet/minecraft/class_1676;method_7488(Lnet/minecraft/class_239;)V
      official a Lcnr;a(Levr;)V
    • 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

      invalid reference
      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 Entity.isInvulnerableTo(net.minecraft.entity.damage.DamageSource) and return early.

      Overrides:
      damage in class ExplosiveProjectileEntity
      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 Lbsw;a(Lbrp;F)Z
    • initDataTracker

      protected void initDataTracker(DataTracker.Builder builder)
      Initializes data tracker.
      Overrides:
      initDataTracker in class ExplosiveProjectileEntity
      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 Lbsw;a(Lako$a;)V
    • isCharged

      public boolean isCharged()
      Mappings:
      Namespace Name Mixin selector
      named isCharged Lnet/minecraft/entity/projectile/WitherSkullEntity;isCharged()Z
      intermediary method_7503 Lnet/minecraft/class_1687;method_7503()Z
      official y Lcof;y()Z
    • setCharged

      public void setCharged(boolean charged)
      Mappings:
      Namespace Name Mixin selector
      named setCharged Lnet/minecraft/entity/projectile/WitherSkullEntity;setCharged(Z)V
      intermediary method_7502 Lnet/minecraft/class_1687;method_7502(Z)V
      official a Lcof;a(Z)V
    • isBurning

      protected boolean isBurning()
      Overrides:
      isBurning in class ExplosiveProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named isBurning Lnet/minecraft/entity/projectile/ExplosiveProjectileEntity;isBurning()Z
      intermediary method_7468 Lnet/minecraft/class_1668;method_7468()Z
      official u Lcng;u()Z
    • 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 ExplosiveProjectileEntity
      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 Lbsw;b(Lus;)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 ExplosiveProjectileEntity
      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 Lbsw;a(Lus;)V