--- a/net/minecraft/server/Block.java +++ b/net/minecraft/server/Block.java @@ -209,7 +209,13 @@ EntityItem entityitem = new EntityItem(world, (double) blockposition.getX() + d0, (double) blockposition.getY() + d1, (double) blockposition.getZ() + d2, itemstack); entityitem.defaultPickupDelay(); - world.addEntity(entityitem); + // CraftBukkit start + if (world.captureDrops != null) { + world.captureDrops.add(entityitem); + } else { + world.addEntity(entityitem); + } + // CraftBukkit end } } @@ -240,7 +246,7 @@ public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, ItemStack itemstack) { entityhuman.b(StatisticList.BLOCK_MINED.b(this)); - entityhuman.applyExhaustion(0.005F); + entityhuman.applyExhaustion(0.005F, org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.BLOCK_MINED); // CraftBukkit - EntityExhaustionEvent dropItems(iblockdata, world, blockposition, tileentity, entityhuman, itemstack); } @@ -336,6 +342,12 @@ return this; } + // CraftBukkit start + public int getExpDrop(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) { + return 0; + } + // CraftBukkit end + public static final class a { private final IBlockData a;