Class ExperienceOrbEntity

java.lang.Object
net.minecraft.entity.Entity
net.minecraft.entity.ExperienceOrbEntity
All Implemented Interfaces:
CommandOutput, Nameable, EntityLike

public class ExperienceOrbEntity extends Entity
Mappings:
Namespace Name
official bfp
intermediary net/minecraft/class_1303
named net/minecraft/entity/ExperienceOrbEntity
  • Field Details

    • DESPAWN_AGE

      private static final int DESPAWN_AGE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lbfp;b:I
      intermediary field_30055 Lnet/minecraft/class_1303;field_30055:I
      named DESPAWN_AGE Lnet/minecraft/entity/ExperienceOrbEntity;DESPAWN_AGE:I
    • EXPENSIVE_UPDATE_INTERVAL

      private static final int EXPENSIVE_UPDATE_INTERVAL
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lbfp;c:I
      intermediary field_30056 Lnet/minecraft/class_1303;field_30056:I
      named EXPENSIVE_UPDATE_INTERVAL Lnet/minecraft/entity/ExperienceOrbEntity;EXPENSIVE_UPDATE_INTERVAL:I
    • field_30057

      private static final int field_30057
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lbfp;d:I
      intermediary field_30057 Lnet/minecraft/class_1303;field_30057:I
      named field_30057 Lnet/minecraft/entity/ExperienceOrbEntity;field_30057:I
    • MERGING_CHANCE_FRACTION

      private static final int MERGING_CHANCE_FRACTION
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official e Lbfp;e:I
      intermediary field_30058 Lnet/minecraft/class_1303;field_30058:I
      named MERGING_CHANCE_FRACTION Lnet/minecraft/entity/ExperienceOrbEntity;MERGING_CHANCE_FRACTION:I
    • field_30059

      private static final double field_30059
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f Lbfp;f:D
      intermediary field_30059 Lnet/minecraft/class_1303;field_30059:D
      named field_30059 Lnet/minecraft/entity/ExperienceOrbEntity;field_30059:D
    • orbAge

      private int orbAge
      Mappings:
      Namespace Name Mixin selector
      official g Lbfp;g:I
      intermediary field_6164 Lnet/minecraft/class_1303;field_6164:I
      named orbAge Lnet/minecraft/entity/ExperienceOrbEntity;orbAge:I
    • health

      private int health
      Mappings:
      Namespace Name Mixin selector
      official h Lbfp;h:I
      intermediary field_6161 Lnet/minecraft/class_1303;field_6161:I
      named health Lnet/minecraft/entity/ExperienceOrbEntity;health:I
    • amount

      private int amount
      Mappings:
      Namespace Name Mixin selector
      official i Lbfp;i:I
      intermediary field_6159 Lnet/minecraft/class_1303;field_6159:I
      named amount Lnet/minecraft/entity/ExperienceOrbEntity;amount:I
    • pickingCount

      private int pickingCount
      Mappings:
      Namespace Name Mixin selector
      official j Lbfp;j:I
      intermediary field_27009 Lnet/minecraft/class_1303;field_27009:I
      named pickingCount Lnet/minecraft/entity/ExperienceOrbEntity;pickingCount:I
    • target

      private PlayerEntity target
      Mappings:
      Namespace Name Mixin selector
      official k Lbfp;k:Lbyo;
      intermediary field_6162 Lnet/minecraft/class_1303;field_6162:Lnet/minecraft/class_1657;
      named target Lnet/minecraft/entity/ExperienceOrbEntity;target:Lnet/minecraft/entity/player/PlayerEntity;
  • Constructor Details

    • ExperienceOrbEntity

      public ExperienceOrbEntity(World world, double x, double y, double z, int amount)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lbfp;<init>(Lcmm;DDDI)V
      intermediary <init> Lnet/minecraft/class_1303;<init>(Lnet/minecraft/class_1937;DDDI)V
      named <init> Lnet/minecraft/entity/ExperienceOrbEntity;<init>(Lnet/minecraft/world/World;DDDI)V
    • ExperienceOrbEntity

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

    • getMoveEffect

      protected Entity.MoveEffect getMoveEffect()
      Returns the possible effect(s) of an entity moving.
      Overrides:
      getMoveEffect in class Entity
      Mappings:
      Namespace Name Mixin selector
      official aS Lbfj;aS()Lbfj$b;
      intermediary method_33570 Lnet/minecraft/class_1297;method_33570()Lnet/minecraft/class_1297$class_5799;
      named getMoveEffect Lnet/minecraft/entity/Entity;getMoveEffect()Lnet/minecraft/entity/Entity$MoveEffect;
    • initDataTracker

      protected void initDataTracker()
      Initializes data tracker.
      Specified by:
      initDataTracker in class Entity
      Mappings:
      Namespace Name Mixin selector
      official a_ Lbfj;a_()V
      intermediary method_5693 Lnet/minecraft/class_1297;method_5693()V
      named initDataTracker Lnet/minecraft/entity/Entity;initDataTracker()V
    • tick

      public void tick()
      Ticks this entity.
      Overrides:
      tick in class Entity
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official l Lbfj;l()V
      intermediary method_5773 Lnet/minecraft/class_1297;method_5773()V
      named tick Lnet/minecraft/entity/Entity;tick()V
    • getVelocityAffectingPos

      protected BlockPos getVelocityAffectingPos()
      Overrides:
      getVelocityAffectingPos in class Entity
      Mappings:
      Namespace Name Mixin selector
      official aE Lbfj;aE()Lgu;
      intermediary method_23314 Lnet/minecraft/class_1297;method_23314()Lnet/minecraft/class_2338;
      named getVelocityAffectingPos Lnet/minecraft/entity/Entity;getVelocityAffectingPos()Lnet/minecraft/util/math/BlockPos;
    • expensiveUpdate

      private void expensiveUpdate()
      Performs an expensive update.
      Implementation Requirements:
      Called every second (every EXPENSIVE_UPDATE_INTERVAL ticks). This method first checks if the orb still has a nearby target, and assigns a new target if there is none. It then tries to merge nearby experience orbs.
      Mappings:
      Namespace Name Mixin selector
      official o Lbfp;o()V
      intermediary method_31498 Lnet/minecraft/class_1303;method_31498()V
      named expensiveUpdate Lnet/minecraft/entity/ExperienceOrbEntity;expensiveUpdate()V
    • spawn

      public static void spawn(ServerWorld world, Vec3d pos, int amount)
      Mappings:
      Namespace Name Mixin selector
      official a Lbfp;a(Laif;Leei;I)V
      intermediary method_31493 Lnet/minecraft/class_1303;method_31493(Lnet/minecraft/class_3218;Lnet/minecraft/class_243;I)V
      named spawn Lnet/minecraft/entity/ExperienceOrbEntity;spawn(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/Vec3d;I)V
    • wasMergedIntoExistingOrb

      private static boolean wasMergedIntoExistingOrb(ServerWorld world, Vec3d pos, int amount)
      Mappings:
      Namespace Name Mixin selector
      official b Lbfp;b(Laif;Leei;I)Z
      intermediary method_31496 Lnet/minecraft/class_1303;method_31496(Lnet/minecraft/class_3218;Lnet/minecraft/class_243;I)Z
      named wasMergedIntoExistingOrb Lnet/minecraft/entity/ExperienceOrbEntity;wasMergedIntoExistingOrb(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/Vec3d;I)Z
    • isMergeable

      private boolean isMergeable(ExperienceOrbEntity other)
      Mappings:
      Namespace Name Mixin selector
      official a Lbfp;a(Lbfp;)Z
      intermediary method_31494 Lnet/minecraft/class_1303;method_31494(Lnet/minecraft/class_1303;)Z
      named isMergeable Lnet/minecraft/entity/ExperienceOrbEntity;isMergeable(Lnet/minecraft/entity/ExperienceOrbEntity;)Z
    • isMergeable

      private static boolean isMergeable(ExperienceOrbEntity orb, int seed, int amount)
      Mappings:
      Namespace Name Mixin selector
      official a Lbfp;a(Lbfp;II)Z
      intermediary method_31495 Lnet/minecraft/class_1303;method_31495(Lnet/minecraft/class_1303;II)Z
      named isMergeable Lnet/minecraft/entity/ExperienceOrbEntity;isMergeable(Lnet/minecraft/entity/ExperienceOrbEntity;II)Z
    • merge

      private void merge(ExperienceOrbEntity other)
      Mappings:
      Namespace Name Mixin selector
      official b Lbfp;b(Lbfp;)V
      intermediary method_31497 Lnet/minecraft/class_1303;method_31497(Lnet/minecraft/class_1303;)V
      named merge Lnet/minecraft/entity/ExperienceOrbEntity;merge(Lnet/minecraft/entity/ExperienceOrbEntity;)V
    • applyWaterMovement

      private void applyWaterMovement()
      Mappings:
      Namespace Name Mixin selector
      official p Lbfp;p()V
      intermediary method_5921 Lnet/minecraft/class_1303;method_5921()V
      named applyWaterMovement Lnet/minecraft/entity/ExperienceOrbEntity;applyWaterMovement()V
    • onSwimmingStart

      protected void onSwimmingStart()
      Overrides:
      onSwimmingStart in class Entity
      Mappings:
      Namespace Name Mixin selector
      official bd Lbfj;bd()V
      intermediary method_5746 Lnet/minecraft/class_1297;method_5746()V
      named onSwimmingStart Lnet/minecraft/entity/Entity;onSwimmingStart()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 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
      official a Lbfj;a(Lben;F)Z
      intermediary method_5643 Lnet/minecraft/class_1297;method_5643(Lnet/minecraft/class_1282;F)Z
      named damage Lnet/minecraft/entity/Entity;damage(Lnet/minecraft/entity/damage/DamageSource;F)Z
    • writeCustomDataToNbt

      public void writeCustomDataToNbt(NbtCompound nbt)
      Writes custom data to nbt. Subclasses has 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
      official b Lbfj;b(Lqr;)V
      intermediary method_5652 Lnet/minecraft/class_1297;method_5652(Lnet/minecraft/class_2487;)V
      named writeCustomDataToNbt Lnet/minecraft/entity/Entity;writeCustomDataToNbt(Lnet/minecraft/nbt/NbtCompound;)V
    • readCustomDataFromNbt

      public void readCustomDataFromNbt(NbtCompound nbt)
      Reads custom data from nbt. Subclasses has 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
      official a Lbfj;a(Lqr;)V
      intermediary method_5749 Lnet/minecraft/class_1297;method_5749(Lnet/minecraft/class_2487;)V
      named readCustomDataFromNbt Lnet/minecraft/entity/Entity;readCustomDataFromNbt(Lnet/minecraft/nbt/NbtCompound;)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
      official b_ Lbfj;b_(Lbyo;)V
      intermediary method_5694 Lnet/minecraft/class_1297;method_5694(Lnet/minecraft/class_1657;)V
      named onPlayerCollision Lnet/minecraft/entity/Entity;onPlayerCollision(Lnet/minecraft/entity/player/PlayerEntity;)V
    • repairPlayerGears

      private int repairPlayerGears(PlayerEntity player, int amount)
      Repairs a player's gears using the experience recursively, until the experience is all used or all gears are repaired.
      Returns:
      the amount of leftover experience
      Mappings:
      Namespace Name Mixin selector
      official a Lbfp;a(Lbyo;I)I
      intermediary method_35051 Lnet/minecraft/class_1303;method_35051(Lnet/minecraft/class_1657;I)I
      named repairPlayerGears Lnet/minecraft/entity/ExperienceOrbEntity;repairPlayerGears(Lnet/minecraft/entity/player/PlayerEntity;I)I
    • getMendingRepairCost

      private int getMendingRepairCost(int repairAmount)
      Mappings:
      Namespace Name Mixin selector
      official c Lbfp;c(I)I
      intermediary method_5922 Lnet/minecraft/class_1303;method_5922(I)I
      named getMendingRepairCost Lnet/minecraft/entity/ExperienceOrbEntity;getMendingRepairCost(I)I
    • getMendingRepairAmount

      private int getMendingRepairAmount(int experienceAmount)
      Mappings:
      Namespace Name Mixin selector
      official d Lbfp;d(I)I
      intermediary method_5917 Lnet/minecraft/class_1303;method_5917(I)I
      named getMendingRepairAmount Lnet/minecraft/entity/ExperienceOrbEntity;getMendingRepairAmount(I)I
    • getExperienceAmount

      public int getExperienceAmount()
      Mappings:
      Namespace Name Mixin selector
      official j Lbfp;j()I
      intermediary method_5919 Lnet/minecraft/class_1303;method_5919()I
      named getExperienceAmount Lnet/minecraft/entity/ExperienceOrbEntity;getExperienceAmount()I
    • getOrbSize

      public int getOrbSize()
      Mappings:
      Namespace Name Mixin selector
      official k Lbfp;k()I
      intermediary method_5920 Lnet/minecraft/class_1303;method_5920()I
      named getOrbSize Lnet/minecraft/entity/ExperienceOrbEntity;getOrbSize()I
    • roundToOrbSize

      public static int roundToOrbSize(int value)
      Mappings:
      Namespace Name Mixin selector
      official b Lbfp;b(I)I
      intermediary method_5918 Lnet/minecraft/class_1303;method_5918(I)I
      named roundToOrbSize Lnet/minecraft/entity/ExperienceOrbEntity;roundToOrbSize(I)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 ItemEntity and 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
      official cn Lbfj;cn()Z
      intermediary method_5732 Lnet/minecraft/class_1297;method_5732()Z
      named isAttackable Lnet/minecraft/entity/Entity;isAttackable()Z
    • createSpawnPacket

      public Packet<ClientPlayPacketListener> createSpawnPacket()
      Returns a packet to notify the clients of the entity's spawning.
      Overrides:
      createSpawnPacket in class Entity
      Returns:
      a packet to notify the clients of the entity's spawning
      Mappings:
      Namespace Name Mixin selector
      official S Lbfj;S()Luo;
      intermediary method_18002 Lnet/minecraft/class_1297;method_18002()Lnet/minecraft/class_2596;
      named createSpawnPacket Lnet/minecraft/entity/Entity;createSpawnPacket()Lnet/minecraft/network/packet/Packet;
    • 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
      official cY Lbfj;cY()Lami;
      intermediary method_5634 Lnet/minecraft/class_1297;method_5634()Lnet/minecraft/class_3419;
      named getSoundCategory Lnet/minecraft/entity/Entity;getSoundCategory()Lnet/minecraft/sound/SoundCategory;