From f033c261d73729ec72ff52bd36c81c5c0e5c6c83 Mon Sep 17 00:00:00 2001 From: Christian Knaapen Date: Wed, 28 Jun 2023 16:28:01 +0200 Subject: [PATCH] Fixed not being able to place blocks if placement reach is 0, falls back to vanilla reach now. --- .../requios/effortlessbuilding/systems/BuilderChain.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/nl/requios/effortlessbuilding/systems/BuilderChain.java b/src/main/java/nl/requios/effortlessbuilding/systems/BuilderChain.java index d542c76..cb3fbc7 100644 --- a/src/main/java/nl/requios/effortlessbuilding/systems/BuilderChain.java +++ b/src/main/java/nl/requios/effortlessbuilding/systems/BuilderChain.java @@ -208,8 +208,10 @@ public class BuilderChain { private BlockEntry findStartPosition(Player player, BuildModeEnum buildMode) { + int maxReach = EffortlessBuildingClient.POWER_LEVEL.getPlacementReach(player); + //Determine if we should look far or nearby - boolean shouldLookAtNear = buildMode == BuildModeEnum.DISABLED; + boolean shouldLookAtNear = buildMode == BuildModeEnum.DISABLED || maxReach < 3; if (shouldLookAtNear) { lookingAt = lookingAtNear; } else { @@ -220,8 +222,7 @@ public class BuilderChain { var startPos = lookingAt.getBlockPos(); //Check if out of reach - int maxReach = EffortlessBuildingClient.POWER_LEVEL.getPlacementReach(player); - if (player.blockPosition().distSqr(startPos) > maxReach * maxReach) return null; + if (!shouldLookAtNear && player.blockPosition().distSqr(startPos) > maxReach * maxReach) return null; startPosForBreaking = startPos;