From 06eeab3b72d4f41481fda7b3f73794837f08790d Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Mon, 8 Sep 2014 15:08:37 -0700 Subject: [PATCH] Prevent leashing claimed creatures. Using a leash on a creature in a land claim now requires the claim owner's container trust. --- .../GriefPrevention/PlayerEventHandler.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java index 40a3af1..60e5711 100644 --- a/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/PlayerEventHandler.java @@ -35,6 +35,7 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockFace; import org.bukkit.entity.Animals; import org.bukkit.entity.Boat; +import org.bukkit.entity.Creature; import org.bukkit.entity.Entity; import org.bukkit.entity.Hanging; import org.bukkit.entity.Player; @@ -794,6 +795,22 @@ class PlayerEventHandler implements Listener } } } + + //if preventing theft, prevent leashing claimed creatures + if(GriefPrevention.instance.config_claims_preventTheft && entity instanceof Creature && player.getItemInHand().getType() == Material.LEASH) + { + Claim claim = this.dataStore.getClaimAt(entity.getLocation(), false, playerData.lastClaim); + if(claim != null) + { + String failureReason = claim.allowContainers(player); + if(failureReason != null) + { + event.setCancelled(true); + GriefPrevention.sendMessage(player, TextMode.Err, failureReason); + return; + } + } + } } //when a player picks up an item...