diff --git a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/blockinteract/BlockInteractListener.java b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/blockinteract/BlockInteractListener.java index 88e24a67..11430672 100644 --- a/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/blockinteract/BlockInteractListener.java +++ b/NCPPlugin/src/main/java/fr/neatmonster/nocheatplus/checks/blockinteract/BlockInteractListener.java @@ -1,7 +1,10 @@ package fr.neatmonster.nocheatplus.checks.blockinteract; +import org.bukkit.Location; import org.bukkit.block.Block; +import org.bukkit.block.BlockFace; import org.bukkit.entity.Player; +import org.bukkit.event.Event.Result; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.block.Action; @@ -9,6 +12,8 @@ import org.bukkit.event.player.PlayerInteractEvent; import fr.neatmonster.nocheatplus.checks.CheckListener; import fr.neatmonster.nocheatplus.checks.CheckType; +import fr.neatmonster.nocheatplus.permissions.Permissions; +import fr.neatmonster.nocheatplus.utilities.InteractRayTracing; /* * M#"""""""'M dP dP M""M dP dP @@ -63,7 +68,9 @@ public class BlockInteractListener extends CheckListener { */ final Player player = event.getPlayer(); - if (event.getAction() != Action.LEFT_CLICK_BLOCK && event.getAction() != Action.RIGHT_CLICK_BLOCK){ + final Action action = event.getAction(); + + if (action != Action.LEFT_CLICK_BLOCK && action != Action.RIGHT_CLICK_BLOCK){ return; } @@ -82,9 +89,12 @@ public class BlockInteractListener extends CheckListener { // Second the direction check if (!cancelled && direction.isEnabled(player) && direction.check(player, block.getLocation())) cancelled = true; - + // If one of the checks requested to cancel the event, do so. - if (cancelled) - event.setCancelled(cancelled); + if (cancelled) { + event.setUseInteractedBlock(Result.DENY); + event.setUseItemInHand(Result.DENY); + event.setCancelled(true); + } } }