From f776d15e039c6a3f1270aa0908b223555550adb5 Mon Sep 17 00:00:00 2001 From: sk89q Date: Mon, 25 Aug 2014 00:09:29 -0700 Subject: [PATCH] Allow right clicking hostile mobs in protected regions too. Fixes WORLDGUARD-3144. --- .../bukkit/listener/RegionProtectionListener.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/sk89q/worldguard/bukkit/listener/RegionProtectionListener.java b/src/main/java/com/sk89q/worldguard/bukkit/listener/RegionProtectionListener.java index de09f981..36075ea8 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/listener/RegionProtectionListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/listener/RegionProtectionListener.java @@ -372,8 +372,19 @@ public void onUseEntity(UseEntityEvent event) { RegionAssociable associable = createRegionAssociable(event.getCause()); RegionQuery query = getPlugin().getRegionContainer().createQuery(); - boolean canUse = query.testState(target, associable, DefaultFlag.BUILD) || query.testState(target, associable, DefaultFlag.USE); - String what = "use that"; + boolean canUse; + String what; + + /* Hostile / ambient mob override */ + if (Entities.isHostile(event.getEntity()) || Entities.isAmbient(event.getEntity())) { + canUse = true; + what = "use that"; + + /* Everything else */ + } else { + canUse = query.testState(target, associable, DefaultFlag.BUILD) || query.testState(target, associable, DefaultFlag.USE); + what = "use that"; + } if (!canUse) { tellErrorMessage(event, event.getCause(), target, what);