From f741fa42eefcf00e7aeb1c297b8822b3a7a7e3aa Mon Sep 17 00:00:00 2001 From: Baktus79 Date: Thu, 15 Apr 2021 19:45:57 +0200 Subject: [PATCH] Checked for claim information too early --- .../BanFromClaim/listener/GDListener.java | 13 ++++++++----- .../BanFromClaim/listener/GPListener.java | 11 ++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/no/vestlandetmc/BanFromClaim/listener/GDListener.java b/src/main/java/no/vestlandetmc/BanFromClaim/listener/GDListener.java index 94cf275..d294b9c 100644 --- a/src/main/java/no/vestlandetmc/BanFromClaim/listener/GDListener.java +++ b/src/main/java/no/vestlandetmc/BanFromClaim/listener/GDListener.java @@ -26,23 +26,26 @@ public class GDListener implements Listener { public void onPlayerEnterClaim(PlayerMoveEvent e) { final Location locFrom = e.getFrom(); final Location locTo = e.getTo(); + if(locFrom.getBlock().equals(locTo.getBlock())) { return; } + final Player player = e.getPlayer(); final Core gd = GriefDefender.getCore(); final Vector3i vectorTo = Vector3i.from(locTo.getBlockX(), locTo.getBlockY(), locTo.getBlockZ()); final Vector3i vectorFrom = Vector3i.from(locFrom.getBlockX(), locFrom.getBlockY(), locFrom.getBlockZ()); final Claim claimTo = gd.getClaimManager(locTo.getWorld().getUID()).getClaimAt(vectorTo); final Claim claimFrom = gd.getClaimManager(locFrom.getWorld().getUID()).getClaimAt(vectorFrom); - final UUID ownerUUID = claimTo.getOwnerUniqueId(); - boolean hasAttacked = false; - - if(CombatMode.ATTACKER.containsKey(player.getUniqueId())) - hasAttacked = CombatMode.ATTACKER.get(player.getUniqueId()).equals(ownerUUID); if(locFrom.getBlockX() != locTo.getBlockX() || locFrom.getBlockZ() != locTo.getBlockZ()) { if(player.hasPermission("bfc.bypass")) { return; } if(!claimTo.isWilderness()) { + final UUID ownerUUID = claimTo.getOwnerUniqueId(); + boolean hasAttacked = false; + + if(CombatMode.ATTACKER.containsKey(player.getUniqueId())) + hasAttacked = CombatMode.ATTACKER.get(player.getUniqueId()).equals(ownerUUID); + if(playerBanned(player, claimTo) && !hasAttacked) { if(!claimFrom.isWilderness()) { if(playerBanned(player, claimFrom)) { diff --git a/src/main/java/no/vestlandetmc/BanFromClaim/listener/GPListener.java b/src/main/java/no/vestlandetmc/BanFromClaim/listener/GPListener.java index 6ea2d91..851cdb3 100644 --- a/src/main/java/no/vestlandetmc/BanFromClaim/listener/GPListener.java +++ b/src/main/java/no/vestlandetmc/BanFromClaim/listener/GPListener.java @@ -28,16 +28,17 @@ public void onPlayerEnterClaim(PlayerMoveEvent e) { final Player player = e.getPlayer(); final Claim claim = GriefPrevention.instance.dataStore.getClaimAt(locTo, true, null); - final UUID ownerUUID = claim.ownerID; - boolean hasAttacked = false; - - if(CombatMode.ATTACKER.containsKey(player.getUniqueId())) - hasAttacked = CombatMode.ATTACKER.get(player.getUniqueId()).equals(ownerUUID); if(player.hasPermission("bfc.bypass")) { return; } if(claim != null) { + final UUID ownerUUID = claim.ownerID; final String claimID = claim.getID().toString(); + boolean hasAttacked = false; + + if(CombatMode.ATTACKER.containsKey(player.getUniqueId())) + hasAttacked = CombatMode.ATTACKER.get(player.getUniqueId()).equals(ownerUUID); + if(playerBanned(player, claim, claimID) && !hasAttacked) { GriefPrevention.instance.ejectPlayer(player);