From a46bad4497c43cc58fab4071697e4a8c7b697167 Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Wed, 4 Sep 2019 13:21:54 +0100 Subject: [PATCH] Prevent forfeits from breaking blocks they shouldn't break, fixes #190 --- src/main/java/electroblob/wizardry/misc/Forfeit.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/misc/Forfeit.java b/src/main/java/electroblob/wizardry/misc/Forfeit.java index e5782a66..ac58c343 100644 --- a/src/main/java/electroblob/wizardry/misc/Forfeit.java +++ b/src/main/java/electroblob/wizardry/misc/Forfeit.java @@ -375,7 +375,7 @@ public abstract class Forfeit { if(!w.isRemote){ for(EnumFacing direction : EnumFacing.HORIZONTALS){ BlockPos pos = p.getPosition().offset(direction); - w.setBlockState(pos, WizardryBlocks.snare.getDefaultState()); + if(WizardryUtilities.canBlockBeReplaced(w, pos)) w.setBlockState(pos, WizardryBlocks.snare.getDefaultState()); } } })); @@ -410,6 +410,7 @@ public abstract class Forfeit { if(!w.isRemote){ List sphere = WizardryUtilities.getBlockSphere(p.getPosition(), 4); sphere.removeIf(pos -> !w.getBlockState(pos).isFullCube()); + sphere.removeIf(pos -> WizardryUtilities.isBlockUnbreakable(w, pos)); sphere.forEach(pos -> { EntityFallingBlock block = new EntityFallingBlock(w, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, w.getBlockState(pos));