Class AbstractDecorationEntity

java.lang.Object
net.minecraft.entity.Entity
net.minecraft.entity.decoration.AbstractDecorationEntity
All Implemented Interfaces:
DataTracked, ScoreHolder, CommandOutput, Nameable, EntityLike
Direct Known Subclasses:
ItemFrameEntity, LeashKnotEntity, PaintingEntity

public abstract class AbstractDecorationEntity extends Entity
Mappings:
Namespace Name
named net/minecraft/entity/decoration/AbstractDecorationEntity
intermediary net/minecraft/class_1530
official cja
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/entity/decoration/AbstractDecorationEntity;LOGGER:Lorg/slf4j/Logger;
      intermediary field_39455 Lnet/minecraft/class_1530;field_39455:Lorg/slf4j/Logger;
      official e Lcja;e:Lorg/slf4j/Logger;
    • PREDICATE

      protected static final Predicate<Entity> PREDICATE
      Mappings:
      Namespace Name Mixin selector
      named PREDICATE Lnet/minecraft/entity/decoration/AbstractDecorationEntity;PREDICATE:Ljava/util/function/Predicate;
      intermediary field_7098 Lnet/minecraft/class_1530;field_7098:Ljava/util/function/Predicate;
      official b Lcja;b:Ljava/util/function/Predicate;
    • obstructionCheckCounter

      private int obstructionCheckCounter
      Mappings:
      Namespace Name Mixin selector
      named obstructionCheckCounter Lnet/minecraft/entity/decoration/AbstractDecorationEntity;obstructionCheckCounter:I
      intermediary field_7097 Lnet/minecraft/class_1530;field_7097:I
      official f Lcja;f:I
    • attachmentPos

      protected BlockPos attachmentPos
      Mappings:
      Namespace Name Mixin selector
      named attachmentPos Lnet/minecraft/entity/decoration/AbstractDecorationEntity;attachmentPos:Lnet/minecraft/util/math/BlockPos;
      intermediary field_7100 Lnet/minecraft/class_1530;field_7100:Lnet/minecraft/class_2338;
      official c Lcja;c:Liz;
    • facing

      protected Direction facing
      Mappings:
      Namespace Name Mixin selector
      named facing Lnet/minecraft/entity/decoration/AbstractDecorationEntity;facing:Lnet/minecraft/util/math/Direction;
      intermediary field_7099 Lnet/minecraft/class_1530;field_7099:Lnet/minecraft/class_2350;
      official d Lcja;d:Lje;
  • Constructor Details

    • AbstractDecorationEntity

      protected AbstractDecorationEntity(EntityType<? extends AbstractDecorationEntity> 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> Lbsv;<init>(Lbtb;Ldbz;)V
    • AbstractDecorationEntity

      protected AbstractDecorationEntity(EntityType<? extends AbstractDecorationEntity> type, World world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/decoration/AbstractDecorationEntity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
      intermediary <init> Lnet/minecraft/class_1530;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
      official <init> Lcja;<init>(Lbtb;Ldbz;Liz;)V
  • Method Details

    • initDataTracker

      protected void initDataTracker(DataTracker.Builder builder)
      Initializes data tracker.
      Specified by:
      initDataTracker in class Entity
      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 Lbsv;a(Lako$a;)V
    • setFacing

      protected void setFacing(Direction facing)
      Mappings:
      Namespace Name Mixin selector
      named setFacing Lnet/minecraft/entity/decoration/AbstractDecorationEntity;setFacing(Lnet/minecraft/util/math/Direction;)V
      intermediary method_6892 Lnet/minecraft/class_1530;method_6892(Lnet/minecraft/class_2350;)V
      official a Lcja;a(Lje;)V
    • updateAttachmentPosition

      protected void updateAttachmentPosition()
      Mappings:
      Namespace Name Mixin selector
      named updateAttachmentPosition Lnet/minecraft/entity/decoration/AbstractDecorationEntity;updateAttachmentPosition()V
      intermediary method_6895 Lnet/minecraft/class_1530;method_6895()V
      official y Lcja;y()V
    • method_6893

      private double method_6893(int int2)
      Mappings:
      Namespace Name Mixin selector
      named method_6893 Lnet/minecraft/entity/decoration/AbstractDecorationEntity;method_6893(I)D
      intermediary method_6893 Lnet/minecraft/class_1530;method_6893(I)D
      official b Lcja;b(I)D
    • tick

      public void tick()
      Ticks this entity.
      Overrides:
      tick in class Entity
      See Also:
      API Note:
      This can be overridden to add additional logics. super.tick(); should be called in those cases.
      Implementation Note:
      By default, this delegates all logics to Entity.baseTick().
      Mappings:
      Namespace Name Mixin selector
      named tick Lnet/minecraft/entity/Entity;tick()V
      intermediary method_5773 Lnet/minecraft/class_1297;method_5773()V
      official l Lbsv;l()V
    • canStayAttached

      public boolean canStayAttached()
      Mappings:
      Namespace Name Mixin selector
      named canStayAttached Lnet/minecraft/entity/decoration/AbstractDecorationEntity;canStayAttached()Z
      intermediary method_6888 Lnet/minecraft/class_1530;method_6888()Z
      official z Lcja;z()Z
    • canHit

      public boolean canHit()
      Returns whether the entity can be hit with a projectile or be targeted by the player crosshair.
      Overrides:
      canHit in class Entity
      Returns:
      whether the entity can be hit with a projectile or be targeted by the player crosshair
      Mappings:
      Namespace Name Mixin selector
      named canHit Lnet/minecraft/entity/Entity;canHit()Z
      intermediary method_5863 Lnet/minecraft/class_1297;method_5863()Z
      official bz Lbsv;bz()Z
    • handleAttack

      public boolean handleAttack(Entity attacker)
      Handles a player attacking the entity. This is called before damage(net.minecraft.entity.damage.DamageSource, float) and can be used to restrict players from attacking the entity by returning true.
      Overrides:
      handleAttack in class Entity
      Returns:
      whether to stop handling the attack
      See Also:
      API Note:
      For example, ArmorStandEntity checks whether the player can modify blocks at the entity's position.
      Mappings:
      Namespace Name Mixin selector
      named handleAttack Lnet/minecraft/entity/Entity;handleAttack(Lnet/minecraft/entity/Entity;)Z
      intermediary method_5698 Lnet/minecraft/class_1297;method_5698(Lnet/minecraft/class_1297;)Z
      official u Lbsv;u(Lbsv;)Z
    • getHorizontalFacing

      public Direction getHorizontalFacing()
      Overrides:
      getHorizontalFacing in class Entity
      Mappings:
      Namespace Name Mixin selector
      named getHorizontalFacing Lnet/minecraft/entity/Entity;getHorizontalFacing()Lnet/minecraft/util/math/Direction;
      intermediary method_5735 Lnet/minecraft/class_1297;method_5735()Lnet/minecraft/class_2350;
      official cH Lbsv;cH()Lje;
    • damage

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

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

      Overrides:
      damage in class Entity
      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 Lbsv;a(Lbro;F)Z
    • move

      public void move(MovementType movementType, Vec3d movement)
      Overrides:
      move in class Entity
      Mappings:
      Namespace Name Mixin selector
      named move Lnet/minecraft/entity/Entity;move(Lnet/minecraft/entity/MovementType;Lnet/minecraft/util/math/Vec3d;)V
      intermediary method_5784 Lnet/minecraft/class_1297;method_5784(Lnet/minecraft/class_1313;Lnet/minecraft/class_243;)V
      official a Lbsv;a(Lbtv;Levs;)V
    • addVelocity

      public void addVelocity(double deltaX, double deltaY, double deltaZ)
      Overrides:
      addVelocity in class Entity
      Mappings:
      Namespace Name Mixin selector
      named addVelocity Lnet/minecraft/entity/Entity;addVelocity(DDD)V
      intermediary method_5762 Lnet/minecraft/class_1297;method_5762(DDD)V
      official j Lbsv;j(DDD)V
    • 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.

      Specified by:
      writeCustomDataToNbt in class Entity
      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 Lbsv;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.

      Specified by:
      readCustomDataFromNbt in class Entity
      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 Lbsv;a(Lus;)V
    • getWidthPixels

      public abstract int getWidthPixels()
      Mappings:
      Namespace Name Mixin selector
      named getWidthPixels Lnet/minecraft/entity/decoration/AbstractDecorationEntity;getWidthPixels()I
      intermediary method_6897 Lnet/minecraft/class_1530;method_6897()I
      official A Lcja;A()I
    • getHeightPixels

      public abstract int getHeightPixels()
      Mappings:
      Namespace Name Mixin selector
      named getHeightPixels Lnet/minecraft/entity/decoration/AbstractDecorationEntity;getHeightPixels()I
      intermediary method_6891 Lnet/minecraft/class_1530;method_6891()I
      official B Lcja;B()I
    • onBreak

      public abstract void onBreak(@Nullable @Nullable Entity entity)
      Mappings:
      Namespace Name Mixin selector
      named onBreak Lnet/minecraft/entity/decoration/AbstractDecorationEntity;onBreak(Lnet/minecraft/entity/Entity;)V
      intermediary method_6889 Lnet/minecraft/class_1530;method_6889(Lnet/minecraft/class_1297;)V
      official b Lcja;b(Lbsv;)V
    • onPlace

      public abstract void onPlace()
      Mappings:
      Namespace Name Mixin selector
      named onPlace Lnet/minecraft/entity/decoration/AbstractDecorationEntity;onPlace()V
      intermediary method_6894 Lnet/minecraft/class_1530;method_6894()V
      official C Lcja;C()V
    • dropStack

      public ItemEntity dropStack(ItemStack stack, float yOffset)
      Drops stack at the entity's position with the given Y offset.
      Overrides:
      dropStack in class Entity
      Returns:
      the spawned item entity, or null if the stack is empty or if called on the client
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named dropStack Lnet/minecraft/entity/Entity;dropStack(Lnet/minecraft/item/ItemStack;F)Lnet/minecraft/entity/ItemEntity;
      intermediary method_5699 Lnet/minecraft/class_1297;method_5699(Lnet/minecraft/class_1799;F)Lnet/minecraft/class_1542;
      official a Lbsv;a(Lcuq;F)Lcji;
    • shouldSetPositionOnLoad

      protected boolean shouldSetPositionOnLoad()
      Overrides:
      shouldSetPositionOnLoad in class Entity
      Mappings:
      Namespace Name Mixin selector
      named shouldSetPositionOnLoad Lnet/minecraft/entity/Entity;shouldSetPositionOnLoad()Z
      intermediary method_5638 Lnet/minecraft/class_1297;method_5638()Z
      official bB Lbsv;bB()Z
    • setPosition

      public void setPosition(double x, double y, double z)
      Sets the position and refreshes the bounding box.

      This should be called after creating an instance of non-living entities. For living entities, Entity.refreshPositionAndAngles(net.minecraft.util.math.BlockPos, float, float) should be used instead.

      Overrides:
      setPosition in class Entity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named setPosition Lnet/minecraft/entity/Entity;setPosition(DDD)V
      intermediary method_5814 Lnet/minecraft/class_1297;method_5814(DDD)V
      official a_ Lbsv;a_(DDD)V
    • getDecorationBlockPos

      public BlockPos getDecorationBlockPos()
      Mappings:
      Namespace Name Mixin selector
      named getDecorationBlockPos Lnet/minecraft/entity/decoration/AbstractDecorationEntity;getDecorationBlockPos()Lnet/minecraft/util/math/BlockPos;
      intermediary method_6896 Lnet/minecraft/class_1530;method_6896()Lnet/minecraft/class_2338;
      official D Lcja;D()Liz;
    • applyRotation

      public float applyRotation(BlockRotation rotation)
      Applies rotation to the entity's yaw.
      Overrides:
      applyRotation in class Entity
      Mappings:
      Namespace Name Mixin selector
      named applyRotation Lnet/minecraft/entity/Entity;applyRotation(Lnet/minecraft/util/BlockRotation;)F
      intermediary method_5832 Lnet/minecraft/class_1297;method_5832(Lnet/minecraft/class_2470;)F
      official a Lbsv;a(Ldln;)F
    • applyMirror

      public float applyMirror(BlockMirror mirror)
      Applies mirror to the entity's yaw.
      Overrides:
      applyMirror in class Entity
      Mappings:
      Namespace Name Mixin selector
      named applyMirror Lnet/minecraft/entity/Entity;applyMirror(Lnet/minecraft/util/BlockMirror;)F
      intermediary method_5763 Lnet/minecraft/class_1297;method_5763(Lnet/minecraft/class_2415;)F
      official a Lbsv;a(Ldjx;)F
    • onStruckByLightning

      public void onStruckByLightning(ServerWorld world, LightningEntity lightning)
      Called when the entity is struck by lightning. This sets the entity on fire and deals lightning damage by default; entities that do not take such damage should override this method to do nothing.
      Overrides:
      onStruckByLightning in class Entity
      Mappings:
      Namespace Name Mixin selector
      named onStruckByLightning Lnet/minecraft/entity/Entity;onStruckByLightning(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/LightningEntity;)V
      intermediary method_5800 Lnet/minecraft/class_1297;method_5800(Lnet/minecraft/class_3218;Lnet/minecraft/class_1538;)V
      official a Lbsv;a(Larf;Lbtp;)V
    • calculateDimensions

      public void calculateDimensions()
      Calculates and sets the dimension (bounding box) of the entity and refreshes its position.
      Overrides:
      calculateDimensions in class Entity
      Mappings:
      Namespace Name Mixin selector
      named calculateDimensions Lnet/minecraft/entity/Entity;calculateDimensions()V
      intermediary method_18382 Lnet/minecraft/class_1297;method_18382()V
      official j_ Lbsv;j_()V