SPIGOT-3033: Alter behaviour of cancelled hopper transfers (reverted from commit ca9bfb2d1f)

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot 2017-01-26 14:08:04 +11:00
parent b05bba2d39
commit 49758a0994

View file

@ -56,7 +56,7 @@
}
public void F_() {
@@ -163,10 +197,34 @@
@@ -163,10 +197,35 @@
for (int i = 0; i < this.getSize(); ++i) {
if (!this.getItem(i).isEmpty()) {
ItemStack itemstack = this.getItem(i).cloneItemStack();
@ -78,7 +78,8 @@
+ this.getWorld().getServer().getPluginManager().callEvent(event);
+ if (event.isCancelled()) {
+ this.setItem(i, itemstack);
+ continue;
+ this.setCooldown(8); // Delay hopper checks
+ return false;
+ }
+ ItemStack itemstack1 = addItem(this, iinventory, CraftItemStack.asNMSCopy(event.getItem()), enumdirection);
@ -93,7 +94,7 @@
return true;
}
@@ -288,10 +346,41 @@
@@ -288,10 +347,41 @@
if (!itemstack.isEmpty() && b(iinventory, itemstack, i, enumdirection)) {
ItemStack itemstack1 = itemstack.cloneItemStack();
@ -137,7 +138,7 @@
return true;
}
@@ -307,6 +396,13 @@
@@ -307,6 +397,13 @@
if (entityitem == null) {
return false;
} else {