New config setting: protect.prevent.enderman-pickup

Defaults to false
This commit is contained in:
snowleo 2011-09-21 02:30:58 +02:00
parent d60dd01f0f
commit a0031d1d45
4 changed files with 16 additions and 0 deletions

View file

@ -401,6 +401,7 @@ protect:
creeper-explosion: false
creeper-playerdamage: false
creeper-blockdamage: false
enderman-pickup: false
# Monsters won't follow players
# permission essentials.protect.entitytarget.bypass disables this
entitytarget: false

View file

@ -70,6 +70,7 @@ public class EssentialsProtect extends JavaPlugin implements IConf, IProtect
pm.registerEvent(Type.CREATURE_SPAWN, entityListener, Priority.Highest, this);
pm.registerEvent(Type.ENTITY_TARGET, entityListener, Priority.Highest, this);
pm.registerEvent(Type.EXPLOSION_PRIME, entityListener, Priority.Highest, this);
pm.registerEvent(Type.ENDERMAN_PICKUP, entityListener, Priority.Highest, this);
final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this);
pm.registerEvent(Type.LIGHTNING_STRIKE, weatherListener, Priority.Highest, this);

View file

@ -22,6 +22,7 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EndermanPickupEvent;
import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
@ -352,4 +353,16 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setFire(false);
}
}
@Override
public void onEndermanPickup(EndermanPickupEvent event)
{
if (event.isCancelled()) {
return;
}
if (prot.getSettingBool(ProtectConfig.prevent_enderman_pickup)) {
event.setCancelled(true);
return;
}
}
}

View file

@ -39,6 +39,7 @@ public enum ProtectConfig
prevent_creeper_explosion("protect.prevent.creeper-explosion", true),
prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false),
prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false),
prevent_enderman_pickup("protect.prevent.enderman-pickup", false),
prevent_entitytarget("protect.prevent.entitytarget", false),
protect_rails("protect.protect.rails", true),
protect_below_rails("protect.protect.block-below", true),