mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-09-30 07:37:31 +02:00
Allow hitting hostile mobs in protected regions.
This commit is contained in:
parent
300f69597f
commit
8d29f6971a
@ -384,8 +384,13 @@ public void onDamageEntity(DamageEntityEvent event) {
|
||||
boolean canDamage;
|
||||
String what;
|
||||
|
||||
/* Hostile / ambient mob override */
|
||||
if (Entities.isHostile(event.getEntity()) || Entities.isAmbient(event.getEntity())) {
|
||||
canDamage = true;
|
||||
what = "hit that";
|
||||
|
||||
/* PVP */
|
||||
if (event.getEntity() instanceof Player && (attacker = event.getCause().getFirstPlayer()) != null && !attacker.equals(event.getEntity())) {
|
||||
} else if (event.getEntity() instanceof Player && (attacker = event.getCause().getFirstPlayer()) != null && !attacker.equals(event.getEntity())) {
|
||||
Player defender = (Player) event.getEntity();
|
||||
|
||||
canDamage = query.testBuild(target, associable, DefaultFlag.PVP)
|
||||
|
@ -19,10 +19,13 @@
|
||||
|
||||
package com.sk89q.worldguard.bukkit.util;
|
||||
|
||||
import org.bukkit.entity.Ambient;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Monster;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Projectile;
|
||||
import org.bukkit.entity.Slime;
|
||||
import org.bukkit.entity.TNTPrimed;
|
||||
import org.bukkit.entity.Tameable;
|
||||
import org.bukkit.entity.minecart.ExplosiveMinecart;
|
||||
@ -125,4 +128,25 @@ public static boolean isFakePlayer(Player player) {
|
||||
String name = player.getName();
|
||||
return name.length() >= 3 && name.charAt(0) == '[' && name.charAt(name.length() - 1) == ']';
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether an entity is hostile.
|
||||
*
|
||||
* @param entity the entity
|
||||
* @return true if hostile
|
||||
*/
|
||||
public static boolean isHostile(Entity entity) {
|
||||
return entity instanceof Monster || entity instanceof Slime;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test whether an entity is ambient.
|
||||
*
|
||||
* @param entity the entity
|
||||
* @return true if ambient
|
||||
*/
|
||||
public static boolean isAmbient(Entity entity) {
|
||||
return entity instanceof Ambient;
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user