From 4c1854850ad87d0ed98b9d8928f34dc9f0e6b80d Mon Sep 17 00:00:00 2001 From: BillyGalbreath <Blake.Galbreath@GMail.com> Date: Sat, 14 Jan 2017 16:15:26 -0600 Subject: [PATCH] Add fromBottle flag to Experience Orbs diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java index 14431b8ad..54c9200a9 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -15,6 +15,14 @@ public class EntityExperienceOrb extends Entity { public int value; private EntityHuman targetPlayer; private int targetTime; + // Paper start + private boolean fromBottle = false; + + public EntityExperienceOrb(World world, double d0, double d1, double d2, int i, boolean fromBottle) { + this(world, d0, d1, d2, i); + this.fromBottle = fromBottle; + } + // Paper end public EntityExperienceOrb(World world, double d0, double d1, double d2, int i) { super(world); @@ -27,6 +35,12 @@ public class EntityExperienceOrb extends Entity { this.value = i; } + // Paper start + public boolean isFromBottle() { + return fromBottle; + } + // Paper end + protected boolean playStepSound() { return false; } diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java index 0255986fd..289312950 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -40,7 +40,7 @@ public class EntityThrownExpBottle extends EntityProjectile { int j = EntityExperienceOrb.getOrbValue(i); i -= j; - this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j)); + this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, true)); // Paper - add fromBottle flag } this.die(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java index 3a09cab3d..61e3c6c3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -18,6 +18,13 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { getHandle().value = value; } + // Paper start + @Override + public boolean isFromBottle() { + return getHandle().isFromBottle(); + } + // Paper end + @Override public EntityExperienceOrb getHandle() { return (EntityExperienceOrb) entity; -- 2.12.2