From 5a9732981fe27c5136e93e5b4c7f3a0d681b06be Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Wed, 3 Dec 2014 17:26:08 -0800 Subject: [PATCH] Workaround for 2x player interact event bug. Spigot bug: http://www.spigotmc.org/threads/one-right-click-player-interaction-fires-two-player-interact-events.37600/#post-431325 --- .../ryanhamshire/GriefPrevention/PlayerEventHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index 4985b7e..78a3869 100644 --- a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -1059,6 +1059,8 @@ class PlayerEventHandler implements Listener Player player = event.getPlayer(); Block clickedBlock = event.getClickedBlock(); //null returned here means interacting with air + GriefPrevention.AddLogEntry(action.name()); + Material clickedBlockType = null; if(clickedBlock != null) { @@ -1897,7 +1899,11 @@ class PlayerEventHandler implements Listener if(playerData.shovelMode != ShovelMode.Admin && (newClaimWidth < GriefPrevention.instance.config_claims_minSize || newClaimHeight < GriefPrevention.instance.config_claims_minSize)) { - GriefPrevention.sendMessage(player, TextMode.Err, Messages.NewClaimTooSmall, String.valueOf(GriefPrevention.instance.config_claims_minSize)); + //this IF block is a workaround for craftbukkit bug which fires two events for one interaction + if(newClaimWidth != 1 && newClaimHeight != 1) + { + GriefPrevention.sendMessage(player, TextMode.Err, Messages.NewClaimTooSmall, String.valueOf(GriefPrevention.instance.config_claims_minSize)); + } return; }