From d435f7ab3c7b0e77f7ee28657838c655ea56eab5 Mon Sep 17 00:00:00 2001 From: Evenprime Date: Wed, 21 Sep 2011 20:00:56 +0200 Subject: [PATCH] Enabled blockbreak.distance check for creative mode again, because the server doesn't handle it. --- plugin.yml | 2 +- .../bukkit/nocheat/checks/blockbreak/BlockBreakCheck.java | 2 +- .../bukkit/nocheat/checks/blockbreak/ReachCheck.java | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugin.yml b/plugin.yml index 04e34dc2..b7f39ff2 100644 --- a/plugin.yml +++ b/plugin.yml @@ -3,7 +3,7 @@ name: NoCheat author: Evenprime main: cc.co.evenprime.bukkit.nocheat.NoCheat -version: 2.06a +version: 2.06b permissions: diff --git a/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/BlockBreakCheck.java b/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/BlockBreakCheck.java index 80e36c4e..e52da1ce 100644 --- a/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/BlockBreakCheck.java +++ b/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/BlockBreakCheck.java @@ -35,7 +35,7 @@ public class BlockBreakCheck { boolean cancel = false; // Reach check only if not in creative mode! - boolean reach = cc.blockbreak.reachCheck && !player.hasPermission(Permissions.BLOCKBREAK_REACH) && player.getGameMode() != GameMode.CREATIVE; + boolean reach = cc.blockbreak.reachCheck && !player.hasPermission(Permissions.BLOCKBREAK_REACH); boolean direction = cc.blockbreak.directionCheck && !player.hasPermission(Permissions.BLOCKBREAK_DIRECTION); if((reach || direction) && brokenBlock != null) { diff --git a/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/ReachCheck.java b/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/ReachCheck.java index e8780857..07a84dc5 100644 --- a/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/ReachCheck.java +++ b/src/cc/co/evenprime/bukkit/nocheat/checks/blockbreak/ReachCheck.java @@ -3,6 +3,7 @@ package cc.co.evenprime.bukkit.nocheat.checks.blockbreak; import java.util.HashMap; import java.util.Locale; +import org.bukkit.GameMode; import org.bukkit.entity.Player; import cc.co.evenprime.bukkit.nocheat.NoCheat; @@ -31,9 +32,11 @@ public class ReachCheck { boolean cancel = false; - if(distance > cc.blockbreak.reachDistance) { + double limit = player.getGameMode() == GameMode.CREATIVE ? cc.blockbreak.reachDistance + 2 : cc.blockbreak.reachDistance; + if(distance > limit) { // Player failed the check + // Increment violation counter data.reachViolationLevel += 1;