mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 20:00:46 +00:00
Restore spawnmob compatibility to 1.7.x, also provide framework for future version support
This commit is contained in:
parent
6e05327934
commit
fd697aeb83
1 changed files with 22 additions and 8 deletions
|
@ -53,11 +53,11 @@ public enum Mob {
|
||||||
MINECART_HOPPER("HopperMinecart", Enemies.NEUTRAL, EntityType.MINECART_HOPPER),
|
MINECART_HOPPER("HopperMinecart", Enemies.NEUTRAL, EntityType.MINECART_HOPPER),
|
||||||
MINECART_MOB_SPAWNER("SpawnerMinecart", Enemies.NEUTRAL, EntityType.MINECART_MOB_SPAWNER),
|
MINECART_MOB_SPAWNER("SpawnerMinecart", Enemies.NEUTRAL, EntityType.MINECART_MOB_SPAWNER),
|
||||||
ENDERCRYSTAL("EnderCrystal", Enemies.NEUTRAL, EntityType.ENDER_CRYSTAL),
|
ENDERCRYSTAL("EnderCrystal", Enemies.NEUTRAL, EntityType.ENDER_CRYSTAL),
|
||||||
EXPERIENCEORB("ExperienceOrb", Enemies.NEUTRAL, EntityType.EXPERIENCE_ORB),
|
EXPERIENCEORB("ExperienceOrb", Enemies.NEUTRAL, "EXPERIENCE_ORB"),
|
||||||
ARMOR_STAND("ArmorStand", Enemies.NEUTRAL, EntityType.ARMOR_STAND),
|
ARMOR_STAND("ArmorStand", Enemies.NEUTRAL, "ARMOR_STAND"),
|
||||||
ENDERMITE("Endermite", Enemies.ENEMY, EntityType.ENDERMITE),
|
ENDERMITE("Endermite", Enemies.ENEMY, "ENDERMITE"),
|
||||||
GUARDIAN("Guardian", Enemies.ENEMY, EntityType.GUARDIAN),
|
GUARDIAN("Guardian", Enemies.ENEMY, "GUARDIAN"),
|
||||||
RABBIT("Rabbit", Enemies.FRIENDLY, EntityType.RABBIT);
|
RABBIT("Rabbit", Enemies.FRIENDLY, "RABBIT");
|
||||||
|
|
||||||
public static final Logger logger = Logger.getLogger("Essentials");
|
public static final Logger logger = Logger.getLogger("Essentials");
|
||||||
|
|
||||||
|
@ -74,19 +74,33 @@ public enum Mob {
|
||||||
this.bukkitType = type;
|
this.bukkitType = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Mob(String n, Enemies en, String typeName) {
|
||||||
|
this.name = n;
|
||||||
|
this.type = en;
|
||||||
|
EntityType entityType;
|
||||||
|
try {
|
||||||
|
entityType = EntityType.valueOf(typeName);
|
||||||
|
} catch (IllegalArgumentException ignored) {
|
||||||
|
entityType = null;
|
||||||
|
}
|
||||||
|
bukkitType = entityType;
|
||||||
|
}
|
||||||
|
|
||||||
public String suffix = "s";
|
public String suffix = "s";
|
||||||
final public String name;
|
final public String name;
|
||||||
final public Enemies type;
|
final public Enemies type;
|
||||||
final private EntityType bukkitType;
|
final private EntityType bukkitType;
|
||||||
private static final Map<String, Mob> hashMap = new HashMap<String, Mob>();
|
private static final Map<String, Mob> hashMap = new HashMap<>();
|
||||||
private static final Map<EntityType, Mob> bukkitMap = new HashMap<EntityType, Mob>();
|
private static final Map<EntityType, Mob> bukkitMap = new HashMap<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
for (Mob mob : Mob.values()) {
|
for (Mob mob : Mob.values()) {
|
||||||
hashMap.put(mob.name.toLowerCase(Locale.ENGLISH), mob);
|
hashMap.put(mob.name.toLowerCase(Locale.ENGLISH), mob);
|
||||||
|
if (mob.bukkitType != null) {
|
||||||
bukkitMap.put(mob.bukkitType, mob);
|
bukkitMap.put(mob.bukkitType, mob);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static Set<String> getMobList() {
|
public static Set<String> getMobList() {
|
||||||
return Collections.unmodifiableSet(hashMap.keySet());
|
return Collections.unmodifiableSet(hashMap.keySet());
|
||||||
|
|
Loading…
Reference in a new issue