diff options
Diffstat (limited to 'Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch')
-rw-r--r-- | Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch b/Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch new file mode 100644 index 0000000000..e5ea9fa2b0 --- /dev/null +++ b/Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch @@ -0,0 +1,72 @@ +From 4c1854850ad87d0ed98b9d8928f34dc9f0e6b80d Mon Sep 17 00:00:00 2001 +From: BillyGalbreath <[email protected]> +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 + |