aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0202-Add-fromBottle-flag-to-Experience-Orbs.patch
diff options
context:
space:
mode:
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.patch72
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
+