package org.bukkit.craftbukkit.block; import net.minecraft.server.TileEntityMobSpawner; import org.bukkit.block.Block; import org.bukkit.block.CreatureSpawner; import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.entity.CreatureType; import org.bukkit.entity.EntityType; public class CraftCreatureSpawner extends CraftBlockState implements CreatureSpawner { private final TileEntityMobSpawner spawner; public CraftCreatureSpawner(final Block block) { super(block); spawner = (TileEntityMobSpawner) ((CraftWorld) block.getWorld()).getTileEntityAt(getX(), getY(), getZ()); } @Deprecated public CreatureType getCreatureType() { return CreatureType.fromName(spawner.getSpawner().getMobName()); } public EntityType getSpawnedType() { return EntityType.fromName(spawner.getSpawner().getMobName()); } @Deprecated public void setCreatureType(CreatureType creatureType) { spawner.getSpawner().setMobName(creatureType.getName()); } public void setSpawnedType(EntityType entityType) { if (entityType == null || entityType.getName() == null) { throw new IllegalArgumentException("Can't spawn EntityType " + entityType + " from mobspawners!"); } spawner.getSpawner().setMobName(entityType.getName()); } @Deprecated public String getCreatureTypeId() { return spawner.getSpawner().getMobName(); } @Deprecated public void setCreatureTypeId(String creatureName) { setCreatureTypeByName(creatureName); } public String getCreatureTypeName() { return spawner.getSpawner().getMobName(); } public void setCreatureTypeByName(String creatureType) { // Verify input EntityType type = EntityType.fromName(creatureType); if (type == null) { return; } setSpawnedType(type); } public int getDelay() { return spawner.getSpawner().spawnDelay; } public void setDelay(int delay) { spawner.getSpawner().spawnDelay = delay; } }