aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBillyGalbreath <[email protected]>2017-01-20 09:01:53 -0600
committerZach <[email protected]>2017-01-20 09:01:53 -0600
commit36078e1a3d32fcb578b83d4d684b0ea6453c4383 (patch)
tree1d31ee2e0dfb247c4ff580fa673fe4eaaef0147b
parentc1641b8e0cfaed3e3ff3907d6e78f0952e424c7f (diff)
downloadPaper-36078e1a3d32fcb578b83d4d684b0ea6453c4383.tar.gz
Paper-36078e1a3d32fcb578b83d4d684b0ea6453c4383.zip
Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
-rw-r--r--Spigot-API-Patches/0049-Add-fromBottle-flag-to-Experience-Orbs.patch23
-rw-r--r--Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch71
2 files changed, 94 insertions, 0 deletions
diff --git a/Spigot-API-Patches/0049-Add-fromBottle-flag-to-Experience-Orbs.patch b/Spigot-API-Patches/0049-Add-fromBottle-flag-to-Experience-Orbs.patch
new file mode 100644
index 0000000000..f111b42ed2
--- /dev/null
+++ b/Spigot-API-Patches/0049-Add-fromBottle-flag-to-Experience-Orbs.patch
@@ -0,0 +1,23 @@
+From e20b2ab5e6e8c3ce48744201e26165aff882eabf Mon Sep 17 00:00:00 2001
+From: BillyGalbreath <[email protected]>
+Date: Sat, 14 Jan 2017 16:15:20 -0600
+Subject: [PATCH] Add fromBottle flag to Experience Orbs
+
+
+diff --git a/src/main/java/org/bukkit/entity/ExperienceOrb.java b/src/main/java/org/bukkit/entity/ExperienceOrb.java
+index c286edfd..bcb68fa7 100644
+--- a/src/main/java/org/bukkit/entity/ExperienceOrb.java
++++ b/src/main/java/org/bukkit/entity/ExperienceOrb.java
+@@ -18,4 +18,9 @@ public interface ExperienceOrb extends Entity {
+ * @param value Amount of experience
+ */
+ public void setExperience(int value);
++
++ /**
++ * Check if this orb was spawned from a ThrownExpBottle
++ */
++ public boolean isFromBottle();
+ }
+--
+2.11.0
+
diff --git a/Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch b/Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch
new file mode 100644
index 0000000000..187bf80cbf
--- /dev/null
+++ b/Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch
@@ -0,0 +1,71 @@
+From 5bad590913815708415dd55c1b6787b797cd3d5d 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 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..f992019e 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
+@@ -18,6 +18,10 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
+ getHandle().value = value;
+ }
+
++ // Paper start
++ public boolean isFromBottle() {
++ return getHandle().isFromBottle();
++ }
++ // Paper end
++
+ @Override
+ public EntityExperienceOrb getHandle() {
+ return (EntityExperienceOrb) entity;
+--
+2.11.0
+