From 3752640edd02decff53d655b5280bcc0212f6732 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Mon, 2 May 2016 16:23:29 +0200 Subject: [PATCH] WordGen only possible on faces of the desired block --- src/main/java/main/util/StateMatcher.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/main/util/StateMatcher.java b/src/main/java/main/util/StateMatcher.java index 66eabfe..09a9bc0 100644 --- a/src/main/java/main/util/StateMatcher.java +++ b/src/main/java/main/util/StateMatcher.java @@ -55,12 +55,16 @@ public class StateMatcher implements Predicate { for (int i = 0; i < maxI; i++) { if ((-X / 2 <= x) && (x <= X / 2) && (-Z / 2 <= z) && (z <= Z / 2)) { - if (new BlockPos(x, Y, z) == origin) + BlockPos blockPos = new BlockPos(origin.getX() + x, origin.getY() + Y, origin.getZ() + z); + if (blockPos == origin) continue; - IBlockState bState = world.getBlockState(new BlockPos(origin.getX() + x, origin.getY() + Y, origin.getZ() + z)); + if (i % 2 == 0) + continue; + + IBlockState bState = world.getBlockState(blockPos); if (bState.getBlock() == this.state.getBlock() && bState.getValue(property) == value) { - System.out.println(String.format("Found block with desired state! (%s)", new BlockPos(origin.getX() + x, origin.getY() + Y, origin.getZ() + z))); + System.out.println(String.format("Found block with desired state! (%s), try #%s, y=%s", blockPos, i, Y)); return true; } }