Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-16 13:00:06 +01:00
72 Zeilen
2.8 KiB
Diff
72 Zeilen
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
|
||
|
|