package minefantasy.mf2.entity.list; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityList.EntityEggInfo; import minefantasy.mf2.MineFantasyII; import minefantasy.mf2.config.ConfigExperiment; import minefantasy.mf2.config.ConfigMobs; import minefantasy.mf2.entity.EntityArrowMF; import minefantasy.mf2.entity.EntityBomb; import minefantasy.mf2.entity.EntityDragonBreath; import minefantasy.mf2.entity.EntityFireBlast; import minefantasy.mf2.entity.EntityItemUnbreakable; import minefantasy.mf2.entity.EntityMine; import minefantasy.mf2.entity.EntityParachute; import minefantasy.mf2.entity.EntityShrapnel; import minefantasy.mf2.entity.EntitySmoke; import cpw.mods.fml.common.registry.EntityRegistry; public class EntityListMF { public static void register() { int IDBase = ConfigMobs.entityID; boolean auto = IDBase == -1; addEntity(EntityArrowMF.class, "arrowMF", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 1 : 20);++IDBase; addEntity(EntityBomb.class, "bombMF", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 1 : 20);++IDBase; addEntity(EntityShrapnel.class, "shrapnel_mf", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 1 : 20);++IDBase; addEntity(EntityFireBlast.class, "fire_blast", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 2 : 20);++IDBase; addEntity(EntitySmoke.class, "smoke_mf", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 2 : 20);++IDBase; addEntity(EntityItemUnbreakable.class, "special_eitem_mf", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 2 : 20);++IDBase; addEntity(EntityMine.class, "landmineMF", auto ? autoAssign() : IDBase, 16, 10);++IDBase; addEntity(EntityParachute.class, "parachute_mf", auto ? autoAssign() : IDBase, 16, 20);++IDBase; addEntity(EntityDragonBreath.class, "dragonbreath", auto ? autoAssign() : IDBase, 16, ConfigExperiment.dynamicArrows ? 2 : 20);++IDBase; MobListMF.register(auto, IDBase); } public static int autoAssign() { for(int a = 0; a <= 255; a++) { if (!EntityList.IDtoClassMapping.containsKey(Integer.valueOf(a))) { System.out.println("MineFantasy: Autoassigned EntityID " +a); return a; } } throw new IllegalArgumentException("MineFantasy: No Available Entity ID!, you can try manually adding them in Config/Mobs.cfg"); } private static void addEntity(Class<? extends Entity> entityClass, String entityName, int id, int range, int ticks) { if (MineFantasyII.isDebug()) { System.out.println("MineFantasy: register basic entity " + entityClass + " with Mod ID " + id); } EntityRegistry.registerModEntity(entityClass, entityName, id, MineFantasyII.instance, range, ticks, true); EntityList.addMapping(entityClass, entityName, id); } }