SPIGOT-3463: Spurious item drops from event

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2017-07-28 17:23:39 +10:00
parent 01bccda243
commit 4ed8997ca1
3 changed files with 105 additions and 70 deletions

View File

@@ -19,7 +19,22 @@
Item item = this.getDropType(iblockdata, world.random, i);
if (item != Items.a) {
@@ -923,7 +924,7 @@
@@ -364,7 +365,13 @@
EntityItem entityitem = new EntityItem(world, (double) blockposition.getX() + d0, (double) blockposition.getY() + d1, (double) blockposition.getZ() + d2, itemstack);
entityitem.q();
- world.addEntity(entityitem);
+ // CraftBukkit start
+ if (world.captureDrops != null) {
+ world.captureDrops.add(entityitem);
+ } else {
+ world.addEntity(entityitem);
+ }
+ // CraftBukkit end
}
}
@@ -923,7 +930,7 @@
if (hashset.contains(block16)) {
for (int i = 0; i < 15; ++i) {
@@ -28,7 +43,7 @@
Block.REGISTRY_ID.a(block16.fromLegacyData(i), j);
}
@@ -932,7 +933,7 @@
@@ -932,7 +939,7 @@
while (unmodifiableiterator.hasNext()) {
IBlockData iblockdata = (IBlockData) unmodifiableiterator.next();
@@ -37,7 +52,7 @@
Block.REGISTRY_ID.a(iblockdata, k);
}
@@ -941,6 +942,12 @@
@@ -941,6 +948,12 @@
}