aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches/0206-Add-fromBottle-flag-to-Experience-Orbs.patch
blob: a9fdcf976c3bc95d6558d247a2b7971c5a3a6369 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
From 0216ba1815505d1a5e7b700619e8bc211bd800bb 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 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.0.windows.1