From 8c27c4349dd4b3ebd6156dcb7e3b7af785ba5277 Mon Sep 17 00:00:00 2001 From: AlexTheCoder Date: Sat, 15 Apr 2017 16:53:16 -0400 Subject: [PATCH] Allow horses to be forcibly spawned but prevent them from naturally occurring --- .../game/clans/gameplay/CustomCreatures.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/CustomCreatures.java b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/CustomCreatures.java index b97ecbc2c..8dfc6ee3a 100644 --- a/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/CustomCreatures.java +++ b/Plugins/Mineplex.Game.Clans/src/mineplex/game/clans/gameplay/CustomCreatures.java @@ -1,23 +1,18 @@ package mineplex.game.clans.gameplay; -import mineplex.core.common.util.F; -import mineplex.core.common.util.UtilPlayer; - -import org.bukkit.Material; import org.bukkit.entity.EntityType; -import org.bukkit.entity.HumanEntity; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.inventory.CraftItemEvent; -import org.bukkit.inventory.Recipe; +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; public class CustomCreatures implements Listener { private static final EntityType[] DISABLED_CREATURES = { EntityType.WITCH, EntityType.PIG_ZOMBIE, - EntityType.HORSE, EntityType.ENDERMAN }; + EntityType.ENDERMAN }; + + private static final EntityType[] DISABLED_NATURAL = { EntityType.HORSE }; @EventHandler public void onCreatureSpawn(CreatureSpawnEvent event) @@ -26,6 +21,10 @@ public class CustomCreatures implements Listener { event.setCancelled(true); } + if (isDisabledNatural(event.getEntityType()) && event.getSpawnReason() != SpawnReason.CUSTOM) + { + event.setCancelled(true); + } } private boolean isDisabledCreature(EntityType entityType) @@ -40,4 +39,17 @@ public class CustomCreatures implements Listener return false; } -} + + private boolean isDisabledNatural(EntityType entityType) + { + for (EntityType disabledCreature : DISABLED_NATURAL) + { + if (disabledCreature == entityType) + { + return true; + } + } + + return false; + } +} \ No newline at end of file