diff --git a/src/main/java/mod/chiselsandbits/network/packets/PacketChisel.java b/src/main/java/mod/chiselsandbits/network/packets/PacketChisel.java index dac4263e..720f06c8 100644 --- a/src/main/java/mod/chiselsandbits/network/packets/PacketChisel.java +++ b/src/main/java/mod/chiselsandbits/network/packets/PacketChisel.java @@ -148,6 +148,16 @@ public int doAction( } } + if ( world.getMinecraftServer() != null && world.getMinecraftServer().isBlockProtected( world, pos, player.getPlayer() ) ) + { + continue; + } + + if ( !world.isBlockModifiable( player.getPlayer(), pos ) ) + { + continue; + } + if ( world.getBlockState( pos ).getBlock().isReplaceable( world, pos ) && place.usesBits() ) { world.setBlockToAir( pos ); @@ -211,10 +221,10 @@ else if ( extracted != null ) BitInventoryFeeder feeder = new BitInventoryFeeder( who, world ); for ( final EntityItem ei : spawnlist ) { - feeder.addItem(ei); + feeder.addItem( ei ); ItemBitBag.cleanupInventory( who, ei.getEntityItem() ); } - + if ( place.usesBits() ) { ItemBitBag.cleanupInventory( who, bitPlaced != null ? bitPlaced : new ItemStack( ChiselsAndBits.getItems().itemBlockBit, 1, OreDictionary.WILDCARD_VALUE ) );