Class PersistentProjectileEntity

java.lang.Object
net.minecraft.entity.Entity
net.minecraft.entity.projectile.ProjectileEntity
net.minecraft.entity.projectile.PersistentProjectileEntity
All Implemented Interfaces:
DataTracked, Ownable, ScoreHolder, CommandOutput, Nameable, EntityLike
Direct Known Subclasses:
ArrowEntity, SpectralArrowEntity, TridentEntity

public abstract class PersistentProjectileEntity extends ProjectileEntity
Mappings:
Namespace Name
named net/minecraft/entity/projectile/PersistentProjectileEntity
intermediary net/minecraft/class_1665
official cnf
  • Field Details

    • field_30657

      private static final double field_30657
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_30657 Lnet/minecraft/entity/projectile/PersistentProjectileEntity;field_30657:D
      intermediary field_30657 Lnet/minecraft/class_1665;field_30657:D
      official f Lcnf;f:D
    • PROJECTILE_FLAGS

      private static final TrackedData<Byte> PROJECTILE_FLAGS
      Mappings:
      Namespace Name Mixin selector
      named PROJECTILE_FLAGS Lnet/minecraft/entity/projectile/PersistentProjectileEntity;PROJECTILE_FLAGS:Lnet/minecraft/entity/data/TrackedData;
      intermediary field_7573 Lnet/minecraft/class_1665;field_7573:Lnet/minecraft/class_2940;
      official g Lcnf;g:Lakk;
    • PIERCE_LEVEL

      private static final TrackedData<Byte> PIERCE_LEVEL
      Mappings:
      Namespace Name Mixin selector
      named PIERCE_LEVEL Lnet/minecraft/entity/projectile/PersistentProjectileEntity;PIERCE_LEVEL:Lnet/minecraft/entity/data/TrackedData;
      intermediary field_7589 Lnet/minecraft/class_1665;field_7589:Lnet/minecraft/class_2940;
      official h Lcnf;h:Lakk;
    • CRITICAL_FLAG

      private static final int CRITICAL_FLAG
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named CRITICAL_FLAG Lnet/minecraft/entity/projectile/PersistentProjectileEntity;CRITICAL_FLAG:I
      intermediary field_30654 Lnet/minecraft/class_1665;field_30654:I
      official i Lcnf;i:I
    • NO_CLIP_FLAG

      private static final int NO_CLIP_FLAG
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NO_CLIP_FLAG Lnet/minecraft/entity/projectile/PersistentProjectileEntity;NO_CLIP_FLAG:I
      intermediary field_30655 Lnet/minecraft/class_1665;field_30655:I
      official j Lcnf;j:I
    • SHOT_FROM_CROSSBOW_FLAG

      private static final int SHOT_FROM_CROSSBOW_FLAG
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named SHOT_FROM_CROSSBOW_FLAG Lnet/minecraft/entity/projectile/PersistentProjectileEntity;SHOT_FROM_CROSSBOW_FLAG:I
      intermediary field_30656 Lnet/minecraft/class_1665;field_30656:I
      official k Lcnf;k:I
    • inBlockState

      @Nullable private @Nullable BlockState inBlockState
      Mappings:
      Namespace Name Mixin selector
      named inBlockState Lnet/minecraft/entity/projectile/PersistentProjectileEntity;inBlockState:Lnet/minecraft/block/BlockState;
      intermediary field_7586 Lnet/minecraft/class_1665;field_7586:Lnet/minecraft/class_2680;
      official l Lcnf;l:Ldse;
    • inGround

      protected boolean inGround
      Mappings:
      Namespace Name Mixin selector
      named inGround Lnet/minecraft/entity/projectile/PersistentProjectileEntity;inGround:Z
      intermediary field_7588 Lnet/minecraft/class_1665;field_7588:Z
      official b Lcnf;b:Z
    • inGroundTime

      protected int inGroundTime
      Mappings:
      Namespace Name Mixin selector
      named inGroundTime Lnet/minecraft/entity/projectile/PersistentProjectileEntity;inGroundTime:I
      intermediary field_7576 Lnet/minecraft/class_1665;field_7576:I
      official c Lcnf;c:I
    • pickupType

      Mappings:
      Namespace Name Mixin selector
      named pickupType Lnet/minecraft/entity/projectile/PersistentProjectileEntity;pickupType:Lnet/minecraft/entity/projectile/PersistentProjectileEntity$PickupPermission;
      intermediary field_7572 Lnet/minecraft/class_1665;field_7572:Lnet/minecraft/class_1665$class_1666;
      official d Lcnf;d:Lcnf$a;
    • shake

      public int shake
      Mappings:
      Namespace Name Mixin selector
      named shake Lnet/minecraft/entity/projectile/PersistentProjectileEntity;shake:I
      intermediary field_7574 Lnet/minecraft/class_1665;field_7574:I
      official e Lcnf;e:I
    • life

      private int life
      Mappings:
      Namespace Name Mixin selector
      named life Lnet/minecraft/entity/projectile/PersistentProjectileEntity;life:I
      intermediary field_7578 Lnet/minecraft/class_1665;field_7578:I
      official m Lcnf;m:I
    • damage

      private double damage
      Mappings:
      Namespace Name Mixin selector
      named damage Lnet/minecraft/entity/projectile/PersistentProjectileEntity;damage:D
      intermediary field_7571 Lnet/minecraft/class_1665;field_7571:D
      official n Lcnf;n:D
    • punch

      private int punch
      Mappings:
      Namespace Name Mixin selector
      named punch Lnet/minecraft/entity/projectile/PersistentProjectileEntity;punch:I
      intermediary field_7575 Lnet/minecraft/class_1665;field_7575:I
      official o Lcnf;o:I
    • sound

      private SoundEvent sound
      Mappings:
      Namespace Name Mixin selector
      named sound Lnet/minecraft/entity/projectile/PersistentProjectileEntity;sound:Lnet/minecraft/sound/SoundEvent;
      intermediary field_7584 Lnet/minecraft/class_1665;field_7584:Lnet/minecraft/class_3414;
      official p Lcnf;p:Lavz;
    • piercedEntities

      @Nullable private @Nullable IntOpenHashSet piercedEntities
      Mappings:
      Namespace Name Mixin selector
      named piercedEntities Lnet/minecraft/entity/projectile/PersistentProjectileEntity;piercedEntities:Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
      intermediary field_7590 Lnet/minecraft/class_1665;field_7590:Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
      official q Lcnf;q:Lit/unimi/dsi/fastutil/ints/IntOpenHashSet;
    • piercingKilledEntities

      @Nullable private @Nullable List<Entity> piercingKilledEntities
      Mappings:
      Namespace Name Mixin selector
      named piercingKilledEntities Lnet/minecraft/entity/projectile/PersistentProjectileEntity;piercingKilledEntities:Ljava/util/List;
      intermediary field_7579 Lnet/minecraft/class_1665;field_7579:Ljava/util/List;
      official r Lcnf;r:Ljava/util/List;
    • stack

      private ItemStack stack
      Mappings:
      Namespace Name Mixin selector
      named stack Lnet/minecraft/entity/projectile/PersistentProjectileEntity;stack:Lnet/minecraft/item/ItemStack;
      intermediary field_46970 Lnet/minecraft/class_1665;field_46970:Lnet/minecraft/class_1799;
      official s Lcnf;s:Lcur;
  • Constructor Details

    • PersistentProjectileEntity

      protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> 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
    • PersistentProjectileEntity

      protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, World world, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/projectile/PersistentProjectileEntity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)V
      intermediary <init> Lnet/minecraft/class_1665;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1937;Lnet/minecraft/class_1799;)V
      official <init> Lcnf;<init>(Lbtc;Ldca;Lcur;)V
    • PersistentProjectileEntity

      protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, double x, double y, double z, World world, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/projectile/PersistentProjectileEntity;<init>(Lnet/minecraft/entity/EntityType;DDDLnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)V
      intermediary <init> Lnet/minecraft/class_1665;<init>(Lnet/minecraft/class_1299;DDDLnet/minecraft/class_1937;Lnet/minecraft/class_1799;)V
      official <init> Lcnf;<init>(Lbtc;DDDLdca;Lcur;)V
    • PersistentProjectileEntity

      protected PersistentProjectileEntity(EntityType<? extends PersistentProjectileEntity> type, LivingEntity owner, World world, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/entity/projectile/PersistentProjectileEntity;<init>(Lnet/minecraft/entity/EntityType;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/world/World;Lnet/minecraft/item/ItemStack;)V
      intermediary <init> Lnet/minecraft/class_1665;<init>(Lnet/minecraft/class_1299;Lnet/minecraft/class_1309;Lnet/minecraft/class_1937;Lnet/minecraft/class_1799;)V
      official <init> Lcnf;<init>(Lbtc;Lbtr;Ldca;Lcur;)V
  • Method Details

    • setSound

      public void setSound(SoundEvent sound)
      Mappings:
      Namespace Name Mixin selector
      named setSound Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setSound(Lnet/minecraft/sound/SoundEvent;)V
      intermediary method_7444 Lnet/minecraft/class_1665;method_7444(Lnet/minecraft/class_3414;)V
      official b Lcnf;b(Lavz;)V
    • shouldRender

      public boolean shouldRender(double distance)
      Overrides:
      shouldRender in class Entity
      Mappings:
      Namespace Name Mixin selector
      named shouldRender Lnet/minecraft/entity/Entity;shouldRender(D)Z
      intermediary method_5640 Lnet/minecraft/class_1297;method_5640(D)Z
      official a Lbsw;a(D)Z
    • 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 Lbsw;a(Lako$a;)V
    • setVelocity

      public void setVelocity(double x, double y, double z, float power, float uncertainty)
      Sets velocity and updates rotation accordingly.

      The velocity and rotation will be set to the same direction.

      The direction is calculated as follows: Based on the direction vector (x, y, z), a random vector is added, then multiplied by the speed.

      Overrides:
      setVelocity in class ProjectileEntity
      Parameters:
      x - the X component of the direction vector
      y - the Y component of the direction vector
      z - the Z component of the direction vector
      power - the speed
      uncertainty - the fuzziness added to the direction; player usages have 1.0 and other mobs/tools have higher values; some mobs have difficulty-adjusted values
      Mappings:
      Namespace Name Mixin selector
      named setVelocity Lnet/minecraft/entity/projectile/ProjectileEntity;setVelocity(DDDFF)V
      intermediary method_7485 Lnet/minecraft/class_1676;method_7485(DDDFF)V
      official c Lcnr;c(DDDFF)V
    • updateTrackedPositionAndAngles

      public void updateTrackedPositionAndAngles(double x, double y, double z, float yaw, float pitch, int interpolationSteps)
      Overrides:
      updateTrackedPositionAndAngles in class Entity
      Mappings:
      Namespace Name Mixin selector
      named updateTrackedPositionAndAngles Lnet/minecraft/entity/Entity;updateTrackedPositionAndAngles(DDDFFI)V
      intermediary method_5759 Lnet/minecraft/class_1297;method_5759(DDDFFI)V
      official a Lbsw;a(DDDFFI)V
    • setVelocityClient

      public void setVelocityClient(double x, double y, double z)
      Overrides:
      setVelocityClient in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named setVelocityClient Lnet/minecraft/entity/Entity;setVelocityClient(DDD)V
      intermediary method_5750 Lnet/minecraft/class_1297;method_5750(DDD)V
      official l Lbsw;l(DDD)V
    • tick

      public void tick()
      Ticks this entity.
      Overrides:
      tick in class ProjectileEntity
      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 Lbsw;l()V
    • getGravity

      protected double getGravity()
      Overrides:
      getGravity in class Entity
      Mappings:
      Namespace Name Mixin selector
      named getGravity Lnet/minecraft/entity/Entity;getGravity()D
      intermediary method_7490 Lnet/minecraft/class_1297;method_7490()D
      official aY Lbsw;aY()D
    • shouldFall

      private boolean shouldFall()
      Mappings:
      Namespace Name Mixin selector
      named shouldFall Lnet/minecraft/entity/projectile/PersistentProjectileEntity;shouldFall()Z
      intermediary method_26351 Lnet/minecraft/class_1665;method_26351()Z
      official H Lcnf;H()Z
    • fall

      private void fall()
      Mappings:
      Namespace Name Mixin selector
      named fall Lnet/minecraft/entity/projectile/PersistentProjectileEntity;fall()V
      intermediary method_26352 Lnet/minecraft/class_1665;method_26352()V
      official K Lcnf;K()V
    • 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 Lbsw;a(Lbtw;Levt;)V
    • age

      protected void age()
      Mappings:
      Namespace Name Mixin selector
      named age Lnet/minecraft/entity/projectile/PersistentProjectileEntity;age()V
      intermediary method_7446 Lnet/minecraft/class_1665;method_7446()V
      official p Lcnf;p()V
    • clearPiercingStatus

      private void clearPiercingStatus()
      Mappings:
      Namespace Name Mixin selector
      named clearPiercingStatus Lnet/minecraft/entity/projectile/PersistentProjectileEntity;clearPiercingStatus()V
      intermediary method_7453 Lnet/minecraft/class_1665;method_7453()V
      official M Lcnf;M()V
    • 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
    • onBlockHit

      protected void onBlockHit(BlockHitResult blockHitResult)
      Overrides:
      onBlockHit in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named onBlockHit Lnet/minecraft/entity/projectile/ProjectileEntity;onBlockHit(Lnet/minecraft/util/hit/BlockHitResult;)V
      intermediary method_24920 Lnet/minecraft/class_1676;method_24920(Lnet/minecraft/class_3965;)V
      official a Lcnr;a(Levp;)V
    • getHitSound

      protected SoundEvent getHitSound()
      Mappings:
      Namespace Name Mixin selector
      named getHitSound Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getHitSound()Lnet/minecraft/sound/SoundEvent;
      intermediary method_7440 Lnet/minecraft/class_1665;method_7440()Lnet/minecraft/class_3414;
      official u Lcnf;u()Lavz;
    • getSound

      protected final SoundEvent getSound()
      Mappings:
      Namespace Name Mixin selector
      named getSound Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getSound()Lnet/minecraft/sound/SoundEvent;
      intermediary method_20011 Lnet/minecraft/class_1665;method_20011()Lnet/minecraft/class_3414;
      official v Lcnf;v()Lavz;
    • onHit

      protected void onHit(LivingEntity target)
      Mappings:
      Namespace Name Mixin selector
      named onHit Lnet/minecraft/entity/projectile/PersistentProjectileEntity;onHit(Lnet/minecraft/entity/LivingEntity;)V
      intermediary method_7450 Lnet/minecraft/class_1665;method_7450(Lnet/minecraft/class_1309;)V
      official a Lcnf;a(Lbtr;)V
    • getEntityCollision

      @Nullable protected @Nullable EntityHitResult getEntityCollision(Vec3d currentPosition, Vec3d nextPosition)
      Mappings:
      Namespace Name Mixin selector
      named getEntityCollision Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getEntityCollision(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;)Lnet/minecraft/util/hit/EntityHitResult;
      intermediary method_7434 Lnet/minecraft/class_1665;method_7434(Lnet/minecraft/class_243;Lnet/minecraft/class_243;)Lnet/minecraft/class_3966;
      official a Lcnf;a(Levt;Levt;)Levq;
    • canHit

      protected boolean canHit(Entity entity)
      Overrides:
      canHit in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named canHit Lnet/minecraft/entity/projectile/ProjectileEntity;canHit(Lnet/minecraft/entity/Entity;)Z
      intermediary method_26958 Lnet/minecraft/class_1676;method_26958(Lnet/minecraft/class_1297;)Z
      official b Lcnr;b(Lbsw;)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 ProjectileEntity
      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 ProjectileEntity
      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
    • setOwner

      public void setOwner(@Nullable @Nullable Entity entity)
      Overrides:
      setOwner in class ProjectileEntity
      Mappings:
      Namespace Name Mixin selector
      named setOwner Lnet/minecraft/entity/projectile/ProjectileEntity;setOwner(Lnet/minecraft/entity/Entity;)V
      intermediary method_7432 Lnet/minecraft/class_1676;method_7432(Lnet/minecraft/class_1297;)V
      official c Lcnr;c(Lbsw;)V
    • onPlayerCollision

      public void onPlayerCollision(PlayerEntity player)
      Called when a player collides with the entity. Does nothing by default.

      This should be overridden if the collision logic is specific to players, such as picking up item entities, experience orbs, or arrows.

      Overrides:
      onPlayerCollision in class Entity
      Mappings:
      Namespace Name Mixin selector
      named onPlayerCollision Lnet/minecraft/entity/Entity;onPlayerCollision(Lnet/minecraft/entity/player/PlayerEntity;)V
      intermediary method_5694 Lnet/minecraft/class_1297;method_5694(Lnet/minecraft/class_1657;)V
      official b_ Lbsw;b_(Lcmz;)V
    • tryPickup

      protected boolean tryPickup(PlayerEntity player)
      Mappings:
      Namespace Name Mixin selector
      named tryPickup Lnet/minecraft/entity/projectile/PersistentProjectileEntity;tryPickup(Lnet/minecraft/entity/player/PlayerEntity;)Z
      intermediary method_34713 Lnet/minecraft/class_1665;method_34713(Lnet/minecraft/class_1657;)Z
      official a Lcnf;a(Lcmz;)Z
    • asItemStack

      protected ItemStack asItemStack()
      Mappings:
      Namespace Name Mixin selector
      named asItemStack Lnet/minecraft/entity/projectile/PersistentProjectileEntity;asItemStack()Lnet/minecraft/item/ItemStack;
      intermediary method_7445 Lnet/minecraft/class_1665;method_7445()Lnet/minecraft/class_1799;
      official w Lcnf;w()Lcur;
    • getDefaultItemStack

      protected abstract ItemStack getDefaultItemStack()
      Mappings:
      Namespace Name Mixin selector
      named getDefaultItemStack Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getDefaultItemStack()Lnet/minecraft/item/ItemStack;
      intermediary method_57314 Lnet/minecraft/class_1665;method_57314()Lnet/minecraft/class_1799;
      official x Lcnf;x()Lcur;
    • getMoveEffect

      protected Entity.MoveEffect getMoveEffect()
      Returns the possible effect(s) of an entity moving.
      Overrides:
      getMoveEffect in class Entity
      Implementation Note:
      If an entity does not emit game events or play move sounds, this method should be overridden as returning a value other than ALL allows skipping some movement logic and boost ticking performance.
      Mappings:
      Namespace Name Mixin selector
      named getMoveEffect Lnet/minecraft/entity/Entity;getMoveEffect()Lnet/minecraft/entity/Entity$MoveEffect;
      intermediary method_33570 Lnet/minecraft/class_1297;method_33570()Lnet/minecraft/class_1297$class_5799;
      official bb Lbsw;bb()Lbsw$b;
    • getItemStack

      public ItemStack getItemStack()
      Returns the read-only item stack representing the projectile.

      This is the original stack used to spawn the projectile. asItemStack() returns a copy of that stack which can be safely changed. Additionally, asItemStack() reflects changes to the entity data, such as custom potion ID.

      Returns:
      the read-only item stack representing the projectile
      Mappings:
      Namespace Name Mixin selector
      named getItemStack Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getItemStack()Lnet/minecraft/item/ItemStack;
      intermediary method_54759 Lnet/minecraft/class_1665;method_54759()Lnet/minecraft/class_1799;
      official y Lcnf;y()Lcur;
    • setDamage

      public void setDamage(double damage)
      Mappings:
      Namespace Name Mixin selector
      named setDamage Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setDamage(D)V
      intermediary method_7438 Lnet/minecraft/class_1665;method_7438(D)V
      official h Lcnf;h(D)V
    • getDamage

      public double getDamage()
      Mappings:
      Namespace Name Mixin selector
      named getDamage Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getDamage()D
      intermediary method_7448 Lnet/minecraft/class_1665;method_7448()D
      official z Lcnf;z()D
    • setPunch

      public void setPunch(int punch)
      Mappings:
      Namespace Name Mixin selector
      named setPunch Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setPunch(I)V
      intermediary method_7449 Lnet/minecraft/class_1665;method_7449(I)V
      official b Lcnf;b(I)V
    • getPunch

      public int getPunch()
      Mappings:
      Namespace Name Mixin selector
      named getPunch Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getPunch()I
      intermediary method_35207 Lnet/minecraft/class_1665;method_35207()I
      official A Lcnf;A()I
    • isAttackable

      public boolean isAttackable()
      Returns whether the entity can be attacked by players.

      Note that this is not called for most entities defined in vanilla as unattackable (such as

      invalid reference
      ItemEntity
      and
      invalid reference
      ExperienceOrbEntity
      ) as trying to attack them kicks the player.
      Overrides:
      isAttackable in class Entity
      Returns:
      whether the entity can be attacked by players
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named isAttackable Lnet/minecraft/entity/Entity;isAttackable()Z
      intermediary method_5732 Lnet/minecraft/class_1297;method_5732()Z
      official ct Lbsw;ct()Z
    • setCritical

      public void setCritical(boolean critical)
      Mappings:
      Namespace Name Mixin selector
      named setCritical Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setCritical(Z)V
      intermediary method_7439 Lnet/minecraft/class_1665;method_7439(Z)V
      official a Lcnf;a(Z)V
    • setPierceLevel

      public void setPierceLevel(byte level)
      Mappings:
      Namespace Name Mixin selector
      named setPierceLevel Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setPierceLevel(B)V
      intermediary method_7451 Lnet/minecraft/class_1665;method_7451(B)V
      official a Lcnf;a(B)V
    • setProjectileFlag

      private void setProjectileFlag(int index, boolean flag)
      Mappings:
      Namespace Name Mixin selector
      named setProjectileFlag Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setProjectileFlag(IZ)V
      intermediary method_7455 Lnet/minecraft/class_1665;method_7455(IZ)V
      official a Lcnf;a(IZ)V
    • setStack

      protected void setStack(ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named setStack Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setStack(Lnet/minecraft/item/ItemStack;)V
      intermediary method_57313 Lnet/minecraft/class_1665;method_57313(Lnet/minecraft/class_1799;)V
      official a Lcnf;a(Lcur;)V
    • isCritical

      public boolean isCritical()
      Mappings:
      Namespace Name Mixin selector
      named isCritical Lnet/minecraft/entity/projectile/PersistentProjectileEntity;isCritical()Z
      intermediary method_7443 Lnet/minecraft/class_1665;method_7443()Z
      official B Lcnf;B()Z
    • isShotFromCrossbow

      public boolean isShotFromCrossbow()
      Mappings:
      Namespace Name Mixin selector
      named isShotFromCrossbow Lnet/minecraft/entity/projectile/PersistentProjectileEntity;isShotFromCrossbow()Z
      intermediary method_7456 Lnet/minecraft/class_1665;method_7456()Z
      official C Lcnf;C()Z
    • getPierceLevel

      public byte getPierceLevel()
      Mappings:
      Namespace Name Mixin selector
      named getPierceLevel Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getPierceLevel()B
      intermediary method_7447 Lnet/minecraft/class_1665;method_7447()B
      official D Lcnf;D()B
    • applyEnchantmentEffects

      public void applyEnchantmentEffects(LivingEntity entity, float damageModifier)
      Mappings:
      Namespace Name Mixin selector
      named applyEnchantmentEffects Lnet/minecraft/entity/projectile/PersistentProjectileEntity;applyEnchantmentEffects(Lnet/minecraft/entity/LivingEntity;F)V
      intermediary method_7435 Lnet/minecraft/class_1665;method_7435(Lnet/minecraft/class_1309;F)V
      official a Lcnf;a(Lbtr;F)V
    • getDragInWater

      protected float getDragInWater()
      Mappings:
      Namespace Name Mixin selector
      named getDragInWater Lnet/minecraft/entity/projectile/PersistentProjectileEntity;getDragInWater()F
      intermediary method_7436 Lnet/minecraft/class_1665;method_7436()F
      official E Lcnf;E()F
    • setNoClip

      public void setNoClip(boolean noClip)
      Mappings:
      Namespace Name Mixin selector
      named setNoClip Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setNoClip(Z)V
      intermediary method_7433 Lnet/minecraft/class_1665;method_7433(Z)V
      official b Lcnf;b(Z)V
    • isNoClip

      public boolean isNoClip()
      Mappings:
      Namespace Name Mixin selector
      named isNoClip Lnet/minecraft/entity/projectile/PersistentProjectileEntity;isNoClip()Z
      intermediary method_7441 Lnet/minecraft/class_1665;method_7441()Z
      official G Lcnf;G()Z
    • setShotFromCrossbow

      public void setShotFromCrossbow(boolean shotFromCrossbow)
      Mappings:
      Namespace Name Mixin selector
      named setShotFromCrossbow Lnet/minecraft/entity/projectile/PersistentProjectileEntity;setShotFromCrossbow(Z)V
      intermediary method_7442 Lnet/minecraft/class_1665;method_7442(Z)V
      official q Lcnf;q(Z)V
    • 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 ProjectileEntity
      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 Lbsw;bz()Z
    • getStackReference

      public StackReference getStackReference(int mappedIndex)
      Obtains a stack reference to be modified. Used by commands like /loot or /item.
      Overrides:
      getStackReference in class Entity
      Parameters:
      mappedIndex - the mapped index as given by the item slot argument
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getStackReference Lnet/minecraft/entity/Entity;getStackReference(I)Lnet/minecraft/inventory/StackReference;
      intermediary method_32318 Lnet/minecraft/class_1297;method_32318(I)Lnet/minecraft/class_5630;
      official a_ Lbsw;a_(I)Lbuj;