From 11f2e6a94b8554c5c3c40740b6931bcec25a59a4 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 14431b8a..54c9200a 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 0255986f..28931295 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 3a09cab3..61e3c6c3 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