package greymerk.roguelike.monster;
import java.util.Random;
import greymerk.roguelike.monster.profiles.ProfileArcher;
import greymerk.roguelike.monster.profiles.ProfileAshlea;
import greymerk.roguelike.monster.profiles.ProfileBaby;
import greymerk.roguelike.monster.profiles.ProfileEvoker;
import greymerk.roguelike.monster.profiles.ProfileHusk;
import greymerk.roguelike.monster.profiles.ProfileJohnny;
import greymerk.roguelike.monster.profiles.ProfileMagicArcher;
import greymerk.roguelike.monster.profiles.ProfilePigman;
import greymerk.roguelike.monster.profiles.ProfilePoisonArcher;
import greymerk.roguelike.monster.profiles.ProfileRleahy;
import greymerk.roguelike.monster.profiles.ProfileSkeleton;
import greymerk.roguelike.monster.profiles.ProfileSwordsman;
import greymerk.roguelike.monster.profiles.ProfileTallMob;
import greymerk.roguelike.monster.profiles.ProfileVillager;
import greymerk.roguelike.monster.profiles.ProfileVindicator;
import greymerk.roguelike.monster.profiles.ProfileWitch;
import greymerk.roguelike.monster.profiles.ProfileWither;
import greymerk.roguelike.monster.profiles.ProfileZombie;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.world.World;
public enum MonsterProfile {
TALLMOB, ZOMBIE, PIGMAN, SKELETON, VILLAGER, HUSK, BABY, ASHLEA, RLEAHY,
ARCHER, WITHER, POISONARCHER, MAGICARCHER, SWORDSMAN, EVOKER, VINDICATOR,
WITCH, JOHNNY;
public static IMonsterProfile get(MonsterProfile profile){
switch(profile){
case TALLMOB: return new ProfileTallMob();
case ZOMBIE: return new ProfileZombie();
case PIGMAN: return new ProfilePigman();
case SKELETON: return new ProfileSkeleton();
case VILLAGER: return new ProfileVillager();
case HUSK: return new ProfileHusk();
case BABY: return new ProfileBaby();
case ASHLEA: return new ProfileAshlea();
case RLEAHY: return new ProfileRleahy();
case ARCHER: return new ProfileArcher();
case WITHER: return new ProfileWither();
case POISONARCHER: return new ProfilePoisonArcher();
case MAGICARCHER: return new ProfileMagicArcher();
case SWORDSMAN: return new ProfileSwordsman();
case EVOKER: return new ProfileEvoker();
case VINDICATOR: return new ProfileVindicator();
case WITCH: return new ProfileWitch();
case JOHNNY: return new ProfileJohnny();
default: return new ProfileTallMob();
}
}
public static void equip(World world, Random rand, int level, IEntity mob){
IMonsterProfile profile = null;
if(mob.instance(EntityZombie.class)) profile = get(ZOMBIE);
if(mob.instance(EntitySkeleton.class)) profile = get(SKELETON);
if(profile == null) return;
profile.addEquipment(world, rand, level, mob);
}
}