Paper/Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch
BillyGalbreath 36078e1a3d Add fromBottle flag to Experience Orbs (#584)
* Add fromBottle flag to Experience Orbs
2017-01-20 09:01:53 -06:00

72 lines
2.8 KiB
Diff

From 5bad590913815708415dd55c1b6787b797cd3d5d 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 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