Added class type to CreatureType enum

By: Nathan Adams <dinnerbone@dinnerbone.com>
This commit is contained in:
Bukkit/Spigot 2011-10-29 08:09:03 +01:00
parent 67a69090f5
commit cc2c92d5cb

View file

@ -5,26 +5,27 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
public enum CreatureType { public enum CreatureType {
CHICKEN("Chicken"), CHICKEN("Chicken", Chicken.class),
COW("Cow"), COW("Cow", Cow.class),
CREEPER("Creeper"), CREEPER("Creeper", Creeper.class),
GHAST("Ghast"), GHAST("Ghast", Ghast.class),
GIANT("Giant"), GIANT("Giant", Giant.class),
MONSTER("Monster"), MONSTER("Monster", Monster.class),
PIG("Pig"), PIG("Pig", Pig.class),
PIG_ZOMBIE("PigZombie"), PIG_ZOMBIE("PigZombie", PigZombie.class),
SHEEP("Sheep"), SHEEP("Sheep", Sheep.class),
SKELETON("Skeleton"), SKELETON("Skeleton", Skeleton.class),
SLIME("Slime"), SLIME("Slime", Slime.class),
SPIDER("Spider"), SPIDER("Spider", Spider.class),
SQUID("Squid"), SQUID("Squid", Squid.class),
ZOMBIE("Zombie"), ZOMBIE("Zombie", Zombie.class),
WOLF("Wolf"), WOLF("Wolf", Wolf.class),
CAVE_SPIDER("CaveSpider"), CAVE_SPIDER("CaveSpider", CaveSpider.class),
ENDERMAN("Enderman"), ENDERMAN("Enderman", Enderman.class),
SILVERFISH("Silverfish"); SILVERFISH("Silverfish", Silverfish.class);
private String name; private String name;
private Class<? extends Entity> clazz;
private static final Map<String, CreatureType> mapping = new HashMap<String, CreatureType>(); private static final Map<String, CreatureType> mapping = new HashMap<String, CreatureType>();
@ -34,13 +35,18 @@ public enum CreatureType {
} }
} }
private CreatureType(String name) { private CreatureType(String name, Class<? extends Entity> clazz) {
this.name = name; this.name = name;
this.clazz = clazz;
} }
public String getName() { public String getName() {
return name; return name;
} }
public Class<? extends Entity> getEntityClass() {
return clazz;
}
public static CreatureType fromName(String name) { public static CreatureType fromName(String name) {
return mapping.get(name); return mapping.get(name);