diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index a26c65f..6af591f 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -290,7 +290,6 @@ public class CinderLoE { public static Item bootsArnorBanner; public static Item maceArnor; public static LOTRUnitTradeEntries ARNOR_CAPTAIN; - public static Item battleNunSpawnEgg; // Wizards public static Item radagastStaff; @@ -301,43 +300,7 @@ public class CinderLoE { // Relics public static Item welfRelic; // Spawn eggs - public static Item redDwarfWarriorSpawnEgg; - public static Item redDwarfArbalestSpawnEgg; - public static Item redDwarfCommanderSpawnEgg; - public static Item redDwarfBannerBearerSpawnEgg; - public static Item redDwarfSmithSpawnEgg; - - public static Item limwaithSpawnEgg; - public static Item limwaithWarriorSpawnEgg; - public static Item limwaithBoneWarriorSpawnEgg; - public static Item limwaithBlowgunnerSpawnEgg; - public static Item limwaithBannerBearerSpawnEgg; - public static Item limwaithChieftainSpawnEgg; - public static Item limwaithFishmongerSpawnEgg; - public static Item limwaithShamanSpawnEgg; - - - public static Item fangornBearSpawnEgg; - public static Item fangornWildBoarSpawnEgg; - public static Item fangornAurochSpawnEgg; - public static Item fangornElkSpawnEgg; - public static Item renegadeSpawnEgg; - public static Item renegadeCaptainSpawnEgg; - public static Item wraithSpawnEgg; - - public static Item ArnorSoldierSpawnEgg; - public static Item ArnorSoldierArcherSpawnEgg; - public static Item ArnorCaptainSpawnEgg; - public static Item ArnorBannerBearerSpawnEgg; - - public static Item BreeSoldierSpawnEgg; - public static Item BreeCrossbowmanSpawnEgg; - public static Item BreeCaptainSpawnEgg; - public static Item BreeSoldierBannerBearerSpawnEgg; - public static Item BreeOutriderSpawnEgg; - public static Item SauronSpawnEgg; - - public static Item utumnoSlaveSpawnEgg; + public static Item spawnEgg; // Spawn lists public static LOTRSpawnList RED_DWARF; @@ -589,44 +552,9 @@ public class CinderLoE { pretzel = new LOTRItemFood(4,1.0f, false).setUnlocalizedName("lotr:pretzel").setTextureName("lotr:pretzel"); halva = new LOTRItemFood (7, 4.0f, false).setUnlocalizedName("lotr:halva").setTextureName("lotr:halva"); honey = new LOTRItemFood(3, 0.4f, false).setPotionEffect(Potion.regeneration.id, 5, 0, 100).setUnlocalizedName("lotr:honey").setTextureName("lotr:honey"); - // Red Dwarf Spawns - redDwarfWarriorSpawnEgg = new CinderLoESpawnEgg(RedDwarfWarrior.class).setTextureName("lotr:spawn_egg"); - redDwarfArbalestSpawnEgg = new CinderLoESpawnEgg(RedDwarfArbalest.class).setTextureName("lotr:spawn_egg"); - redDwarfCommanderSpawnEgg = new CinderLoESpawnEgg(RedDwarfCommander.class).setTextureName("lotr:spawn_egg"); - redDwarfBannerBearerSpawnEgg = new CinderLoESpawnEgg(RedDwarfBannerBearer.class).setTextureName("lotr:spawn_egg"); - redDwarfSmithSpawnEgg = new CinderLoESpawnEgg(RedDwarfSmith.class).setTextureName("lotr:spawn_egg"); - // Limwaith Spawns - limwaithSpawnEgg = new CinderLoESpawnEgg(Limwaith.class).setTextureName("lotr:spawn_egg"); - limwaithFishmongerSpawnEgg = new CinderLoESpawnEgg(LimwaithFishmonger.class).setTextureName("lotr:spawn_egg"); - limwaithShamanSpawnEgg = new CinderLoESpawnEgg(LimwaithShaman.class).setTextureName("lotr:spawn_egg"); - limwaithWarriorSpawnEgg = new CinderLoESpawnEgg(LimwaithWarrior.class).setTextureName("lotr:spawn_egg"); - limwaithBoneWarriorSpawnEgg = new CinderLoESpawnEgg(LimwaithBoneWarrior.class).setTextureName("lotr:spawn_egg"); - limwaithBlowgunnerSpawnEgg = new CinderLoESpawnEgg(LimwaithBlowgunner.class).setTextureName("lotr:spawn_egg"); - limwaithChieftainSpawnEgg = new CinderLoESpawnEgg(LimwaithChieftain.class).setTextureName("lotr:spawn_egg"); - limwaithBannerBearerSpawnEgg = new CinderLoESpawnEgg(LimwaithBannerBearer.class).setTextureName("lotr:spawn_egg"); - // Fangorn Spawns - fangornBearSpawnEgg = new CinderLoESpawnEgg(FangornBear.class).setTextureName("lotr:spawn_egg"); - fangornWildBoarSpawnEgg = new CinderLoESpawnEgg(FangornWildBoar.class).setTextureName("lotr:spawn_egg"); - fangornAurochSpawnEgg = new CinderLoESpawnEgg(FangornAuroch.class).setTextureName("lotr:spawn_egg"); - fangornElkSpawnEgg = new CinderLoESpawnEgg(FangornElk.class).setTextureName("lotr:spawn_egg"); - // Renegade Spawns - renegadeSpawnEgg = new CinderLoESpawnEgg(Renegade.class).setTextureName("lotr:spawn_egg"); - renegadeCaptainSpawnEgg = new CinderLoESpawnEgg(RenegadeCaptain.class).setTextureName("lotr:spawn_egg"); - // Arnor Spawns - ArnorSoldierSpawnEgg = new CinderLoESpawnEgg(ArnorSoldier.class).setTextureName("lotr:spawn_egg"); - ArnorSoldierArcherSpawnEgg = new CinderLoESpawnEgg(ArnorSoldierArcher.class).setTextureName("lotr:spawn_egg"); - ArnorCaptainSpawnEgg = new CinderLoESpawnEgg(ArnorCaptain.class).setTextureName("lotr:spawn_egg"); - ArnorBannerBearerSpawnEgg = new CinderLoESpawnEgg(ArnorBannerBearer.class).setTextureName("lotr:spawn_egg"); - battleNunSpawnEgg = new CinderLoESpawnEgg(BattleNun.class).setTextureName("lotr:spawn_egg"); - // Bree Spawns - BreeSoldierSpawnEgg = new CinderLoESpawnEgg(BreeSoldier.class).setTextureName("lotr:spawn_egg"); - BreeCrossbowmanSpawnEgg = new CinderLoESpawnEgg(BreeCrossbowman.class).setTextureName("lotr:spawn_egg"); - BreeCaptainSpawnEgg = new CinderLoESpawnEgg(BreeCaptain.class).setTextureName("lotr:spawn_egg"); - BreeSoldierBannerBearerSpawnEgg = new CinderLoESpawnEgg(BreeSoldierBannerBearer.class).setTextureName("lotr:spawn_egg"); - BreeOutriderSpawnEgg = new CinderLoESpawnEgg(BreeOutrider.class).setTextureName("lotr:spawn_egg"); - // Special Spawns - SauronSpawnEgg = new CinderLoESpawnEgg(LOTREntitySauron.class).setTextureName("lotr:spawn_egg"); - wraithSpawnEgg = new CinderLoESpawnEgg(Wraith.class).setTextureName("lotr:spawn_egg"); + + spawnEgg = new CinderLoESpawnEgg(); + // Wizard Staves radagastStaff = (new RadagastStaff()).setUnlocalizedName("lotr:radagastStaff").setTextureName("lotr:radagastStaff"); pallandoStaff = (new PallandoStaff()).setUnlocalizedName("lotr:pallandoStaff").setTextureName("lotr:pallandoStaff"); @@ -634,76 +562,36 @@ public class CinderLoE { sarumanStaff = (new SarumanStaff()).setUnlocalizedName("lotr:sarumanStaff").setTextureName("lotr:sarumanStaff"); // Relics welfRelic = (new WoodElfRelic()).setUnlocalizedName("lotr:welfRelic").setTextureName("lotr:welfRelic"); - // Utumno Spawns - utumnoSlaveSpawnEgg = new CinderLoESpawnEgg(UtumnoSlaveTrader.class).setTextureName("lotr:spawn_egg"); /* * Item Registation, add up the "last ID added" upon adding a new item * Weapons will need to be linked */ - // Last ID added: 147 + // Last ID added: 117 // ==Food Items== - ItemRegistration.registerItem(onion, "onion", 89); - ItemRegistration.registerItem(cabbage, "cabbage", 90); - ItemRegistration.registerItem(pelmen, "pelmen", 91); - ItemRegistration.registerItem(lightStew, "lightStew", 92); - ItemRegistration.registerItem(spice, "spice", 93); - ItemRegistration.registerItem(spicedHam, "spicedHam", 94); - ItemRegistration.registerItem(chocolatebar, "chocolatebar", 115); - ItemRegistration.registerItem(fruitsalad, "fruitsalad", 116); - ItemRegistration.registerItem(flour, "flour", 117); - ItemRegistration.registerItem(dough, "dough", 118); - ItemRegistration.registerItem(pasta, "pasta", 119); - ItemRegistration.registerItem(pretzel, "pretzel", 120); - ItemRegistration.registerItem(halva, "halva", 125); - ItemRegistration.registerItem(honey, "honey", 126); - - // ==Red Dwarf Eggs== - ItemRegistration.registerItem(redDwarfWarriorSpawnEgg, "redDwarfWarriorSpawnEgg", 0); - ItemRegistration.registerItem(redDwarfArbalestSpawnEgg, "redDwarfArbalestSpawnEgg", 1); - ItemRegistration.registerItem(redDwarfCommanderSpawnEgg, "redDwarfCommanderSpawnEgg", 2); - ItemRegistration.registerItem(redDwarfBannerBearerSpawnEgg, "redDwarfBannerBearerSpawnEgg", 3); - ItemRegistration.registerItem(redDwarfSmithSpawnEgg, "redDwarfSmithSpawnEgg", 68); - // ==Fangorn and Event Mob Eggs== - ItemRegistration.registerItem(fangornBearSpawnEgg, "fangornBearSpawnEgg", 4); - ItemRegistration.registerItem(fangornWildBoarSpawnEgg, "fangornWildBoarSpawnEgg", 5); - ItemRegistration.registerItem(fangornAurochSpawnEgg, "fangornAurochSpawnEgg", 6); - ItemRegistration.registerItem(fangornElkSpawnEgg, "fangornElkSpawnEgg", 7); - ItemRegistration.registerItem(renegadeSpawnEgg, "renegadeSpawnEgg", 8); - ItemRegistration.registerItem(renegadeCaptainSpawnEgg, "renegadeCaptainSpawnEgg", 9); - ItemRegistration.registerItem(wraithSpawnEgg, "wraithSpawnEgg", 10); - ItemRegistration.registerItem(SauronSpawnEgg, "SauronSpawnEgg", 25); - // ==Limwaith Eggs== - ItemRegistration.registerItem(limwaithSpawnEgg, "limwaithSpawnEgg", 82); - ItemRegistration.registerItem(limwaithShamanSpawnEgg, "limwaithShamanSpawnEgg", 85); - ItemRegistration.registerItem(limwaithFishmongerSpawnEgg, "limwaithFishmongerSpawnEgg", 86); - ItemRegistration.registerItem(limwaithWarriorSpawnEgg, "limwaithWarriorSpawnEgg", 11); - ItemRegistration.registerItem(limwaithBoneWarriorSpawnEgg, "limwaithBoneWarriorSpawnEgg", 84); - ItemRegistration.registerItem(limwaithBlowgunnerSpawnEgg, "limwaithBlowgunnerSpawnEgg", 12); - ItemRegistration.registerItem(limwaithBannerBearerSpawnEgg, "limwaithBannerBearerSpawnEgg", 13); - ItemRegistration.registerItem(limwaithChieftainSpawnEgg, "limwaithChieftainSpawnEgg", 14); - // ==Arnor Eggs== - ItemRegistration.registerItem(ArnorSoldierSpawnEgg, "ArnorSoldierSpawnEgg", 15); - ItemRegistration.registerItem(ArnorSoldierArcherSpawnEgg, "ArnorSoldierArcherSpawnEgg", 16); - ItemRegistration.registerItem(ArnorCaptainSpawnEgg, "ArnorCaptainSpawnEgg", 17); - ItemRegistration.registerItem(ArnorBannerBearerSpawnEgg, "ArnorBannerBearerSpawnEgg", 18); - ItemRegistration.registerItem(battleNunSpawnEgg, "battleNunSpawnEgg", 19); - // ==Bree Eggs== - ItemRegistration.registerItem(BreeSoldierSpawnEgg, "BreeSoldierSpawnEgg", 20); - ItemRegistration.registerItem(BreeCrossbowmanSpawnEgg, "BreeCrossbowmanSpawnEgg", 21); - ItemRegistration.registerItem(BreeCaptainSpawnEgg, "BreeCaptainSpawnEgg", 22); - ItemRegistration.registerItem(BreeSoldierBannerBearerSpawnEgg, "BreeSoldierBannerBearerSpawnEgg", 23); - ItemRegistration.registerItem(BreeOutriderSpawnEgg, "BreeOutriderSpawnEgg", 24); - - // ==Utumno Expansion Eggs== - ItemRegistration.registerItem(utumnoSlaveSpawnEgg, "utumnoSlaveSpawnEgg", 69); + ItemRegistration.registerItem(onion, "onion", 58); + ItemRegistration.registerItem(cabbage, "cabbage", 59); + ItemRegistration.registerItem(pelmen, "pelmen", 60); + ItemRegistration.registerItem(lightStew, "lightStew", 61); + ItemRegistration.registerItem(spice, "spice", 62); + ItemRegistration.registerItem(spicedHam, "spicedHam", 63); + ItemRegistration.registerItem(chocolatebar, "chocolatebar", 84); + ItemRegistration.registerItem(fruitsalad, "fruitsalad", 85); + ItemRegistration.registerItem(flour, "flour", 86); + ItemRegistration.registerItem(dough, "dough", 87); + ItemRegistration.registerItem(pasta, "pasta", 88); + ItemRegistration.registerItem(pretzel, "pretzel", 89); + ItemRegistration.registerItem(halva, "halva", 94); + ItemRegistration.registerItem(honey, "honey", 95); + + ItemRegistration.registerItem(spawnEgg, "spawnEgg", 42); // Wizard Staves - ItemRegistration.registerItem(radagastStaff, "radagastStaff", 26); - ItemRegistration.registerItem(pallandoStaff, "pallandoStaff", 27); - ItemRegistration.registerItem(alatarStaff, "alatarStaff", 28); - ItemRegistration.registerItem(sarumanStaff, "sarumanStaff", 29); + ItemRegistration.registerItem(radagastStaff, "radagastStaff", 0); + ItemRegistration.registerItem(pallandoStaff, "pallandoStaff", 1); + ItemRegistration.registerItem(alatarStaff, "alatarStaff", 2); + ItemRegistration.registerItem(sarumanStaff, "sarumanStaff", 3); linkLOTRWeapon(radagastStaff, "radagastStaff"); linkLOTRWeapon(pallandoStaff, "pallandoStaff"); @@ -711,7 +599,7 @@ public class CinderLoE { linkLOTRWeapon(sarumanStaff, "sarumanStaff"); //Relics - ItemRegistration.registerItem(welfRelic, "welfRelic", 87); + ItemRegistration.registerItem(welfRelic, "welfRelic", 56); linkLOTRWeapon(welfRelic, "welfRelic"); @@ -755,35 +643,35 @@ public class CinderLoE { linkLOTRWeapon(firstAgeGlaive, "firstAgeGlaive"); - ItemRegistration.registerItem(helmetNexIce,"helmetNexIce",130); - ItemRegistration.registerItem(bodyNexIce,"bodyNexIce",131); - ItemRegistration.registerItem(legsNexIce,"legsNexIce",132); - ItemRegistration.registerItem(bootsNexIce,"bootsNexIce",133); - ItemRegistration.registerItem(helmetNexFire,"helmetNexFire",134); - ItemRegistration.registerItem(bodyNexFire,"bodyNexFire",135); - ItemRegistration.registerItem(legsNexFire,"legsNexFire",136); - ItemRegistration.registerItem(bootsNexFire,"bootsNexFire",137); - ItemRegistration.registerItem(helmetNexToxin,"helmetNexToxin",138); - ItemRegistration.registerItem(bodyNexToxin,"bodyNexToxin",139); - ItemRegistration.registerItem(legsNexToxin,"legsNexToxin",140); - ItemRegistration.registerItem(bootsNexToxin,"bootsNexToxin",141); - ItemRegistration.registerItem(helmetNexShadow,"helmetNexShadow",142); - ItemRegistration.registerItem(bodyNexShadow,"bodyNexShadow",143); - ItemRegistration.registerItem(legsNexShadow,"legsNexShadow",144); - ItemRegistration.registerItem(bootsNexShadow,"bootsNexShadow",145); - ItemRegistration.registerItem(firstAgeGlaive, "firstAgeGlaive",146); - ItemRegistration.registerItem(toxicCore,"toxicCore",147); - - ItemRegistration.registerItem(frostblade, "frostblade", 30); - ItemRegistration.registerItem(daggervoid, "daggerVoid", 96); - ItemRegistration.registerItem(spearsolidgold, "spearsolidgold", 31); - ItemRegistration.registerItem(spearUnnamed, "spearUnnamed", 97); - ItemRegistration.registerItem(whip, "whip", 32); - ItemRegistration.registerItem(helmetbrokenhalo, "brokenhalo", 98); - ItemRegistration.registerItem(helmetJade, "helmetJade", 121); - ItemRegistration.registerItem(bodyJade, "chestplateJade", 122); - ItemRegistration.registerItem(legsJade, "legsJade", 123); - ItemRegistration.registerItem(bootsJade, "bootsJade", 124); + ItemRegistration.registerItem(helmetNexIce,"helmetNexIce",99); + ItemRegistration.registerItem(bodyNexIce,"bodyNexIce",100); + ItemRegistration.registerItem(legsNexIce,"legsNexIce",101); + ItemRegistration.registerItem(bootsNexIce,"bootsNexIce",102); + ItemRegistration.registerItem(helmetNexFire,"helmetNexFire",103); + ItemRegistration.registerItem(bodyNexFire,"bodyNexFire",104); + ItemRegistration.registerItem(legsNexFire,"legsNexFire",105); + ItemRegistration.registerItem(bootsNexFire,"bootsNexFire",106); + ItemRegistration.registerItem(helmetNexToxin,"helmetNexToxin",107); + ItemRegistration.registerItem(bodyNexToxin,"bodyNexToxin",108); + ItemRegistration.registerItem(legsNexToxin,"legsNexToxin",109); + ItemRegistration.registerItem(bootsNexToxin,"bootsNexToxin",110); + ItemRegistration.registerItem(helmetNexShadow,"helmetNexShadow",111); + ItemRegistration.registerItem(bodyNexShadow,"bodyNexShadow",112); + ItemRegistration.registerItem(legsNexShadow,"legsNexShadow",113); + ItemRegistration.registerItem(bootsNexShadow,"bootsNexShadow",114); + ItemRegistration.registerItem(firstAgeGlaive, "firstAgeGlaive",115); + ItemRegistration.registerItem(toxicCore,"toxicCore",116); + + ItemRegistration.registerItem(frostblade, "frostblade", 4); + ItemRegistration.registerItem(daggervoid, "daggerVoid", 65); + ItemRegistration.registerItem(spearsolidgold, "spearsolidgold", 5); + ItemRegistration.registerItem(spearUnnamed, "spearUnnamed", 66); + ItemRegistration.registerItem(whip, "whip", 6); + ItemRegistration.registerItem(helmetbrokenhalo, "brokenhalo", 67); + ItemRegistration.registerItem(helmetJade, "helmetJade", 90); + ItemRegistration.registerItem(bodyJade, "chestplateJade", 91); + ItemRegistration.registerItem(legsJade, "legsJade", 92); + ItemRegistration.registerItem(bootsJade, "bootsJade", 93); linkLOTRWeapon(frostblade, "frostblade"); linkLOTRWeapon(daggervoid, "daggerVoid"); linkLOTRWeapon(spearsolidgold, "spearsolidgold"); @@ -795,11 +683,11 @@ public class CinderLoE { warDart = (new WarDart()).setUnlocalizedName("war_dart").setTextureName("lotr:war_dart"); warDartHeads = (new WarDartHeads()).setUnlocalizedName("war_dart_heads").setTextureName("lotr:war_dart_heads_0"); - ItemRegistration.registerItem(cleaver,"cleaver",127); + ItemRegistration.registerItem(cleaver,"cleaver",96); linkLOTRWeapon(cleaver, "cleaver"); - ItemRegistration.registerItem(warDart,"warDart",128); - ItemRegistration.registerItem(warDartHeads,"warDartHeads",129); + ItemRegistration.registerItem(warDart,"warDart",97); + ItemRegistration.registerItem(warDartHeads,"warDartHeads",98); //ASH @@ -815,15 +703,15 @@ public class CinderLoE { pikeAsh = (new LOTRItemPike(MATERIAL_ASH)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:pikeAsh").setTextureName("lotr:pikeAsh"); spearAsh = (new LOTRItemSpear(MATERIAL_ASH)).addWeaponDamage(5.0F).setUnlocalizedName("lotr:spearAsh").setTextureName("lotr:spearAsh"); - ItemRegistration.registerItem(ingotAsh, "ingotAsh", 74); - ItemRegistration.registerItem(swordAsh, "swordAsh", 75); - ItemRegistration.registerItem(daggerAsh, "daggerAsh", 76); - ItemRegistration.registerItem(hammerAsh, "hammerAsh", 77); - ItemRegistration.registerItem(battleaxeAsh, "battleaxeAsh", 78); - ItemRegistration.registerItem(bowAsh, "bowAsh", 79); - ItemRegistration.registerItem(pikeAsh, "pikeAsh", 80); - ItemRegistration.registerItem(spearAsh, "spearAsh", 81); - ItemRegistration.registerItem(staffAsh, "staffAsh", 95); + ItemRegistration.registerItem(ingotAsh, "ingotAsh", 47); + ItemRegistration.registerItem(swordAsh, "swordAsh", 48); + ItemRegistration.registerItem(daggerAsh, "daggerAsh", 49); + ItemRegistration.registerItem(hammerAsh, "hammerAsh", 50); + ItemRegistration.registerItem(battleaxeAsh, "battleaxeAsh", 51); + ItemRegistration.registerItem(bowAsh, "bowAsh", 52); + ItemRegistration.registerItem(pikeAsh, "pikeAsh", 53); + ItemRegistration.registerItem(spearAsh, "spearAsh", 54); + ItemRegistration.registerItem(staffAsh, "staffAsh", 64); } else { // Log an error or handle the case where the material could not be found System.err.println("Failed to find MATERIAL_ASH material for armor initialization."); @@ -839,7 +727,7 @@ public class CinderLoE { // Red Dwarves redDwarfSteel = new Item().setUnlocalizedName("lotr:redDwarfSteel").setTextureName("lotr:redDwarfSteel").setCreativeTab((CreativeTabs) materials); - ItemRegistration.registerItem(redDwarfSteel, "redDwarfSteel", 33); + ItemRegistration.registerItem(redDwarfSteel, "redDwarfSteel", 7); MATERIAL_RED_DWARF = getLOTRMaterialByName("RED_DWARF"); if (MATERIAL_RED_DWARF != null) { @@ -857,19 +745,19 @@ public class CinderLoE { crossbowRedDwarf = (new LOTRItemCrossbow(MATERIAL_RED_DWARF)).setUnlocalizedName("lotr:crossbowRedDwarf").setTextureName("lotr:crossbowRedDwarf"); boarArmorRedDwarf = (new LOTRItemMountArmor(MATERIAL_RED_DWARF, LOTRItemMountArmor.Mount.BOAR)).setUnlocalizedName("lotr:boarArmorRedDwarf").setTextureName("lotr:boarArmorRedDwarf"); - ItemRegistration.registerItem(helmetRedDwarf, "helmetRedDwarf", 34); - ItemRegistration.registerItem(bodyRedDwarf, "bodyRedDwarf", 35); - ItemRegistration.registerItem(legsRedDwarf, "legsRedDwarf", 36); - ItemRegistration.registerItem(bootsRedDwarf, "bootsRedDwarf", 37); - ItemRegistration.registerItem(spearRedDwarf, "spearRedDwarf", 38); - ItemRegistration.registerItem(swordRedDwarf, "swordRedDwarf", 39); - ItemRegistration.registerItem(battleaxeRedDwarf, "battleaxeRedDwarf", 40); - ItemRegistration.registerItem(pikeRedDwarf, "pikeRedDwarf", 41); - ItemRegistration.registerItem(hammerRedDwarf, "hammerRedDwarf", 42); - ItemRegistration.registerItem(daggerRedDwarf, "daggerRedDwarf", 43); - ItemRegistration.registerItem(daggerRedDwarfPoisoned, "daggerRedDwarfPoisoned", 44); - ItemRegistration.registerItem(crossbowRedDwarf, "crossbowRedDwarf", 45); - ItemRegistration.registerItem(boarArmorRedDwarf, "boarArmorRedDwarf", 46); + ItemRegistration.registerItem(helmetRedDwarf, "helmetRedDwarf", 8); + ItemRegistration.registerItem(bodyRedDwarf, "bodyRedDwarf", 9); + ItemRegistration.registerItem(legsRedDwarf, "legsRedDwarf", 10); + ItemRegistration.registerItem(bootsRedDwarf, "bootsRedDwarf", 11); + ItemRegistration.registerItem(spearRedDwarf, "spearRedDwarf", 12); + ItemRegistration.registerItem(swordRedDwarf, "swordRedDwarf", 13); + ItemRegistration.registerItem(battleaxeRedDwarf, "battleaxeRedDwarf", 14); + ItemRegistration.registerItem(pikeRedDwarf, "pikeRedDwarf", 15); + ItemRegistration.registerItem(hammerRedDwarf, "hammerRedDwarf", 16); + ItemRegistration.registerItem(daggerRedDwarf, "daggerRedDwarf", 17); + ItemRegistration.registerItem(daggerRedDwarfPoisoned, "daggerRedDwarfPoisoned", 18); + ItemRegistration.registerItem(crossbowRedDwarf, "crossbowRedDwarf", 19); + ItemRegistration.registerItem(boarArmorRedDwarf, "boarArmorRedDwarf", 20); // System.out.println("Registered red dwarf equipment"); } else { // Log an error or handle the case where the material could not be found @@ -887,7 +775,7 @@ public class CinderLoE { // Limwaith bonemold = new Item().setUnlocalizedName("lotr:bonemold").setTextureName("lotr:bonemold").setCreativeTab((CreativeTabs) materials); - ItemRegistration.registerItem(bonemold, "bonemold", 83); + ItemRegistration.registerItem(bonemold, "bonemold", 55); MATERIAL_LIMWAITH_WOOD = getLOTRMaterialByName("LIMWAITH_WOOD"); MATERIAL_BONEMOLD = getLOTRMaterialByName("BONEMOLD"); @@ -910,23 +798,23 @@ public class CinderLoE { daggerLimwaithPoisoned = (new LOTRItemDagger(MATERIAL_BONEMOLD, LOTRItemDagger.DaggerEffect.POISON)).setUnlocalizedName("lotr:daggerLimwaithPoisoned").setTextureName("lotr:daggerLimwaithPoisoned"); blowgunLimwaith = (new LOTRItemBlowgun(LOTRMaterial.TAUREDAIN)).setUnlocalizedName("lotr:blowgunLimwaith").setTextureName("lotr:blowgunLimwaith"); - ItemRegistration.registerItem(helmetLimwaith, "helmetLimwaith", 47); - ItemRegistration.registerItem(bodyLimwaith, "bodyLimwaith", 48); - ItemRegistration.registerItem(legsLimwaith, "legsLimwaith", 49); - ItemRegistration.registerItem(bootsLimwaith, "bootsLimwaith", 50); - - ItemRegistration.registerItem(helmetboneLimwaith, "helmetboneLimwaith", 70); - ItemRegistration.registerItem(bodyboneLimwaith, "bodyboneLimwaith", 71); - ItemRegistration.registerItem(legsboneLimwaith, "legsboneLimwaith", 72); - ItemRegistration.registerItem(bootsboneLimwaith, "bootsboneLimwaith", 73); - - ItemRegistration.registerItem(spearLimwaith, "spearLimwaith", 51); - ItemRegistration.registerItem(tridentLimwaith, "tridentLimwaith", 52); - ItemRegistration.registerItem(truncheonLimwaith, "truncheonLimwaith", 53); - ItemRegistration.registerItem(battleaxeLimwaith, "battleaxeLimwaith", 54); - ItemRegistration.registerItem(daggerLimwaith, "daggerLimwaith", 55); - ItemRegistration.registerItem(daggerLimwaithPoisoned, "daggerLimwaithPoisoned", 56); - ItemRegistration.registerItem(blowgunLimwaith, "blowgunLimwaith", 57); + ItemRegistration.registerItem(helmetLimwaith, "helmetLimwaith", 21); + ItemRegistration.registerItem(bodyLimwaith, "bodyLimwaith", 22); + ItemRegistration.registerItem(legsLimwaith, "legsLimwaith", 23); + ItemRegistration.registerItem(bootsLimwaith, "bootsLimwaith", 24); + + ItemRegistration.registerItem(helmetboneLimwaith, "helmetboneLimwaith", 43); + ItemRegistration.registerItem(bodyboneLimwaith, "bodyboneLimwaith", 44); + ItemRegistration.registerItem(legsboneLimwaith, "legsboneLimwaith", 45); + ItemRegistration.registerItem(bootsboneLimwaith, "bootsboneLimwaith", 46); + + ItemRegistration.registerItem(spearLimwaith, "spearLimwaith", 25); + ItemRegistration.registerItem(tridentLimwaith, "tridentLimwaith", 26); + ItemRegistration.registerItem(truncheonLimwaith, "truncheonLimwaith", 27); + ItemRegistration.registerItem(battleaxeLimwaith, "battleaxeLimwaith", 28); + ItemRegistration.registerItem(daggerLimwaith, "daggerLimwaith", 29); + ItemRegistration.registerItem(daggerLimwaithPoisoned, "daggerLimwaithPoisoned", 30); + ItemRegistration.registerItem(blowgunLimwaith, "blowgunLimwaith", 31); } else { System.err.println("Failed to find LIMWAITH material for armor initialization."); } @@ -948,12 +836,12 @@ public class CinderLoE { bootsBree = (new LOTRItemArmor(MATERIAL_BREE, 3)).setUnlocalizedName("lotr:bootsBree").setTextureName("lotr:bootsBree"); swordBree = (new LOTRItemSword(MATERIAL_BREE)).setUnlocalizedName("lotr:swordBree").setTextureName("lotr:swordBree"); - ItemRegistration.registerItem(helmetBree, "helmetBree", 58); - ItemRegistration.registerItem(helmetBreeKettle, "breekettle", 88); - ItemRegistration.registerItem(bodyBree, "bodyBree", 59); - ItemRegistration.registerItem(legsBree, "legsBree", 60); - ItemRegistration.registerItem(bootsBree, "bootsBree", 61); - ItemRegistration.registerItem(swordBree, "swordBree", 62); + ItemRegistration.registerItem(helmetBree, "helmetBree", 32); + ItemRegistration.registerItem(helmetBreeKettle, "breekettle", 57); + ItemRegistration.registerItem(bodyBree, "bodyBree", 33); + ItemRegistration.registerItem(legsBree, "legsBree", 34); + ItemRegistration.registerItem(bootsBree, "bootsBree", 35); + ItemRegistration.registerItem(swordBree, "swordBree", 36); } else { System.err.println("Failed to find BREE material for armor initialization."); } @@ -967,10 +855,10 @@ public class CinderLoE { legsserpent = (new LOTRItemArmor(MATERIAL_SERPENT, 2)).setUnlocalizedName("lotr:legsserpent").setTextureName("lotr:legsserpent").setCreativeTab(null); bootsserpent = (new LOTRItemArmor(MATERIAL_SERPENT, 3)).setUnlocalizedName("lotr:bootsserpent").setTextureName("lotr:bootsserpent").setCreativeTab(null); - ItemRegistration.registerItem(helmetserpent, "helmetserpent", 103); - ItemRegistration.registerItem(bodyserpent, "bodyserpent", 104); - ItemRegistration.registerItem(legsserpent, "legsserpent", 105); - ItemRegistration.registerItem(bootsserpent, "bootsserpent", 106); + ItemRegistration.registerItem(helmetserpent, "helmetserpent", 72); + ItemRegistration.registerItem(bodyserpent, "bodyserpent", 73); + ItemRegistration.registerItem(legsserpent, "legsserpent", 74); + ItemRegistration.registerItem(bootsserpent, "bootsserpent", 75); } else { System.err.println("Failed to find SERPENT material for armor initialization."); } @@ -981,10 +869,10 @@ public class CinderLoE { legsUsurper = (new LOTRItemArmor(MATERIAL_USURPER, 2)).setUnlocalizedName("lotr:legsUsurper").setTextureName("lotr:legsUsurper").setCreativeTab(null); bootsUsurper = (new LOTRItemArmor(MATERIAL_USURPER, 3)).setUnlocalizedName("lotr:bootsUsurper").setTextureName("lotr:bootsUsurper").setCreativeTab(null); - ItemRegistration.registerItem(helmetUsurper, "helmetUsurper", 107); - ItemRegistration.registerItem(bodyUsurper, "bodyUsurper", 108); - ItemRegistration.registerItem(legsUsurper, "legsUsurper", 109); - ItemRegistration.registerItem(bootsUsurper, "bootsUsurper", 110); + ItemRegistration.registerItem(helmetUsurper, "helmetUsurper", 76); + ItemRegistration.registerItem(bodyUsurper, "bodyUsurper", 77); + ItemRegistration.registerItem(legsUsurper, "legsUsurper", 78); + ItemRegistration.registerItem(bootsUsurper, "bootsUsurper", 79); } else { System.err.println("Failed to find USURPER material for armor initialization."); } @@ -995,10 +883,10 @@ public class CinderLoE { legsWarlord = (new LOTRItemArmor(MATERIAL_WARLORD, 2)).setUnlocalizedName("lotr:legsWarlord").setTextureName("lotr:legsWarlord").setCreativeTab(null); bootsWarlord = (new LOTRItemArmor(MATERIAL_WARLORD, 3)).setUnlocalizedName("lotr:bootsWarlord").setTextureName("lotr:bootsWarlord").setCreativeTab(null); - ItemRegistration.registerItem(helmetWarlord, "helmetWarlord", 111); - ItemRegistration.registerItem(bodyWarlord, "bodyWarlord", 112); - ItemRegistration.registerItem(legsWarlord, "legsWarlord", 113); - ItemRegistration.registerItem(bootsWarlord, "bootsWarlord", 114); + ItemRegistration.registerItem(helmetWarlord, "helmetWarlord", 80); + ItemRegistration.registerItem(bodyWarlord, "bodyWarlord", 81); + ItemRegistration.registerItem(legsWarlord, "legsWarlord", 82); + ItemRegistration.registerItem(bootsWarlord, "bootsWarlord", 83); } else { System.err.println("Failed to find WARLORD material for armor initialization."); } @@ -1011,10 +899,10 @@ public class CinderLoE { legsRhudaur = (new LOTRItemArmor(MATERIAL_RHUDUAR, 2)).setUnlocalizedName("lotr:legsRhudaur").setTextureName("lotr:legsRhudaur"); bootsRhudaur = (new LOTRItemArmor(MATERIAL_RHUDUAR, 3)).setUnlocalizedName("lotr:bootsRhudaur").setTextureName("lotr:bootsRhudaur"); - ItemRegistration.registerItem(helmetRhudaur, "rhudaur",99); - ItemRegistration.registerItem(bodyRhudaur, "bodyRhudaur", 100); - ItemRegistration.registerItem(legsRhudaur, "legsRhudaur", 101); - ItemRegistration.registerItem(bootsRhudaur, "bootsRhudaur", 102); + ItemRegistration.registerItem(helmetRhudaur, "helmetRhudaur",68); + ItemRegistration.registerItem(bodyRhudaur, "bodyRhudaur", 69); + ItemRegistration.registerItem(legsRhudaur, "legsRhudaur", 70); + ItemRegistration.registerItem(bootsRhudaur, "bootsRhudaur", 71); } else { System.err.println("Failed to find RHUDAUR material for armor initialization."); } @@ -1027,11 +915,11 @@ public class CinderLoE { bootsArnorBanner = (new LOTRItemArmor(MATERIAL_BATTLENUN, 3)).setUnlocalizedName("lotr:bootsArnorBanner").setTextureName("lotr:bootsArnorBanner"); maceArnor = (new LOTRItemHammer(LOTRMaterial.ARNOR)).setUnlocalizedName("lotr:maceArnor").setTextureName("lotr:maceArnor"); - ItemRegistration.registerItem(helmetArnorBanner, "helmetArnorBanner", 63); - ItemRegistration.registerItem(bodyArnorBanner, "bodyArnorBanner", 64); - ItemRegistration.registerItem(legsArnorBanner, "legsArnorBanner", 65); - ItemRegistration.registerItem(bootsArnorBanner, "bootsArnorBanner", 66); - ItemRegistration.registerItem(maceArnor, "maceArnor", 67); + ItemRegistration.registerItem(helmetArnorBanner, "helmetArnorBanner", 37); + ItemRegistration.registerItem(bodyArnorBanner, "bodyArnorBanner", 38); + ItemRegistration.registerItem(legsArnorBanner, "legsArnorBanner", 39); + ItemRegistration.registerItem(bootsArnorBanner, "bootsArnorBanner", 40); + ItemRegistration.registerItem(maceArnor, "maceArnor", 41); } else { System.err.println("Failed to find ARNOR material for armor initialization."); } @@ -1322,39 +1210,7 @@ public class CinderLoE { CinderCore.registerItemFallback(Item.getIdFromItem(bowAsh), Item.getIdFromItem(LOTRMod.blackUrukBow), "cinder_loe", "1.2"); CinderCore.registerItemFallback(Item.getIdFromItem(spearAsh), Item.getIdFromItem(LOTRMod.spearBlackUruk), "cinder_loe", "1.2"); // == Spawn Eggs == - CinderCore.registerItemFallback(Item.getIdFromItem(fangornBearSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(fangornAurochSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(fangornWildBoarSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(fangornElkSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(redDwarfWarriorSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(redDwarfArbalestSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(redDwarfCommanderSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(redDwarfBannerBearerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(redDwarfSmithSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithFishmongerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithShamanSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithWarriorSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithBoneWarriorSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithBlowgunnerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithBannerBearerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(limwaithChieftainSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(renegadeSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(renegadeCaptainSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(wraithSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); - CinderCore.registerItemFallback(Item.getIdFromItem(ArnorSoldierSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(ArnorSoldierArcherSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(ArnorCaptainSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(ArnorBannerBearerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(battleNunSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(BreeSoldierSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(BreeCrossbowmanSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(BreeCaptainSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(BreeSoldierBannerBearerSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(BreeOutriderSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - CinderCore.registerItemFallback(Item.getIdFromItem(SauronSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.1"); - // == Utumno Expansion == - CinderCore.registerItemFallback(Item.getIdFromItem(utumnoSlaveSpawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.2.1"); + CinderCore.registerItemFallback(Item.getIdFromItem(spawnEgg), Item.getIdFromItem(Items.spawn_egg), "cinder_loe", "1.0"); // == Limwaith Items == CinderCore.registerItemFallback(Item.getIdFromItem(bonemold), Item.getIdFromItem(LOTRMod.leekSoup), "cinder_loe", "1.2"); CinderCore.registerItemFallback(Item.getIdFromItem(helmetLimwaith), Item.getIdFromItem(LOTRMod.helmetMoredain), "cinder_loe", "1.0"); diff --git a/src/main/java/com/zivilon/cinder_loe/LoECreativeTabs.java b/src/main/java/com/zivilon/cinder_loe/LoECreativeTabs.java index 8d6dd44..4738a99 100644 --- a/src/main/java/com/zivilon/cinder_loe/LoECreativeTabs.java +++ b/src/main/java/com/zivilon/cinder_loe/LoECreativeTabs.java @@ -25,7 +25,7 @@ public class LoECreativeTabs extends CreativeTabs { public static void setupIcons() { tabBlockLoE.theIcon = new ItemStack(CinderLoE.fishBarrel); tabCombatLoE.theIcon = new ItemStack(CinderLoE.swordAsh); - tabSpawnLoE.theIcon = new ItemStack(CinderLoE.renegadeSpawnEgg); + tabSpawnLoE.theIcon = new ItemStack(CinderLoE.spawnEgg); tabMiscLoE.theIcon = new ItemStack(CinderLoE.bonemold); tabFoodLoE.theIcon = new ItemStack(CinderLoE.onion); tabDecoLoE.theIcon = new ItemStack(CinderLoE.silverChain); diff --git a/src/main/java/com/zivilon/cinder_loe/entity/DarkSpider.java b/src/main/java/com/zivilon/cinder_loe/entity/DarkSpider.java index 2a0ceed..d5c1b68 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/DarkSpider.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/DarkSpider.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRFoods; import lotr.common.LOTRMod; import lotr.common.entity.ai.*; diff --git a/src/main/java/com/zivilon/cinder_loe/entity/NexShadow.java b/src/main/java/com/zivilon/cinder_loe/entity/NexShadow.java new file mode 100644 index 0000000..30a0615 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/NexShadow.java @@ -0,0 +1,102 @@ +package com.zivilon.cinder_loe.entity; + +import com.zivilon.cinder_loe.CinderLoE; + +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IRangedAttackMob; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.EntityAIBase; +import net.minecraft.entity.ai.EntityAILookIdle; +import net.minecraft.entity.ai.EntityAIOpenDoor; +import net.minecraft.entity.ai.EntityAISwimming; +import net.minecraft.entity.ai.EntityAIWander; +import net.minecraft.entity.ai.EntityAIWatchClosest; +import net.minecraft.entity.ai.EntityAIWatchClosest2; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import lotr.common.LOTRFoods; +import lotr.common.LOTRMod; +import lotr.common.entity.ai.LOTREntityAIAttackOnCollide; +import lotr.common.entity.ai.LOTREntityAIDrink; +import lotr.common.entity.ai.LOTREntityAIEat; +import lotr.common.entity.ai.LOTREntityAIFollowHiringPlayer; +import lotr.common.entity.ai.LOTREntityAIHiredRemainStill; +import lotr.common.entity.animal.LOTREntityHorse; +import lotr.common.entity.npc.LOTREntityMan; +import lotr.common.entity.npc.LOTREntityNPC; +import lotr.common.entity.npc.LOTRNPCMount; +import lotr.common.entity.npc.LOTRNames; +import lotr.common.fac.LOTRFaction; + +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +public class NexShadow extends LOTREntityMan { + String entity_name = "§7Fuinë"; + + public NexShadow(World world) { + super(world); + setSize(0.6F, 1.8F); + ((EntityLiving) this).tasks.addTask(2, (EntityAIBase) new LOTREntityAIAttackOnCollide(this, 1.3D, false)); + ((EntityLiving) this).tasks.addTask(7, (EntityAIBase) new EntityAIWatchClosest2((EntityLiving) this, EntityPlayer.class, 8.0F, 0.02F)); + ((EntityLiving) this).tasks.addTask(7, (EntityAIBase) new EntityAIWatchClosest2((EntityLiving) this, LOTREntityNPC.class, 5.0F, 0.02F)); + ((EntityLiving) this).tasks.addTask(8, (EntityAIBase) new EntityAIWatchClosest((EntityLiving) this, EntityLiving.class, 8.0F, 0.02F)); + ((EntityLiving) this).tasks.addTask(9, (EntityAIBase) new EntityAILookIdle((EntityLiving) this)); + addTargetTasks(true); + } + + public void attackEntityWithRangedAttack(EntityLivingBase target, float distanceFactor) { + } + + public void setupNPCGender() { + this.familyInfo.setMale(true); + } + + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(200.0D); + getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.2D); + } + + public LOTRFaction getFaction() { + return LOTRFaction.UTUMNO; + } + + public String getNPCName() { + return entity_name; + } + + public String getNPCFormattedName(String npcName, String entityName) { + return entity_name; + } + + protected void onAttackModeChange(LOTREntityNPC.AttackMode mode, boolean mounted) { + } + + protected void dropFewItems(boolean flag, int i) { + } + + public boolean getCanSpawnHere() { + return false; + } + + public String getSpeechBank(EntityPlayer entityplayer) { + return "nex/shadow"; + } + + public void setupNPCName() { + } + + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/Renegade.java b/src/main/java/com/zivilon/cinder_loe/entity/Renegade.java index dc67a5f..2f02a1d 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/Renegade.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/Renegade.java @@ -1,9 +1,6 @@ package com.zivilon.cinder_loe.entity; -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import com.zivilon.cinder_loe.CinderLoE; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; @@ -37,7 +34,10 @@ import lotr.common.entity.npc.LOTRNPCMount; import lotr.common.entity.npc.LOTRNames; import lotr.common.fac.LOTRFaction; -import com.zivilon.cinder_loe.CinderLoE; +import java.lang.reflect.Field; +import java.util.Arrays; +import java.util.List; +import java.util.Map; public class Renegade extends LOTREntityMan { @@ -188,6 +188,6 @@ public class Renegade extends LOTREntityMan { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.renegadeSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 0); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/RenegadeCaptain.java b/src/main/java/com/zivilon/cinder_loe/entity/RenegadeCaptain.java index 36adb59..fe397d2 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/RenegadeCaptain.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/RenegadeCaptain.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRFoods; import lotr.common.LOTRMod; import lotr.common.entity.ai.*; @@ -32,6 +33,6 @@ public class RenegadeCaptain extends Renegade { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.renegadeCaptainSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 1); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/UtumnoSlaveTrader.java b/src/main/java/com/zivilon/cinder_loe/entity/UtumnoSlaveTrader.java index fbd04e3..0523831 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/UtumnoSlaveTrader.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/UtumnoSlaveTrader.java @@ -1,5 +1,8 @@ package com.zivilon.cinder_loe.entity; +import com.zivilon.cinder_loe.CinderLoE; +import com.zivilon.cinder_loe.mixins.MixinLOTRTradeEntries; + import lotr.common.entity.ai.LOTREntityAIEat; import lotr.common.entity.npc.LOTREntityMan; import lotr.common.entity.npc.LOTRTradeEntries; @@ -31,7 +34,6 @@ import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.util.StatCollector; import net.minecraft.nbt.NBTTagCompound; -import com.zivilon.cinder_loe.mixins.MixinLOTRTradeEntries; public class UtumnoSlaveTrader extends LOTREntityMan implements LOTRTradeable.Smith { public static LOTRTradeEntries UTUMNO_SLAVE_BUY; diff --git a/src/main/java/com/zivilon/cinder_loe/entity/Wraith.java b/src/main/java/com/zivilon/cinder_loe/entity/Wraith.java index c633e2c..a391618 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/Wraith.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/Wraith.java @@ -173,6 +173,6 @@ public class Wraith extends LOTREntityNPC { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.wraithSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 3); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorBannerBearer.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorBannerBearer.java index e0b7f95..b940719 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorBannerBearer.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorBannerBearer.java @@ -17,7 +17,6 @@ public class ArnorBannerBearer extends ArnorSoldier implements LOTRBannerBearer } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.ArnorSoldierSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 16); } - } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorCaptain.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorCaptain.java index d21019a..93be88e 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorCaptain.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorCaptain.java @@ -40,7 +40,7 @@ public class ArnorCaptain extends ArnorSoldier implements LOTRUnitTradeable { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.ArnorCaptainSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 18); } public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldier.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldier.java index 5dc2415..92e45fa 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldier.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldier.java @@ -53,10 +53,7 @@ public class ArnorSoldier extends LOTREntityDunedain { setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetArnor)); return data; } - @Override - public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.ArnorSoldierSpawnEgg, 1); - } + @Override public LOTRFaction getFaction() { return LOTRFaction.RANGER_NORTH; @@ -90,6 +87,10 @@ public class ArnorSoldier extends LOTREntityDunedain { } @Override public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 14); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldierArcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldierArcher.java index be47169..00f7776 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldierArcher.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/ArnorSoldierArcher.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.entity.ai.LOTREntityAIRangedAttack; import lotr.common.entity.npc.LOTREntityNPC; @@ -7,6 +9,7 @@ import net.minecraft.entity.*; import net.minecraft.entity.ai.EntityAIBase; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; public class ArnorSoldierArcher extends ArnorSoldier { @@ -43,5 +46,10 @@ public class ArnorSoldierArcher extends ArnorSoldier { super.dropFewItems(flag, i); this.dropNPCArrows(i); } + + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 15); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BattleNun.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BattleNun.java index b50d298..8ad518a 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BattleNun.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BattleNun.java @@ -1,11 +1,13 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.quest.LOTRMiniQuest; import lotr.common.quest.LOTRMiniQuestFactory; import net.minecraft.entity.IEntityLivingData; -import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; public class BattleNun extends ArnorSoldier { public BattleNun(World world) { @@ -40,4 +42,9 @@ public class BattleNun extends ArnorSoldier { public LOTRMiniQuest createMiniQuest() { return LOTRMiniQuestFactory.RANGER_NORTH.createQuest(this); } + + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 17); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCaptain.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCaptain.java index 8788ced..61281ce 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCaptain.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCaptain.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRAchievement; import lotr.common.LOTRCapes; import lotr.common.LOTRLevelData; @@ -54,7 +55,7 @@ public class BreeCaptain extends BreeSoldier implements LOTRUnitTradeable { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.BreeCaptainSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 23); } @Override diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCrossbowman.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCrossbowman.java index 74ed3b3..aed0e4f 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCrossbowman.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeCrossbowman.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.entity.ai.LOTREntityAIRangedAttack; import lotr.common.entity.npc.LOTREntityNPC; @@ -9,6 +11,7 @@ import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.ai.EntityAIBase; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; public class BreeCrossbowman extends BreeSoldier { @@ -47,4 +50,9 @@ public class BreeCrossbowman extends BreeSoldier { super.dropFewItems(flag, i); dropNPCCrossbowBolts(i); } + + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 20); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeOutrider.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeOutrider.java index bc162bc..07ea063 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeOutrider.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeOutrider.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.*; import lotr.common.entity.ai.*; import lotr.common.entity.animal.LOTREntityHorse; @@ -142,7 +143,7 @@ public class BreeOutrider extends LOTREntityBreeGuard { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.BreeOutriderSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 21); } @Override public LOTRNPCMount createMountToRide() { diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldier.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldier.java index 6d06285..3863cc3 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldier.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldier.java @@ -1,11 +1,13 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.entity.npc.LOTREntityBreeGuard; import net.minecraft.entity.IEntityLivingData; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; public class BreeSoldier extends LOTREntityBreeGuard { private static ItemStack[] guardWeapons = new ItemStack[]{new ItemStack(CinderLoE.swordBree), new ItemStack(CinderLoE.swordBree), new ItemStack(LOTRMod.pikeIron)}; @@ -27,4 +29,8 @@ public class BreeSoldier extends LOTREntityBreeGuard { setCurrentItemOrArmor(4, new ItemStack(CinderLoE.helmetBree)); return data; } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 19); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldierBannerBearer.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldierBannerBearer.java index ad53c97..86a6991 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldierBannerBearer.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/BreeSoldierBannerBearer.java @@ -1,9 +1,13 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTRBannerBearer; import lotr.common.item.LOTRItemBanner; import net.minecraft.entity.EntityLivingBase; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.item.ItemStack; public class BreeSoldierBannerBearer extends BreeSoldier implements LOTRBannerBearer { public BreeSoldierBannerBearer(World world) { @@ -14,9 +18,12 @@ public class BreeSoldierBannerBearer extends BreeSoldier implements LOTRBannerBe return LOTRItemBanner.BannerType.BREE; } - @Override public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 22); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/DwarfLevy.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/DwarfLevy.java index 55dbf2d..c213bf4 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/DwarfLevy.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/DwarfLevy.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.LOTRShields; import lotr.common.entity.npc.LOTREntityDwarfWarrior; @@ -46,6 +47,6 @@ public class DwarfLevy extends LOTREntityDwarfWarrior { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.redDwarfWarriorSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 24); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAnimal.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAnimal.java index e073486..a6ad952 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAnimal.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAnimal.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRAchievement; import lotr.common.LOTRFoods; import lotr.common.LOTRMod; diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAuroch.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAuroch.java index 7894ac7..24e2691 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAuroch.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornAuroch.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -10,7 +12,6 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraft.util.MovingObjectPosition; -import com.zivilon.cinder_loe.CinderLoE; public class FangornAuroch extends FangornAnimal { public FangornAuroch(World world) { @@ -66,7 +67,7 @@ public class FangornAuroch extends FangornAnimal { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.fangornAurochSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 30); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornBear.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornBear.java index 866f8c4..0fb6aa3 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornBear.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornBear.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.entity.animal.LOTREntityBear; import lotr.common.entity.animal.LOTREntityBear.BearType; @@ -15,8 +17,6 @@ import net.minecraft.world.World; import java.util.List; -import com.zivilon.cinder_loe.CinderLoE; - public class FangornBear extends FangornAnimal { public FangornBear(World world) { super(world); @@ -140,6 +140,6 @@ public class FangornBear extends FangornAnimal { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.fangornBearSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 27); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornElk.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornElk.java index 0d6657e..46e6be6 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornElk.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornElk.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -12,7 +14,6 @@ import net.minecraft.world.World; import java.util.UUID; -import com.zivilon.cinder_loe.CinderLoE; public class FangornElk extends FangornAnimal { public FangornElk(World world) { @@ -34,6 +35,7 @@ public class FangornElk extends FangornAnimal { getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.2D); getAttributeMap().registerAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(8.0D); } + public boolean attackEntityAsMob(Entity entity) { float f = (float)getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue(); @@ -72,6 +74,6 @@ public class FangornElk extends FangornAnimal { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.fangornElkSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 26); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWildBoar.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWildBoar.java index c1c4d6c..595ae9b 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWildBoar.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWildBoar.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; @@ -9,7 +11,6 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import com.zivilon.cinder_loe.CinderLoE; public class FangornWildBoar extends FangornAnimal { public FangornWildBoar(World world) { @@ -61,6 +62,6 @@ public class FangornWildBoar extends FangornAnimal { @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.fangornWildBoarSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 28); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWolf.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWolf.java index efc7e64..69d4801 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWolf.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/FangornWolf.java @@ -1,11 +1,15 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.init.Items; import net.minecraft.util.DamageSource; import net.minecraft.world.World; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; public class FangornWolf extends FangornAnimal { public FangornWolf(World world) { @@ -55,5 +59,8 @@ public class FangornWolf extends FangornAnimal { // No ranged attack implemented } - + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 29); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/HaradLevy.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/HaradLevy.java index 154c2cb..e76bcc5 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/HaradLevy.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/HaradLevy.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.LOTRShields; import lotr.common.entity.npc.LOTREntityBreeGuard; @@ -10,6 +11,7 @@ import net.minecraft.entity.IEntityLivingData; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; public class HaradLevy extends LOTREntityNearHaradrim { private static ItemStack[] levyWeapons = new ItemStack[]{new ItemStack(LOTRMod.daggerHarad), new ItemStack(LOTRMod.daggerHaradPoisoned), new ItemStack(LOTRMod.swordHarad), new ItemStack(LOTRMod.swordMoredain), new ItemStack(LOTRMod.battleaxeBronze), new ItemStack(LOTRMod.maceNearHarad), new ItemStack(Items.iron_sword), new ItemStack(LOTRMod.swordBronze), new ItemStack(LOTRMod.battleaxeIron), new ItemStack(LOTRMod.poleaxeNearHarad), new ItemStack(LOTRMod.spearHarad), new ItemStack(LOTRMod.spearIron), new ItemStack(LOTRMod.spearBronze)}; @@ -51,4 +53,8 @@ public class HaradLevy extends LOTREntityNearHaradrim { this.setCurrentItemOrArmor(4, null); return data; } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 25); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/Limwaith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/Limwaith.java index 47e2442..33b3e4e 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/Limwaith.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/Limwaith.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTREntityMoredain; import lotr.common.entity.npc.LOTRNPCMount; import lotr.common.LOTRAchievement; @@ -37,7 +39,6 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; -import com.zivilon.cinder_loe.CinderLoE; public class Limwaith extends LOTREntityMoredain { public Limwaith(World world) { @@ -70,6 +71,6 @@ public class Limwaith extends LOTREntityMoredain { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 4); } -} \ No newline at end of file +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBannerBearer.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBannerBearer.java index 5a56611..3379d48 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBannerBearer.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBannerBearer.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTRBannerBearer; import lotr.common.item.LOTRItemBanner; import net.minecraft.entity.EntityLivingBase; @@ -7,7 +9,6 @@ import net.minecraft.world.World; import net.minecraft.util.MovingObjectPosition; import net.minecraft.item.ItemStack; -import com.zivilon.cinder_loe.CinderLoE; public class LimwaithBannerBearer extends LimwaithWarrior implements LOTRBannerBearer { public LimwaithBannerBearer(World world) { @@ -19,11 +20,10 @@ public class LimwaithBannerBearer extends LimwaithWarrior implements LOTRBannerB } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithBannerBearerSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 8); } @Override public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { - } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBlowgunner.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBlowgunner.java index 871b0bd..88e9b2a 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBlowgunner.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBlowgunner.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import lotr.common.entity.ai.LOTREntityAIRangedAttack; import lotr.common.entity.projectile.LOTREntityDart; @@ -15,7 +17,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import com.zivilon.cinder_loe.CinderLoE; public class LimwaithBlowgunner extends Limwaith { public LimwaithBlowgunner(World world) { @@ -60,7 +61,7 @@ public class LimwaithBlowgunner extends Limwaith { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithBlowgunnerSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 7); } -} \ No newline at end of file +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBoneWarrior.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBoneWarrior.java index acc542a..1c9d1bf 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBoneWarrior.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithBoneWarrior.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRShields; import net.minecraft.entity.IEntityLivingData; import net.minecraft.item.ItemStack; @@ -41,6 +42,6 @@ public class LimwaithBoneWarrior extends Limwaith { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithBoneWarriorSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 5); } -} \ No newline at end of file +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithChieftain.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithChieftain.java index cca0039..7ab32ee 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithChieftain.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithChieftain.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IEntityLivingData; import net.minecraft.world.World; @@ -12,7 +14,6 @@ import lotr.common.entity.npc.LOTRUnitTradeable; import lotr.common.entity.npc.LOTRUnitTradeEntries; import lotr.common.world.spawning.LOTRInvasions; -import com.zivilon.cinder_loe.CinderLoE; public class LimwaithChieftain extends LimwaithBoneWarrior implements LOTRUnitTradeable { public LimwaithChieftain(World world) { @@ -51,7 +52,7 @@ public class LimwaithChieftain extends LimwaithBoneWarrior implements LOTRUnitTr } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithChieftainSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 9); } @Override diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithWarrior.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithWarrior.java index 26b703d..c168393 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithWarrior.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/LimwaithWarrior.java @@ -1,12 +1,13 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRShields; import net.minecraft.entity.IEntityLivingData; import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import com.zivilon.cinder_loe.CinderLoE; public class LimwaithWarrior extends Limwaith { public LimwaithWarrior(World world) { @@ -48,6 +49,6 @@ public class LimwaithWarrior extends Limwaith { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.limwaithWarriorSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 6); } -} \ No newline at end of file +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfArbalest.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfArbalest.java index b86eb2e..bdf4407 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfArbalest.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfArbalest.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTREntityDwarfAxeThrower; import lotr.common.LOTRMod; import lotr.common.entity.ai.LOTREntityAIRangedAttack; @@ -12,7 +14,6 @@ import net.minecraft.world.World; import net.minecraft.init.Items; import net.minecraft.util.MovingObjectPosition; -import com.zivilon.cinder_loe.CinderLoE; public class RedDwarfArbalest extends LOTREntityDwarfAxeThrower { public RedDwarfArbalest(World world) { @@ -41,6 +42,6 @@ public class RedDwarfArbalest extends LOTREntityDwarfAxeThrower { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.redDwarfArbalestSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 11); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfBannerBearer.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfBannerBearer.java index 6b0023a..3a4f0d2 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfBannerBearer.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfBannerBearer.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.item.LOTRItemBanner; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; @@ -7,7 +9,6 @@ import net.minecraft.world.World; import lotr.common.entity.npc.LOTRBannerBearer; import net.minecraft.util.MovingObjectPosition; -import com.zivilon.cinder_loe.CinderLoE; public class RedDwarfBannerBearer extends RedDwarfWarrior implements LOTRBannerBearer { public RedDwarfBannerBearer(World world) { @@ -19,11 +20,11 @@ public class RedDwarfBannerBearer extends RedDwarfWarrior implements LOTRBannerB } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.redDwarfBannerBearerSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 12); } @Override public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { - } -} \ No newline at end of file + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfCommander.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfCommander.java index dadc92b..5560d29 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfCommander.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfCommander.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRMod; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IEntityLivingData; @@ -10,7 +12,6 @@ import lotr.common.entity.npc.LOTRUnitTradeable; import lotr.common.entity.npc.LOTRUnitTradeEntries; import net.minecraft.util.MovingObjectPosition; -import com.zivilon.cinder_loe.CinderLoE; public class RedDwarfCommander extends LOTREntityDwarfCommander implements LOTRUnitTradeable { public RedDwarfCommander(World world) { @@ -47,7 +48,7 @@ public class RedDwarfCommander extends LOTREntityDwarfCommander implements LOTRU } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.redDwarfCommanderSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 13); } @Override diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfWarrior.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfWarrior.java index 4005ae1..841728f 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfWarrior.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/RedDwarfWarrior.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.npc; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTREntityDwarfWarrior; import lotr.common.LOTRMod; import lotr.common.LOTRShields; @@ -10,11 +12,11 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraft.item.Item; -import com.zivilon.cinder_loe.CinderLoE; public class RedDwarfWarrior extends LOTREntityDwarfWarrior { public RedDwarfWarrior(World world) { super(world); + this.npcShield = LOTRShields.ALIGNMENT_DWARF; } @@ -45,7 +47,7 @@ public class RedDwarfWarrior extends LOTREntityDwarfWarrior { } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return new ItemStack(CinderLoE.redDwarfWarriorSpawnEgg, 1); + return new ItemStack(CinderLoE.spawnEgg, 1, 10); } @Override diff --git a/src/main/java/com/zivilon/cinder_loe/entity/trader/BladorthinSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/trader/BladorthinSmith.java index b801263..1d01f60 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/trader/BladorthinSmith.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/trader/BladorthinSmith.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.trader; import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.LOTRFoods; import lotr.common.LOTRLevelData; import lotr.common.LOTRMod; @@ -101,6 +102,6 @@ public class BladorthinSmith extends LOTREntityDorwinionElf implements LOTRTrade } @Override public ItemStack getPickedResult(MovingObjectPosition target) { - return null; + return new ItemStack(CinderLoE.spawnEgg, 1, 31); } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithFishmonger.java b/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithFishmonger.java index 4af380c..b82cf31 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithFishmonger.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithFishmonger.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.trader; import com.zivilon.cinder_loe.CinderLoE; + import com.zivilon.cinder_loe.entity.npc.Limwaith; import lotr.common.LOTRLevelData; import lotr.common.LOTRMod; @@ -13,6 +14,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; import static lotr.common.entity.npc.LOTRTradeEntries.HARAD_FISHMONGER_BUY; import static lotr.common.entity.npc.LOTRTradeEntries.HARAD_FISHMONGER_SELL; @@ -62,5 +64,8 @@ public class LimwaithFishmonger extends Limwaith implements LOTRTradeable { public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { } - + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 32); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithShaman.java b/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithShaman.java index 17f31bc..a8109b8 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithShaman.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/trader/LimwaithShaman.java @@ -1,6 +1,7 @@ package com.zivilon.cinder_loe.entity.trader; import com.zivilon.cinder_loe.CinderLoE; + import com.zivilon.cinder_loe.entity.npc.Limwaith; import lotr.common.LOTRLevelData; import lotr.common.LOTRMod; @@ -16,6 +17,7 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import net.minecraft.util.MovingObjectPosition; public class LimwaithShaman extends Limwaith implements LOTRTradeable.Smith { public static LOTRTradeEntries LIMWAITH_SHAMAN_BUY; @@ -107,5 +109,8 @@ public class LimwaithShaman extends Limwaith implements LOTRTradeable.Smith { } return "limwaith/shaman/hostile"; } - + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 33); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/entity/trader/RedDwarfSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/trader/RedDwarfSmith.java index f7680b0..074ea5d 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/trader/RedDwarfSmith.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/trader/RedDwarfSmith.java @@ -1,5 +1,7 @@ package com.zivilon.cinder_loe.entity.trader; +import com.zivilon.cinder_loe.CinderLoE; + import lotr.common.entity.npc.LOTRTradeEntries; import lotr.common.entity.npc.LOTRTradeEntries.TradeType; import lotr.common.entity.npc.LOTRTradeable; @@ -17,8 +19,8 @@ import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import lotr.common.LOTRLevelData; import lotr.common.entity.npc.LOTREntityDwarf; +import net.minecraft.util.MovingObjectPosition; -import com.zivilon.cinder_loe.CinderLoE; public class RedDwarfSmith extends LOTREntityDwarf implements LOTRTradeable.Smith { public static LOTRTradeEntries RED_DWARF_SMITH_BUY; @@ -124,4 +126,8 @@ public class RedDwarfSmith extends LOTREntityDwarf implements LOTRTradeable.Smit protected Item getDwarfSteelDrop() { return CinderLoE.redDwarfSteel; } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return new ItemStack(CinderLoE.spawnEgg, 1, 34); + } } diff --git a/src/main/java/com/zivilon/cinder_loe/items/CinderLoESpawnEgg.java b/src/main/java/com/zivilon/cinder_loe/items/CinderLoESpawnEgg.java index 4f0647c..3687898 100644 --- a/src/main/java/com/zivilon/cinder_loe/items/CinderLoESpawnEgg.java +++ b/src/main/java/com/zivilon/cinder_loe/items/CinderLoESpawnEgg.java @@ -1,8 +1,17 @@ package com.zivilon.cinder_loe.items; +import com.zivilon.cinder_loe.CinderLoE; + import com.zivilon.cinder_loe.LoECreativeTabs; +import com.zivilon.cinder_loe.entity.*; +import com.zivilon.cinder_loe.entity.corrupt.*; +import com.zivilon.cinder_loe.entity.npc.*; +import com.zivilon.cinder_loe.entity.trader.*; + +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityList; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -10,16 +19,97 @@ import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import com.zivilon.cinder_loe.CinderLoE; +import java.util.ArrayList; +import java.util.List; public class CinderLoESpawnEgg extends Item { - private Class entityClass; + public static List> ENTITY_CLASSES = new ArrayList<>(); + public String entity_type; - public CinderLoESpawnEgg(Class entityClass) { - this.entityClass = entityClass; - this.setUnlocalizedName("spawn_egg_" + entityClass.getSimpleName().toLowerCase()); - this.setTextureName("spawn_egg"); + public CinderLoESpawnEgg() { + this.setTextureName("lotr:spawn_egg"); this.setCreativeTab(LoECreativeTabs.tabSpawnLoE); + setHasSubtypes(true); + } + + @Override + public String getUnlocalizedName(ItemStack item) { + return "spawn_egg_" + getEntityUnlocalizedName(item.getItemDamage()); + } + + public static Class getEntityClass(int meta) { + if (meta >= 0 && meta < ENTITY_CLASSES.size()) { + return ENTITY_CLASSES.get(meta); + } + return Renegade.class; + } + + public static String getEntityUnlocalizedName(int meta) { + Class entityClass = getEntityClass(meta); + String unlocalizedName = (String) EntityList.classToStringMapping.get(entityClass); + return unlocalizedName != null ? unlocalizedName : "Unknown"; + } + + static { + ENTITY_CLASSES.add(Renegade.class); + ENTITY_CLASSES.add(RenegadeCaptain.class); + ENTITY_CLASSES.add(DarkSpider.class); + ENTITY_CLASSES.add(Wraith.class); + ENTITY_CLASSES.add(Limwaith.class); + ENTITY_CLASSES.add(LimwaithBoneWarrior.class); + ENTITY_CLASSES.add(LimwaithWarrior.class); + ENTITY_CLASSES.add(LimwaithBlowgunner.class); + ENTITY_CLASSES.add(LimwaithBannerBearer.class); + ENTITY_CLASSES.add(LimwaithChieftain.class); + ENTITY_CLASSES.add(RedDwarfWarrior.class); + ENTITY_CLASSES.add(RedDwarfArbalest.class); + ENTITY_CLASSES.add(RedDwarfBannerBearer.class); + ENTITY_CLASSES.add(RedDwarfCommander.class); + ENTITY_CLASSES.add(ArnorSoldier.class); + ENTITY_CLASSES.add(ArnorSoldierArcher.class); + ENTITY_CLASSES.add(ArnorBannerBearer.class); + ENTITY_CLASSES.add(BattleNun.class); + ENTITY_CLASSES.add(ArnorCaptain.class); + ENTITY_CLASSES.add(BreeSoldier.class); + ENTITY_CLASSES.add(BreeCrossbowman.class); + ENTITY_CLASSES.add(BreeOutrider.class); + ENTITY_CLASSES.add(BreeSoldierBannerBearer.class); + ENTITY_CLASSES.add(BreeCaptain.class); + ENTITY_CLASSES.add(DwarfLevy.class); // unregistered + ENTITY_CLASSES.add(HaradLevy.class); // unregistered + ENTITY_CLASSES.add(FangornElk.class); + ENTITY_CLASSES.add(FangornBear.class); + ENTITY_CLASSES.add(FangornWildBoar.class); + ENTITY_CLASSES.add(FangornWolf.class); + ENTITY_CLASSES.add(FangornAuroch.class); + ENTITY_CLASSES.add(BladorthinSmith.class); + ENTITY_CLASSES.add(LimwaithFishmonger.class); + ENTITY_CLASSES.add(LimwaithShaman.class); + ENTITY_CLASSES.add(RedDwarfSmith.class); + ENTITY_CLASSES.add(CorruptDwarf.class); + ENTITY_CLASSES.add(CorruptElf.class); + ENTITY_CLASSES.add(CorruptEnt.class); + ENTITY_CLASSES.add(CorruptHobbit.class); + ENTITY_CLASSES.add(CorruptMan.class); + ENTITY_CLASSES.add(CorruptOrc.class); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < ENTITY_CLASSES.size(); i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + public static void spawnCustomCreature(World world, Entity entity) { + if (entity instanceof EntityLiving) { + EntityLiving entityLiving = (EntityLiving)entity; + + entityLiving.onSpawnWithEgg(null); + + world.spawnEntityInWorld(entity); + entityLiving.playLivingSound(); + } } @Override @@ -37,11 +127,11 @@ public class CinderLoESpawnEgg extends Item { y += 1; try { - Entity entity = entityClass.getConstructor(World.class).newInstance(world); + Entity entity = getEntityClass(itemStack.getItemDamage()).getConstructor(World.class).newInstance(world); entity.setLocationAndAngles(x + 0.5, y, z + 0.5, MathHelper.wrapAngleTo180_float(world.rand.nextFloat() * 360.0F), 0.0F); spawnCustomCreature(world, entity); } catch (Exception e) { - e.printStackTrace(); // Log any exceptions + e.printStackTrace(); } } } @@ -50,17 +140,4 @@ public class CinderLoESpawnEgg extends Item { } return itemStack; } - - - public static void spawnCustomCreature(World world, Entity entity) { - if (entity instanceof EntityLiving) { - EntityLiving entityLiving = (EntityLiving)entity; - - // The entity's location is already set, so we directly apply custom properties and spawn - entityLiving.onSpawnWithEgg(null); // Applies custom armor and equipment - - world.spawnEntityInWorld(entity); - entityLiving.playLivingSound(); - } - } } diff --git a/src/main/java/com/zivilon/cinder_loe/items/ToxicCore.java b/src/main/java/com/zivilon/cinder_loe/items/ToxicCore.java index 613b0b6..74bdebf 100644 --- a/src/main/java/com/zivilon/cinder_loe/items/ToxicCore.java +++ b/src/main/java/com/zivilon/cinder_loe/items/ToxicCore.java @@ -8,7 +8,7 @@ public class ToxicCore extends Item { public ToxicCore() { this.setUnlocalizedName("lotr:toxicCore"); - this.setTextureName("lotr:toxicCore"); + this.setTextureName("lotr:toxic_core"); setCreativeTab(LoECreativeTabs.tabMiscLoE); this.setMaxDamage(100); this.setNoRepair(); diff --git a/src/main/resources/assets/lotr/textures/items/toxicCore.png b/src/main/resources/assets/lotr/textures/items/toxicCore.png deleted file mode 100644 index 3033850..0000000 Binary files a/src/main/resources/assets/lotr/textures/items/toxicCore.png and /dev/null differ diff --git a/src/main/resources/assets/lotr/textures/items/toxic_core.png b/src/main/resources/assets/lotr/textures/items/toxic_core.png new file mode 100644 index 0000000..5939da4 Binary files /dev/null and b/src/main/resources/assets/lotr/textures/items/toxic_core.png differ