From 9b17fe68e7afec1b21804741e85d045d20d40466 Mon Sep 17 00:00:00 2001 From: Zak Ford Date: Sun, 1 Jul 2012 16:02:24 -0400 Subject: [PATCH] Added configuration option to allow plugin creature spawns --- .../java/com/sk89q/worldguard/bukkit/WorldConfiguration.java | 2 ++ .../sk89q/worldguard/bukkit/WorldGuardEntityListener.java | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java index dfc0082d..690b6669 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldConfiguration.java @@ -98,6 +98,7 @@ public class WorldConfiguration { public boolean blockFireballExplosions; public boolean blockFireballBlockDamage; public boolean blockEntityPaintingDestroy; + public boolean blockPluginSpawning; public boolean disableContactDamage; public boolean disableFallDamage; public boolean disableLavaDamage; @@ -315,6 +316,7 @@ private void loadConfiguration() { antiWolfDumbness = getBoolean("mobs.anti-wolf-dumbness", false); disableEndermanGriefing = getBoolean("mobs.disable-enderman-griefing", false); blockEntityPaintingDestroy = getBoolean("mobs.block-painting-destroy", false); + blockPluginSpawning = getBoolean("mobs.block-plugin-spawning", true); disableFallDamage = getBoolean("player-damage.disable-fall-damage", false); disableLavaDamage = getBoolean("player-damage.disable-lava-damage", false); diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java index c15df29d..30cac0f9 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardEntityListener.java @@ -610,6 +610,11 @@ public void onCreatureSpawn(CreatureSpawnEvent event) { } WorldConfiguration wcfg = cfg.get(event.getEntity().getWorld()); + + // allow spawning of creatures from plugins + if (!wcfg.blockPluginSpawning && event.getSpawnReason() == CreatureSpawnEvent.SpawnReason.CUSTOM) + return; + EntityType entityType = event.getEntityType(); if (wcfg.blockCreatureSpawn.contains(entityType)) {