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-explosion: false
creeper-playerdamage: false creeper-playerdamage: false
creeper-blockdamage: false creeper-blockdamage: false
enderman-pickup: false
# Monsters won't follow players # Monsters won't follow players
# permission essentials.protect.entitytarget.bypass disables this # permission essentials.protect.entitytarget.bypass disables this
entitytarget: false 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.CREATURE_SPAWN, entityListener, Priority.Highest, this);
pm.registerEvent(Type.ENTITY_TARGET, 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.EXPLOSION_PRIME, entityListener, Priority.Highest, this);
pm.registerEvent(Type.ENDERMAN_PICKUP, entityListener, Priority.Highest, this);
final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this); final EssentialsProtectWeatherListener weatherListener = new EssentialsProtectWeatherListener(this);
pm.registerEvent(Type.LIGHTNING_STRIKE, weatherListener, Priority.Highest, 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.Projectile;
import org.bukkit.entity.TNTPrimed; import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EndermanPickupEvent;
import org.bukkit.event.entity.EntityDamageByBlockEvent; import org.bukkit.event.entity.EntityDamageByBlockEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
@ -352,4 +353,16 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setFire(false); 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_explosion("protect.prevent.creeper-explosion", true),
prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false), prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false),
prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false), prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false),
prevent_enderman_pickup("protect.prevent.enderman-pickup", false),
prevent_entitytarget("protect.prevent.entitytarget", false), prevent_entitytarget("protect.prevent.entitytarget", false),
protect_rails("protect.protect.rails", true), protect_rails("protect.protect.rails", true),
protect_below_rails("protect.protect.block-below", true), protect_below_rails("protect.protect.block-below", true),