Class ExperienceOrbEntity

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

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

    • DESPAWN_AGE

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

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

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

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

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

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

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

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

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

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

    • ExperienceOrbEntity

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

      public ExperienceOrbEntity(EntityType<? extends ExperienceOrbEntity> 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> Lbvj;<init>(Lbvq;Ldhh;)V
  • Method Details

    • 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 bg Lbvj;bg()Lbvj$c;
    • 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 Lbvj;a(Lalg$a;)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 bd Lbvj;bd()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 h Lbvj;h()V
    • getVelocityAffectingPos

      public BlockPos getVelocityAffectingPos()
      Overrides:
      getVelocityAffectingPos in class Entity
      Mappings:
      Namespace Name Mixin selector
      named getVelocityAffectingPos Lnet/minecraft/entity/Entity;getVelocityAffectingPos()Lnet/minecraft/util/math/BlockPos;
      intermediary method_23314 Lnet/minecraft/class_1297;method_23314()Lnet/minecraft/class_2338;
      official aQ Lbvj;aQ()Ljh;
    • 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
      named expensiveUpdate Lnet/minecraft/entity/ExperienceOrbEntity;expensiveUpdate()V
      intermediary method_31498 Lnet/minecraft/class_1303;method_31498()V
      official p Lbvv;p()V
    • spawn

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

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

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

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

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

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

      protected void onSwimmingStart()
      Overrides:
      onSwimmingStart in class Entity
      Mappings:
      Namespace Name Mixin selector
      named onSwimmingStart Lnet/minecraft/entity/Entity;onSwimmingStart()V
      intermediary method_5746 Lnet/minecraft/class_1297;method_5746()V
      official bs Lbvj;bs()V
    • clientDamage

      public final boolean clientDamage(DamageSource source)
      Overrides:
      clientDamage in class Entity
      Mappings:
      Namespace Name Mixin selector
      named clientDamage Lnet/minecraft/entity/Entity;clientDamage(Lnet/minecraft/entity/damage/DamageSource;)Z
      intermediary method_5643 Lnet/minecraft/class_1297;method_5643(Lnet/minecraft/class_1282;)Z
      official b Lbvj;b(Lbtz;)Z
    • damage

      public final boolean damage(ServerWorld world, 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

      invalid reference
      #isInvulnerableTo
      and return early.
      Specified by:
      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/server/world/ServerWorld;Lnet/minecraft/entity/damage/DamageSource;F)Z
      intermediary method_64397 Lnet/minecraft/class_1297;method_64397(Lnet/minecraft/class_3218;Lnet/minecraft/class_1282;F)Z
      official a Lbvj;a(Lash;Lbtz;F)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.

      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 Lbvj;b(Lux;)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 Lbvj;a(Lux;)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 a_ Lbvj;a_(Lcpw;)V
    • repairPlayerGears

      private int repairPlayerGears(ServerPlayerEntity 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
      named repairPlayerGears Lnet/minecraft/entity/ExperienceOrbEntity;repairPlayerGears(Lnet/minecraft/server/network/ServerPlayerEntity;I)I
      intermediary method_35051 Lnet/minecraft/class_1303;method_35051(Lnet/minecraft/class_3222;I)I
      official a Lbvv;a(Lasi;I)I
    • getExperienceAmount

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

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

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

      public Packet<ClientPlayPacketListener> createSpawnPacket(EntityTrackerEntry entityTrackerEntry)
      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
      API Note:
      Subclasses should return new EntitySpawnS2CPacket(this), unless they use a custom spawning packet.
      Mappings:
      Namespace Name Mixin selector
      named createSpawnPacket Lnet/minecraft/entity/Entity;createSpawnPacket(Lnet/minecraft/server/network/EntityTrackerEntry;)Lnet/minecraft/network/packet/Packet;
      intermediary method_18002 Lnet/minecraft/class_1297;method_18002(Lnet/minecraft/class_3231;)Lnet/minecraft/class_2596;
      official a Lbvj;a(Lasf;)Laac;
    • 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 dn Lbvj;dn()Laxg;