SPIGOT-6093: Can't change ItemStack in EntityPickupItemEvent

This commit is contained in:
Shane Bee
2020-08-21 18:46:42 +10:00
committed by md_5
parent eaf0bace20
commit fe4efd19f5
3 changed files with 20 additions and 13 deletions

View File

@@ -9,7 +9,7 @@
}
public static AttributeProvider.Builder eM() {
@@ -176,6 +176,11 @@
@@ -176,6 +176,12 @@
ItemStack itemstack = entityitem.getItemStack();
if (this.canPickup(itemstack)) {
@@ -17,11 +17,12 @@
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityPickupItemEvent(this, entityitem, 0, false).isCancelled()) {
+ return;
+ }
+ itemstack = entityitem.getItemStack(); // update ItemStack from event
+ // CraftBukkit end
this.a(entityitem);
this.setSlot(EnumItemSlot.MAINHAND, itemstack);
this.dropChanceHand[EnumItemSlot.MAINHAND.b()] = 2.0F;
@@ -323,7 +328,7 @@
@@ -323,7 +329,7 @@
@Override
public boolean a() {
@@ -30,7 +31,7 @@
}
@Override
@@ -432,7 +437,7 @@
@@ -432,7 +438,7 @@
@Override
public void c() {
@@ -39,7 +40,7 @@
}
@Override
@@ -451,7 +456,7 @@
@@ -451,7 +457,7 @@
}
if (this.c.isSwimming() && this.c.world.random.nextInt(6) == 0) {