Updated to use CreatureType and CreatureSpawner

Nothing will break as a result of the refactoring of MobType due to
deprecated code being left in. These will be removed after 1 week,
enough time for plugin devs time to migrate.

By: Andrew Ardill <andrew.ardill@gmail.com>
This commit is contained in:
CraftBukkit/Spigot 2011-02-17 14:47:33 +11:00
parent ddc6442b3b
commit 4a3c54648b
2 changed files with 46 additions and 11 deletions

View file

@ -278,7 +278,7 @@ public class CraftBlock implements Block {
case DISPENSER:
return new CraftDispenser(this);
case MOB_SPAWNER:
return new CraftMobSpawner(this);
return new CraftCreatureSpawner(this);
case NOTE_BLOCK:
return new CraftNoteBlock(this);
default:

View file

@ -2,41 +2,42 @@ package org.bukkit.craftbukkit.block;
import net.minecraft.server.TileEntityMobSpawner;
import org.bukkit.block.Block;
import org.bukkit.block.CreatureSpawner;
import org.bukkit.block.MobSpawner;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.entity.CreatureType;
import org.bukkit.entity.MobType;
public class CraftMobSpawner extends CraftBlockState implements MobSpawner {
public class CraftCreatureSpawner extends CraftBlockState implements CreatureSpawner, MobSpawner {
private final CraftWorld world;
private final TileEntityMobSpawner spawner;
public CraftMobSpawner(final Block block) {
public CraftCreatureSpawner(final Block block) {
super(block);
world = (CraftWorld)block.getWorld();
spawner = (TileEntityMobSpawner)world.getTileEntityAt(getX(), getY(), getZ());
}
public MobType getMobType() {
return MobType.fromName(spawner.h);
public CreatureType getCreatureType() {
return CreatureType.fromName(spawner.h);
}
public void setMobType(MobType mobType) {
spawner.h = mobType.getName();
public void setCreatureType(CreatureType creatureType) {
spawner.h = creatureType.getName();
}
public String getMobTypeId() {
public String getCreatureTypeId() {
return spawner.h;
}
public void setMobTypeId(String mobType) {
public void setCreatureTypeId(String creatureType) {
// Verify input
MobType type = MobType.fromName(mobType);
CreatureType type = CreatureType.fromName(creatureType);
if (type == null) {
return;
}
spawner.h = type.getName();
}
public int getDelay() {
@ -46,4 +47,38 @@ public class CraftMobSpawner extends CraftBlockState implements MobSpawner {
public void setDelay(int delay) {
spawner.e = delay;
}
/**
* @deprecated
*/
public MobType getMobType() {
return MobType.fromName(spawner.h);
}
/**
* @deprecated
*/
public void setMobType(MobType mobType) {
spawner.h = mobType.getName();
}
/**
* @deprecated
*/
public String getMobTypeId() {
return spawner.h;
}
/**
* @deprecated
*/
public void setMobTypeId(String mobType) {
// Verify input
MobType type = MobType.fromName(mobType);
if (type == null) {
return;
}
spawner.h = type.getName();
}
}