Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 12:30:06 +01:00
ffb572ce9a
Spigot has patched this issue inside MapIcon, meaning that we no longer need to maintain this patch; Spigots patch also fixes #668 in that it will verify the length of the array, as well as protect against a negative type value being fetched from the array. Only real change is that Spigots patch returns a MapIcon.Type.PLAYER, instead of the RED_MARKER as originally PR'd by Aikar.
73 Zeilen
2.8 KiB
Diff
73 Zeilen
2.8 KiB
Diff
From 11f2e6a94b8554c5c3c40740b6931bcec25a59a4 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..61e3c6c3 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
|
|
|