So I've decided to add a bow to my mod, and have successfully given it all of the aspects of a vanilla bow (but increased values such as damage, range, etc.). The bow renders fine in third person, but as soon as I load the bow onto a server and my friend holds it, things get crazy. The bow takes on random textures and the terrain around us seems to copy itself and move around with the holder (the terrain cannot be touched, though).
@Mod(modid = "SwordConjuring", name = "Sword Conjuring", version = "0.2.1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class SwordConjuring
{
@SidedProxy(clientSide = "brett.sc.client.ClientProxy", serverSide = "brett.sc.common.CommonProxy")
public static CommonProxy proxy;
//Blocks
public static Block SwordTable = new BlockSwordTable(3584, Material.rock).setUnlocalizedName("SwordTable");
//Items
public static Item ReinforcedStick = new ItemReinforcedStick(3501).setUnlocalizedName("ReinforcedStick");
public static Item Shatterfall = new ItemShatterfall(3602).setUnlocalizedName("Shatterfall");
public static Item RitualBook1 = new ItemRBES(3512).setUnlocalizedName("RitualBook1");
public static Item RitualBook2 = new ItemRBPS(3513).setUnlocalizedName("RitualBook2");
public static Item RitualBook3 = new ItemRBWL(3514).setUnlocalizedName("RitualBook3");
public static Item RitualBook4 = new ItemRBTD(3515).setUnlocalizedName("RitualBook4");
public static Item RitualBook5 = new ItemRBHR(3516).setUnlocalizedName("RitualBook5");
public static Item RitualBook6 = new ItemRBVS(3517).setUnlocalizedName("RitualBook6");
public static Item RitualBook7 = new ItemRBSG(3518).setUnlocalizedName("RitualBook7");
public static Item RitualBook8 = new ItemRBSS(3519).setUnlocalizedName("RitualBook8");
public static Item RitualBook9 = new ItemRBDL(3520).setUnlocalizedName("RitualBook9");
public static Item RitualBook10 = new ItemRBSB(3521).setUnlocalizedName("RitualBook10");
public static Item FocusCrystal = new ItemFocusCrystal(3532).setUnlocalizedName("FocusCrystal");
public static Item ConcentrationCrystal = new ItemConcentrationCrystal(3594).setUnlocalizedName("ConcentrationCrystal");
public static Item AsgardianBow = new ItemAsgardianBow(3601).setUnlocalizedName("AsgardianBow");
//Potions
public static Item EnergizedPotion = new ItemEnergizedPotion(3533).setUnlocalizedName("EnergizedPotion");
public static Item EmberPotion = new ItemEmberPotion(3534, 2, 0.8F, false).setUnlocalizedName("EmberPotion");
public static Item PhantomPotion = new ItemPhantomPotion(3535, 2, 0.8F, false).setUnlocalizedName("PhantomPotion");
public static Item WretchedPotion = new ItemWretchedPotion(3536, 2, 0.8F, false).setUnlocalizedName("WretchedPotion");
public static Item TritonPotion = new ItemTritonPotion(3537, 2, 0.8F, false).setUnlocalizedName("TritonPotion");
public static Item HadesPotion = new ItemHadesPotion(3538, 2, 0.8F, false).setUnlocalizedName("HadesPotion");
public static Item VoidPotion = new ItemVoidPotion(3539, 2, 0.8F, false).setUnlocalizedName("VoidPotion");
public static Item StonePotion = new ItemStonePotion(3540, 2, 0.8F, false).setUnlocalizedName("StonePotion");
public static Item SparkingPotion = new ItemSparkingPotion(3541, 2, 0.8F, false).setUnlocalizedName("SparkingPotion");
public static Item DeadPotion = new ItemDeadPotion(3542, 2, 0.8F, false).setUnlocalizedName("DeadPotion");
public static Item StormPotion = new ItemStormPotion(3543, 2, 0.8F, false).setUnlocalizedName("StormPotion");
//Weapons
public static Item EmberSword = new ItemEmberSword(3502, toolEmberSword).setUnlocalizedName("EmberSword");
public static Item PhantomShortblade = new ItemPhantomShortblade(3503, toolPhantomShortblade).setUnlocalizedName("PhantomShortblade");
public static Item WretchedLongsword = new ItemWretchedLongsword(3504, toolWretchedLongsword).setUnlocalizedName("WretchedLongsword");
public static Item TritonsDeep = new ItemTritonsDeep(3505, toolTritonsDeep).setUnlocalizedName("TritonsDeep");
public static Item HadesRipper = new ItemHadesRipper(3506, toolHadesRipper).setUnlocalizedName("HadesRipper");
public static Item VoidSaber = new ItemVoidSaber(3507, toolVoidSaber).setUnlocalizedName("VoidSaber");
public static Item StoneGreatsword = new ItemStoneGreatsword(3508, toolStoneGreatsword).setUnlocalizedName("StoneGreatsword");
public static Item SparkingStriker = new ItemSparkingStriker(3509, toolSparkingStriker).setUnlocalizedName("SparkingStriker");
public static Item DeadLance = new ItemDeadLance(3510, toolDeadLance).setUnlocalizedName("DeadLance");
public static Item StormBreaker = new ItemStormBreaker(3511, toolStormBreaker).setUnlocalizedName("StormBreaker");
//Reinforced Weapons
public static Item EmberSwordRF = new ItemEmberSwordRF(3522, toolEmberSwordRf).setUnlocalizedName("EmberSwordRF");
public static Item PhantomShortbladeRF = new ItemPhantomShortbladeRF(3523, toolPhantomShortbladeRf).setUnlocalizedName("PhantomShortbladeRF");
public static Item WretchedLongswordRF = new ItemWretchedLongswordRF(3524, toolWretchedLongswordRf).setUnlocalizedName("WretchedLongswordRF");
public static Item TritonsDeepRF = new ItemTritonsDeepRF(3525, toolTritonsDeepRf).setUnlocalizedName("TritonsDeepRF");
public static Item HadesRipperRF = new ItemHadesRipperRF(3526, toolHadesRipperRf).setUnlocalizedName("HadesRipperRF");
public static Item VoidSaberRF = new ItemVoidSaberRF(3527, toolVoidSaberRf).setUnlocalizedName("VoidSaberRF");
public static Item StoneGreatswordRF = new ItemStoneGreatswordRF(3528, toolStoneGreatswordRf).setUnlocalizedName("StoneGreatswordRF");
public static Item SparkingStrikerRF = new ItemSparkingStrikerRF(3529, toolSparkingStrikerRf).setUnlocalizedName("SparkingStrikerRF");
public static Item DeadLanceRF = new ItemDeadLanceRF(3530, toolDeadLanceRf).setUnlocalizedName("DeadLanceRF");
public static Item StormBreakerRF = new ItemStormBreakerRF(3531, toolStormBreakerRf).setUnlocalizedName("StormBreakerRF");
//Focused Weapon
public static Item EmberSwordF = new ItemEmberSwordF(3584, toolEmberSwordF).setUnlocalizedName("EmberSwordF");
public static Item PhantomShortbladeF = new ItemPhantomShortbladeF(3585, toolPhantomShortbladeF).setUnlocalizedName("PhantomShortbladeF");
public static Item WretchedLongswordF = new ItemWretchedLongswordF(3586, toolWretchedLongswordF).setUnlocalizedName("WretchedLongswordF");
public static Item TritonsDeepF = new ItemTritonsDeepF(3587, toolTritonsDeepF).setUnlocalizedName("TritonsDeepF");
public static Item HadesRipperF = new ItemHadesRipperF(3588, toolHadesRipperF).setUnlocalizedName("HadesRipperF");
public static Item VoidSaberF = new ItemVoidSaberF(3589, toolVoidSaberF).setUnlocalizedName("VoidSaberF");
public static Item StoneGreatswordF = new ItemStoneGreatswordF(3590, toolStoneGreatswordF).setUnlocalizedName("StoneGreatswordF");
public static Item SparkingStrikerF = new ItemSparkingStrikerF(3591, toolSparkingStrikerF).setUnlocalizedName("SparkingStrikerF");
public static Item DeadLanceF = new ItemDeadLanceF(3592, toolDeadLanceF).setUnlocalizedName("DeadLanceF");
public static Item StormBreakerF = new ItemStormBreakerF(1593, toolStormBreakerF).setUnlocalizedName("StormBreakerF");
//Concentrated Weapons
public static Item WoodSwordC = new ItemWoodSwordC(3595, toolWoodSwordC).setUnlocalizedName("WoodSwordC");
public static Item StoneSwordC = new ItemStoneSwordC(3596, toolStoneSwordC).setUnlocalizedName("StoneSwordC");
public static Item IronSwordC = new ItemIronSwordC(3597, toolIronSwordC).setUnlocalizedName("IronSwordC");
public static Item BudderSwordC = new ItemBudderSwordC(3598, toolBudderSwordC).setUnlocalizedName("BudderSwordC");
public static Item DiamondSwordC = new ItemDiamondSwordC(3599, toolDiamondSwordC).setUnlocalizedName("DiamondSwordC");
//Asgardian Challenger
public static Item AsgardianChallenger = new ItemAsgardianChallenger(3600, toolAsgardianChallenger).setUnlocalizedName("AsgardianChallenger");
//Armor Materials
public static EnumArmorMaterial ArmorSetPyro = EnumHelper.addArmorMaterial("EMBER", 45, new int[]{20, 25, 23, 17}, 50);
public static EnumArmorMaterial ArmorSetPhantasmic = EnumHelper.addArmorMaterial("PHANTOM", 50, new int[]{25, 30, 28, 22}, 50);
public static EnumArmorMaterial ArmorSetWretched = EnumHelper.addArmorMaterial("WRETCHED", 55, new int[]{30, 35, 33, 27}, 50);
public static EnumArmorMaterial ArmorSetAqueous = EnumHelper.addArmorMaterial("TRITON", 60, new int[]{35, 40, 38, 32}, 50);
public static EnumArmorMaterial ArmorSetInfernal = EnumHelper.addArmorMaterial("HADES", 65, new int[]{40, 45, 43, 37}, 50);
public static EnumArmorMaterial ArmorSetDevoid = EnumHelper.addArmorMaterial("VOID", 70, new int[]{45, 50, 48, 42}, 50);
public static EnumArmorMaterial ArmorSetFortified = EnumHelper.addArmorMaterial("STONE", 75, new int[]{50, 55, 53, 47}, 50);
public static EnumArmorMaterial ArmorSetIncendiary = EnumHelper.addArmorMaterial("SPARKING", 80, new int[]{55, 60, 58, 52}, 50);
public static EnumArmorMaterial ArmorSetDeceased = EnumHelper.addArmorMaterial("DEAD", 85, new int[]{60, 65, 63, 57}, 50);
public static EnumArmorMaterial ArmorSetTempestial = EnumHelper.addArmorMaterial("TEMPESTIAL", 90, new int[]{65, 70, 78, 62}, 50);
//Pyro Armor
public static Item PyroHelmet = new ArmorSetPyro(3544, ArmorSetPyro, 0, 0, "pyro").setUnlocalizedName("PyroHelmet");
public static Item PyroChestplate = new ArmorSetPyro(3545, ArmorSetPyro, 0, 1, "pyro").setUnlocalizedName("PyroChestplate");
public static Item PyroLeggings = new ArmorSetPyro(3546, ArmorSetPyro, 0, 2, "pyro").setUnlocalizedName("PyroLeggings");
public static Item PyroBoots = new ArmorSetPyro(3547, ArmorSetPyro, 0, 3, "pyro").setUnlocalizedName("PyroBoots");
//Phantasmic Armor
public static Item PhantasmicHelmet = new ArmorSetPhantasmic(3548, ArmorSetPhantasmic, 0, 0, "phantasmic").setUnlocalizedName("PhantasmicHelmet");
public static Item PhantasmicChestplate = new ArmorSetPhantasmic(3549, ArmorSetPhantasmic, 0, 1, "phantasmic").setUnlocalizedName("PhantasmicChestplate");
public static Item PhantasmicLeggings = new ArmorSetPhantasmic(3550, ArmorSetPhantasmic, 0, 2, "phantasmic").setUnlocalizedName("PhantasmicLeggings");
public static Item PhantasmicBoots = new ArmorSetPhantasmic(3551, ArmorSetPhantasmic, 0, 3, "phantasmic").setUnlocalizedName("PhantasmicBoots");
//Wretched Armor
public static Item WretchedHelmet = new ArmorSetWretched(3552, ArmorSetWretched, 0, 0, "wretched").setUnlocalizedName("WretchedHelmet");
public static Item WretchedChestplate = new ArmorSetWretched(3553, ArmorSetWretched, 0, 1, "wretched").setUnlocalizedName("WretchedChestplate");
public static Item WretchedLeggings = new ArmorSetWretched(3554, ArmorSetWretched, 0, 2, "wretched").setUnlocalizedName("WretchedLeggings");
public static Item WretchedBoots = new ArmorSetWretched(3555, ArmorSetWretched, 0, 3, "wretched").setUnlocalizedName("WretchedBoots");
//Aqueous Armor
public static Item AqueousHelmet = new ArmorSetAqueous(3556, ArmorSetAqueous, 0, 0, "aqueous").setUnlocalizedName("AqueousHelmet");
public static Item AqueousChestplate = new ArmorSetAqueous(3557, ArmorSetAqueous, 0, 1, "aqueous").setUnlocalizedName("AqueousChestplate");
public static Item AqueousLeggings = new ArmorSetAqueous(3558, ArmorSetAqueous, 0, 2, "aqueous").setUnlocalizedName("AqueousLeggings");
public static Item AqueousBoots = new ArmorSetAqueous(3559, ArmorSetAqueous, 0, 3, "aqueous").setUnlocalizedName("AqueousBoots");
//Infernal Armor
public static Item InfernalHelmet = new ArmorSetInfernal(3560, ArmorSetInfernal, 0, 0, "infernal").setUnlocalizedName("InfernalHelmet");
public static Item InfernalChestplate = new ArmorSetInfernal(3561, ArmorSetInfernal, 0, 1, "infernal").setUnlocalizedName("InfernalChestplate");
public static Item InfernalLeggings = new ArmorSetInfernal(3562, ArmorSetInfernal, 0, 2, "infernal").setUnlocalizedName("InfernalLeggings");
public static Item InfernalBoots = new ArmorSetInfernal(3563, ArmorSetInfernal, 0, 3, "infernal").setUnlocalizedName("InfernalBoots");
//Devoid Armor
public static Item DevoidHelmet = new ArmorSetDevoid(3564, ArmorSetDevoid, 0, 0, "devoid").setUnlocalizedName("DevoidHelmet");
public static Item DevoidChestplate = new ArmorSetDevoid(3565, ArmorSetDevoid, 0, 1, "devoid").setUnlocalizedName("DevoidChestplate");
public static Item DevoidLeggings = new ArmorSetDevoid(3566, ArmorSetDevoid, 0, 2, "devoid").setUnlocalizedName("DevoidLeggings");
public static Item DevoidBoots = new ArmorSetDevoid(3567, ArmorSetDevoid, 0, 3, "devoid").setUnlocalizedName("DevoidBoots");
//Fortified Armor
public static Item FortifiedHelmet = new ArmorSetFortified(3568, ArmorSetFortified, 0, 0, "fortified").setUnlocalizedName("FortifiedHelmet");
public static Item FortifiedChestplate = new ArmorSetFortified(3569, ArmorSetFortified, 0, 1, "fortified").setUnlocalizedName("FortifiedChestplate");
public static Item FortifiedLeggings = new ArmorSetFortified(3570, ArmorSetFortified, 0, 2, "fortified").setUnlocalizedName("FortifiedLeggings");
public static Item FortifiedBoots = new ArmorSetFortified(3571, ArmorSetFortified, 0, 3, "fortified").setUnlocalizedName("FortifiedBoots");
//Incendiary
public static Item IncendiaryHelmet = new ArmorSetIncendiary(3572, ArmorSetIncendiary, 0, 0, "incendiary").setUnlocalizedName("IncendiaryHelmet");
public static Item IncendiaryChestplate = new ArmorSetIncendiary(3573, ArmorSetIncendiary, 0, 1, "incendiary").setUnlocalizedName("IncendiaryChestplate");
public static Item IncendiaryLeggings = new ArmorSetIncendiary(3574, ArmorSetIncendiary, 0, 2, "incendiary").setUnlocalizedName("IncendiaryLeggings");
public static Item IncendiaryBoots = new ArmorSetIncendiary(3575, ArmorSetIncendiary, 0, 3, "incendiary").setUnlocalizedName("IncendiaryBoots");
//Deceased Armor
public static Item DeceasedHelmet = new ArmorSetDeceased(3576, ArmorSetDeceased, 0, 0, "deceased").setUnlocalizedName("DeceasedHelmet");
public static Item DeceasedChestplate = new ArmorSetDeceased(3577, ArmorSetDeceased, 0, 1, "deceased").setUnlocalizedName("DeceasedChestplate");
public static Item DeceasedLeggings = new ArmorSetDeceased(3578, ArmorSetDeceased, 0, 2, "deceased").setUnlocalizedName("DeceasedLeggings");
public static Item DeceasedBoots = new ArmorSetDeceased(3579, ArmorSetDeceased, 0, 3, "deceased").setUnlocalizedName("DeceasedBoots");
//Tempestial Armor
public static Item TempestialHelmet = new ArmorSetTempestial(3580, ArmorSetTempestial, 0, 0, "tempestial").setUnlocalizedName("TempestialHelmet");
public static Item TempestialChestplate = new ArmorSetTempestial(3581, ArmorSetTempestial, 0, 1, "tempestial").setUnlocalizedName("TempestialChestplate");
public static Item TempestialLeggings = new ArmorSetTempestial(3582, ArmorSetTempestial, 0, 2, "tempestial").setUnlocalizedName("TempestialLeggings");
public static Item TempestialBoots = new ArmorSetTempestial(3583, ArmorSetTempestial, 0, 3, "tempestial").setUnlocalizedName("TempestialBoots");
//Entity Registry
public static int entityId = 250;
public static int getEntityId() {
do {
entityId++;
}
while(EntityList.getStringFromID(entityId)!= null);
return entityId++;
}
//Spawn Eggs
public static void registerSpawnEgg(Classentity, int primaryColor, int secondaryColor) {
int eggId = getEntityId();
EntityList.IDtoClassMapping.put(eggId, entity);
EntityList.entityEggs.put(eggId, new EntityEggInfo(eggId, primaryColor, secondaryColor));
}
@Init
public void load(FMLInitializationEvent event)
{
proxy.registerRenderInformation();
//Chest Gen
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
//Crafting
GameRegistry.addRecipe(new ItemStack(ReinforcedStick), "s ", " * ", " s",
's', Item.diamond, '*', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(AsgardianChallenger), "e*e", "*e*", "e*e",
'*', FocusCrystal, 'e', new ItemStack(StormBreakerF));
GameRegistry.addRecipe(new ItemStack(Item.swordWood), "e*e", "*e*", "e*e",
'*', Block.wood, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordStone), "e*e", "*e*", "e*e",
'*', Block.cobblestone, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordIron), "e*e", "*e*", "e*e",
'*', Item.ingotIron, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordGold), "e*e", "*e*", "e*e",
'*', Item.ingotGold, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordDiamond), "e*e", "*e*", "e*e",
'*', Item.diamond, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeWood), "e*e", "*e*", "e*e",
'*', Block.wood, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeStone), "e*e", "*e*", "e*e",
'*', Block.cobblestone, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeIron), "e*e", "*e*", "e*e",
'*', Item.ingotIron, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeGold), "e*e", "*e*", "e*e",
'*', Item.ingotGold, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeDiamond), "e*e", "*e*", "e*e",
'*', Item.diamond, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.bow), "e*e", "*e*", "e*e",
'*', Item.silk, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.arrow), "e*e", "*e*", "e*e",
'*', Item.flint, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(AsgardianBow), "e*e", "*e*", "e*e",
'*', StormBreakerF, 'e', new ItemStack(FocusCrystal));
GameRegistry.addShapelessRecipe(new ItemStack(EmberSword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook1), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortblade),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook2), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongsword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook3), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeep),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook4), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipper),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook5), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaber),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook6), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatsword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook7), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStriker),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook8), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLance),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook9), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreaker),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook10), new ItemStack(ReinforcedStick, 1, 0));
//Ritual Books
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook1),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.ingotIron, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook2),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.ingotGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook3),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.redstone, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook4),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.emerald, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook5),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.enderPearl, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook6),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordIron, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook7),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook8),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook9),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.plateGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook10),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.plateDiamond, 1, 0));
//Reinforced Swords
GameRegistry.addShapelessRecipe(new ItemStack(EmberSwordRF),
new ItemStack(Block.blockIron), new ItemStack(EmberSword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortbladeRF),
new ItemStack(Block.blockIron), new ItemStack(PhantomShortblade), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongswordRF),
new ItemStack(Block.blockIron), new ItemStack(WretchedLongsword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeepRF),
new ItemStack(Block.blockIron), new ItemStack(TritonsDeep), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipperRF),
new ItemStack(Block.blockIron), new ItemStack(HadesRipper), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaberRF),
new ItemStack(Block.blockIron), new ItemStack(VoidSaber), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatswordRF),
new ItemStack(Block.blockIron), new ItemStack(StoneGreatsword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStrikerRF),
new ItemStack(Block.blockIron), new ItemStack(SparkingStriker), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLanceRF),
new ItemStack(Block.blockIron), new ItemStack(DeadLance), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreakerRF),
new ItemStack(Block.blockIron), new ItemStack(StormBreaker), new ItemStack(Item.plateDiamond, 1, 0));
//Focused Swords
GameRegistry.addShapelessRecipe(new ItemStack(EmberSwordF),
new ItemStack(FocusCrystal), new ItemStack(EmberSwordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortbladeF),
new ItemStack(FocusCrystal), new ItemStack(PhantomShortbladeRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongswordF),
new ItemStack(FocusCrystal), new ItemStack(WretchedLongswordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeepF),
new ItemStack(FocusCrystal), new ItemStack(TritonsDeepRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipperF),
new ItemStack(FocusCrystal), new ItemStack(HadesRipperRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaberF),
new ItemStack(FocusCrystal), new ItemStack(VoidSaberRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatswordF),
new ItemStack(FocusCrystal), new ItemStack(StoneGreatswordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStrikerF),
new ItemStack(FocusCrystal), new ItemStack(SparkingStrikerRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLanceF),
new ItemStack(FocusCrystal), new ItemStack(DeadLanceRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreakerF),
new ItemStack(FocusCrystal), new ItemStack(StormBreakerRF), new ItemStack(Item.plateDiamond, 1, 0));
//Helmets
GameRegistry.addShapelessRecipe(new ItemStack(PyroHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.helmetDiamond, 1, 0));
//Chestplate
GameRegistry.addShapelessRecipe(new ItemStack(PyroChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.plateDiamond, 1, 0));
//Leggings
GameRegistry.addShapelessRecipe(new ItemStack(PyroLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.legsDiamond, 1, 0));
//Boots
GameRegistry.addShapelessRecipe(new ItemStack(PyroBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.bootsDiamond, 1, 0));
public class ItemAsgardianBow extends Item
{
public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"};
@SideOnly(Side.CLIENT)
private Icon[] iconArray;
/**
* called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount
*/
public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)
{
int j = this.getMaxItemUseDuration(par1ItemStack) - par4;
ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j);
MinecraftForge.EVENT_BUS.post(event);
if (!par2World.isRemote)
{
par2World.spawnEntityInWorld(entityarrow);
}
}
}
public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
return par1ItemStack;
}
/**
* How long it takes to use or consume an item
*/
public int getMaxItemUseDuration(ItemStack par1ItemStack)
{
return 72000;
}
/**
* returns the action that specifies what animation to play when the items is being used
*/
public EnumAction getItemUseAction(ItemStack par1ItemStack)
{
return EnumAction.bow;
}
/**
* Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
*/
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled())
{
return event.result;
}
if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID))
{
par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
}
return par1ItemStack;
}
/**
* Return the enchantability factor of the item, most of the time is based on material.
*/
public int getItemEnchantability()
{
return 50;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("SwordConjuring:asgardian_bow" + "_standby");
this.iconArray = new Icon[bowPullIconNameArray.length];
for (int i = 0; i < this.iconArray.length; ++i)
{
this.iconArray[i] = par1IconRegister.registerIcon("SwordConjuring:asgardian_bow" + "_" + bowPullIconNameArray[i]);
}
}
/**
* used to cycle through icons based on their used duration, i.e. for the bow
*/
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
if (usingItem == null) { return itemIcon; }
int ticksInUse = stack.getMaxItemUseDuration() - useRemaining;
if (ticksInUse > 4) {
return iconArray[2];
} else if (ticksInUse > 2) {
return iconArray[1];
} else if (ticksInUse > 0) {
return iconArray[0];
} else {
return itemIcon;
}
}
@Override
public boolean hasEffect(ItemStack par1ItemStack)
{
return true;
}
public class ClientProxy extends CommonProxy
{
public void registerRenderInformation() {
RenderingRegistry.registerEntityRenderingHandler(EntityWatcher.class, new RenderWatcher(new ModelBiped(), 0.8F));
RenderingRegistry.registerEntityRenderingHandler(EntityStalker.class, new RenderStalker(new ModelBiped(), 0.8F));
RenderingRegistry.registerEntityRenderingHandler(EntitySandWraith.class, new RenderSandWraith(new ModelBiped(), 0.8F));
MinecraftForgeClient.registerItemRenderer(SwordConjuring.AsgardianBow.itemID, new BowRenderer());
public class BowRenderer implements IItemRenderer {
private RenderManager renderManager;
private Minecraft mc;
private TextureManager texturemanager;
public BowRenderer() {
this.renderManager = RenderManager.instance;
this.mc = Minecraft.getMinecraft();
this.texturemanager = this.mc.getTextureManager();
}
@Override
//HandleRenderType lets forge know if it will render the item in the requested view.
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
//You can remove everything after "EQUIPPED" if you only want this class to render the third person item.
return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
}
@Override
//RenderHelpers I don't fully understand, I'd assume they are modifiers, but I've never looked into it.
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
//This function decides what to do in rendering an item, whether it's first or third person.
//Credit to SanAndreasP on minecraftforge forums for this code.
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
EntityClientPlayerMP entity = (EntityClientPlayerMP)data[1];
ItemRenderer irInstance = this.mc.entityRenderer.itemRenderer;
GL11.glPopMatrix(); // prevents Forge from pre-translating the item
if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
this.renderItem(entity, item, 0);
} else {
GL11.glPushMatrix();
// contra-translate the item from it's standard translation
// also apply some more scale or else the bow is tiny
float f2 = 3F - (1F/3F);
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(f2, f2, f2);
GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F);
// render the item as 'real' bow
//This is pulled from RenderBiped
float f3 = 0.625F;
GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
this.renderItem(entity, item, 0);
GL11.glPopMatrix();
}
GL11.glPushMatrix(); // prevents GL Underflow errors
}
//This actually renders an Icon to be worked with.
//All of this code is directly pulled from ItemRenderer.class
private void renderItem(EntityClientPlayerMP par1EntityLiving, ItemStack par2ItemStack, int par3) {
{
//If you for whatever reason aren't registering icons with iconRegister, I'm assuming you'll need to change the code below.
Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3);
if (icon == null)
{
GL11.glPopMatrix();
return;
}
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
Tessellator tessellator = Tessellator.instance;
float f = icon.getMinU();
float f1 = icon.getMaxU();
float f2 = icon.getMinV();
float f3 = icon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 1.5F;
GL11.glScalef(f6, f6, f6);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
//This checks for enchantments.
if (par2ItemStack.hasEffect(par3))
{
GL11.glDepthFunc(GL11.GL_EQUAL);
GL11.glDisable(GL11.GL_LIGHTING);
texturemanager.bindTexture(new ResourceLocation("textures/misc/enchanted_item_glint.png"));
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
float f7 = 0.76F;
GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glPushMatrix();
float f8 = 0.125F;
GL11.glScalef(f8, f8, f8);
float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
GL11.glTranslatef(f9, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(f8, f8, f8);
f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
GL11.glTranslatef(-f9, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthFunc(GL11.GL_LEQUAL);
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
}
}
So there's my code. I'm pretty sure I left something out in either the main mod class or the common proxy. Any suggestions?
P.S. my bow spawns lightning where the player is looking when they shoot. The lightning causes an immediate server crash. Have left something out there as well?
If it will block 80% of the damage, doesn't that mean that you cannot die? I'm playing around in a modpack, and one sword does 75 damage. I was testing it with my friend as to how much damage it would do against every type of armor. It one shotted all of them. The way you're explaining it, you would still survive, and the sword would only do 15 damage. What is happening here?
I have a simple question, how much damage does a full set of undamaged diamond armor absorb? Like, if 5 damage was coming at you, and full diamond aborbs 20, it would do nothing. Or if 70 damage is coming at you, it would absorb 20, but do 50. So how much damage does full diamond absorb?
So, I just added a set of armor to my mod. The armor can withstand 45 damage, barely higher than diamond. I ran the mod in the Eclipse environment, and my game crashed. So when I looked through the error, I found this:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 4
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.EnumArmorMaterial.getDamageReductionAmount(EnumArmorMaterial.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.ItemArmor.(ItemArmor.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.armor.ArmorSetPyro.(ArmorSetPyro.java:15)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.common.SwordConjuring.(SwordConjuring.java:165)
2014-03-29 14:44:25 [INFO] [STDOUT] ... 35 more
So I'm just assuming I set the amount too high. Is this true? Is there a limit to how high I can go? In other mods, they have armor that is better than diamond. If you need my whole error, here it is:
Mar 29, 2014 2:44:11 PM net.minecraft.launchwrapper.LogWrapper log
INFO: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
Mar 29, 2014 2:44:11 PM net.minecraft.launchwrapper.LogWrapper log
INFO: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
Mar 29, 2014 2:44:11 PM net.minecraft.launchwrapper.LogWrapper log
INFO: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Forge Mod Loader version 6.4.49.965 for Minecraft 1.6.4 loading
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Java is Java HotSpot(TM) Client VM, version 1.7.0_25, running on Windows 8:x86:6.2, installed at C:\Program Files (x86)\Java\jre7
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
2014-03-29 14:44:11 [INFO] [STDOUT] Loaded 40 rules from AccessTransformer config file fml_at.cfg
2014-03-29 14:44:11 [SEVERE] [ForgeModLoader] The binary patch set is missing. Either you are in a development environment, or things are not going to work!
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
2014-03-29 14:44:12 [INFO] [STDOUT] Loaded 110 rules from AccessTransformer config file forge_at.cfg
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Launching wrapped minecraft {net.minecraft.client.main.Main}
2014-03-29 14:44:14 [INFO] [Minecraft-Client] Setting user: Player184
2014-03-29 14:44:16 [INFO] [Minecraft-Client] LWJGL Version: 2.9.0
2014-03-29 14:44:17 [INFO] [Minecraft-Client] Reloading ResourceManager: Default
2014-03-29 14:44:18 [INFO] [MinecraftForge] Attempting early MinecraftForge initialization
2014-03-29 14:44:18 [INFO] [STDOUT] MinecraftForge v9.11.1.965 Initialized
2014-03-29 14:44:18 [INFO] [ForgeModLoader] MinecraftForge v9.11.1.965 Initialized
2014-03-29 14:44:18 [INFO] [STDOUT] Replaced 111 ore recipies
2014-03-29 14:44:19 [INFO] [MinecraftForge] Completed early MinecraftForge initialization
2014-03-29 14:44:19 [INFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\config\logging.properties
2014-03-29 14:44:19 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
2014-03-29 14:44:19 [INFO] [ForgeModLoader] Searching C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\mods for mods
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2014-03-29 14:44:25 [INFO] [mcp] Activating mod mcp
2014-03-29 14:44:25 [INFO] [FML] Activating mod FML
2014-03-29 14:44:25 [INFO] [Forge] Activating mod Forge
2014-03-29 14:44:25 [INFO] [SwordConjuring] Activating mod SwordConjuring
2014-03-29 14:44:25 [WARNING] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [WARNING] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [WARNING] [Sword Conjuring] Mod Sword Conjuring is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [INFO] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Sword Conjuring
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Registering Forge Packet Handler
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Succeeded registering Forge Packet Handler
2014-03-29 14:44:25 [INFO] [STDOUT] ---- Minecraft Crash Report ----
2014-03-29 14:44:25 [INFO] [STDOUT] // Surprise! Haha. Well, this is awkward.
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] Time: 3/29/14 2:44 PM
2014-03-29 14:44:25 [INFO] [STDOUT] Description: Initializing game
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] java.lang.ExceptionInInitializerError
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:482)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:539)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:472)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:809)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
2014-03-29 14:44:25 [INFO] [STDOUT] Caused by: java.lang.ArrayIndexOutOfBoundsException: 4
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.EnumArmorMaterial.getDamageReductionAmount(EnumArmorMaterial.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.ItemArmor.<init>(ItemArmor.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.armor.ArmorSetPyro.<init>(ArmorSetPyro.java:15)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.common.SwordConjuring.<clinit>(SwordConjuring.java:165)
2014-03-29 14:44:25 [INFO] [STDOUT] ... 35 more
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
2014-03-29 14:44:25 [INFO] [STDOUT] ---------------------------------------------------------------------------------------
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- Head --
2014-03-29 14:44:25 [INFO] [STDOUT] Stacktrace:
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:482)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:539)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:472)
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- Initialization --
2014-03-29 14:44:25 [INFO] [STDOUT] Details:
2014-03-29 14:44:25 [INFO] [STDOUT] Stacktrace:
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:809)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- System Details --
2014-03-29 14:44:25 [INFO] [STDOUT] Details:
2014-03-29 14:44:25 [INFO] [STDOUT] Minecraft Version: 1.6.4
2014-03-29 14:44:25 [INFO] [STDOUT] Operating System: Windows 8 (x86) version 6.2
2014-03-29 14:44:25 [INFO] [STDOUT] Java Version: 1.7.0_25, Oracle Corporation
2014-03-29 14:44:25 [INFO] [STDOUT] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
2014-03-29 14:44:25 [INFO] [STDOUT] Memory: 886876944 bytes (845 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
2014-03-29 14:44:25 [INFO] [STDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
2014-03-29 14:44:25 [INFO] [STDOUT] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
2014-03-29 14:44:25 [INFO] [STDOUT] Suspicious classes: FML and Forge are installed
2014-03-29 14:44:25 [INFO] [STDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
2014-03-29 14:44:25 [INFO] [STDOUT] FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 4 mods loaded, 4 mods active
2014-03-29 14:44:25 [INFO] [STDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] SwordConjuring{0.0.1} [Sword Conjuring] (bin) Unloaded
2014-03-29 14:44:25 [INFO] [STDOUT] Launched Version: 1.6
2014-03-29 14:44:25 [INFO] [STDOUT] LWJGL: 2.9.0
2014-03-29 14:44:25 [INFO] [STDOUT] OpenGL: Intel(R) HD Graphics 2500 GL version 4.0.0 - Build 10.18.10.3316, Intel
2014-03-29 14:44:25 [INFO] [STDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge'
2014-03-29 14:44:25 [INFO] [STDOUT] Type: Client (map_client.txt)
2014-03-29 14:44:25 [INFO] [STDOUT] Resource Pack: Default
2014-03-29 14:44:25 [INFO] [STDOUT] Current Language: English (US)
2014-03-29 14:44:25 [INFO] [STDOUT] Profiler Position: N/A (disabled)
2014-03-29 14:44:25 [INFO] [STDOUT] Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
2014-03-29 14:44:25 [INFO] [STDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\.\crash-reports\crash-2014-03-29_14.44.25-client.txt
0
0
0
How do I change this to fit my mod?
0
Couldn't you just add that to the block you are trying to modify? Or edit the already existing code?
0
Here's my main mod class:
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityEggInfo;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.WeightedRandomChestContent;
import net.minecraft.world.WorldType;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.ChestGenHooks;
import net.minecraftforge.common.EnumHelper;
import brett.sc.armor.ArmorSetAqueous;
import brett.sc.armor.ArmorSetDeceased;
import brett.sc.armor.ArmorSetDevoid;
import brett.sc.armor.ArmorSetFortified;
import brett.sc.armor.ArmorSetIncendiary;
import brett.sc.armor.ArmorSetInfernal;
import brett.sc.armor.ArmorSetPhantasmic;
import brett.sc.armor.ArmorSetPyro;
import brett.sc.armor.ArmorSetTempestial;
import brett.sc.armor.ArmorSetWretched;
import brett.sc.block.BlockSwordTable;
import brett.sc.item.ItemConcentrationCrystal;
import brett.sc.item.ItemFocusCrystal;
import brett.sc.item.ItemRBDL;
import brett.sc.item.ItemRBES;
import brett.sc.item.ItemRBHR;
import brett.sc.item.ItemRBPS;
import brett.sc.item.ItemRBSB;
import brett.sc.item.ItemRBSG;
import brett.sc.item.ItemRBSS;
import brett.sc.item.ItemRBTD;
import brett.sc.item.ItemRBVS;
import brett.sc.item.ItemRBWL;
import brett.sc.item.ItemReinforcedStick;
import brett.sc.item.ItemShatterfall;
import brett.sc.mob.EntitySandWraith;
import brett.sc.mob.EntityStalker;
import brett.sc.mob.EntityWatcher;
import brett.sc.potion.ItemDeadPotion;
import brett.sc.potion.ItemEmberPotion;
import brett.sc.potion.ItemEnergizedPotion;
import brett.sc.potion.ItemHadesPotion;
import brett.sc.potion.ItemPhantomPotion;
import brett.sc.potion.ItemSparkingPotion;
import brett.sc.potion.ItemStonePotion;
import brett.sc.potion.ItemStormPotion;
import brett.sc.potion.ItemTritonPotion;
import brett.sc.potion.ItemVoidPotion;
import brett.sc.potion.ItemWretchedPotion;
import brett.sc.weapon.ItemAsgardianBow;
import brett.sc.weapon.ItemAsgardianChallenger;
import brett.sc.weapon.ItemBudderSwordC;
import brett.sc.weapon.ItemDeadLance;
import brett.sc.weapon.ItemDeadLanceF;
import brett.sc.weapon.ItemDeadLanceRF;
import brett.sc.weapon.ItemDiamondSwordC;
import brett.sc.weapon.ItemEmberSword;
import brett.sc.weapon.ItemEmberSwordF;
import brett.sc.weapon.ItemEmberSwordRF;
import brett.sc.weapon.ItemHadesRipper;
import brett.sc.weapon.ItemHadesRipperF;
import brett.sc.weapon.ItemHadesRipperRF;
import brett.sc.weapon.ItemIronSwordC;
import brett.sc.weapon.ItemPhantomShortblade;
import brett.sc.weapon.ItemPhantomShortbladeF;
import brett.sc.weapon.ItemPhantomShortbladeRF;
import brett.sc.weapon.ItemSparkingStriker;
import brett.sc.weapon.ItemSparkingStrikerF;
import brett.sc.weapon.ItemSparkingStrikerRF;
import brett.sc.weapon.ItemStoneGreatsword;
import brett.sc.weapon.ItemStoneGreatswordF;
import brett.sc.weapon.ItemStoneGreatswordRF;
import brett.sc.weapon.ItemStoneSwordC;
import brett.sc.weapon.ItemStormBreaker;
import brett.sc.weapon.ItemStormBreakerF;
import brett.sc.weapon.ItemStormBreakerRF;
import brett.sc.weapon.ItemTritonsDeep;
import brett.sc.weapon.ItemTritonsDeepF;
import brett.sc.weapon.ItemTritonsDeepRF;
import brett.sc.weapon.ItemVoidSaber;
import brett.sc.weapon.ItemVoidSaberF;
import brett.sc.weapon.ItemVoidSaberRF;
import brett.sc.weapon.ItemWoodSwordC;
import brett.sc.weapon.ItemWretchedLongsword;
import brett.sc.weapon.ItemWretchedLongswordF;
import brett.sc.weapon.ItemWretchedLongswordRF;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = "SwordConjuring", name = "Sword Conjuring", version = "0.2.1")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class SwordConjuring
{
@SidedProxy(clientSide = "brett.sc.client.ClientProxy", serverSide = "brett.sc.common.CommonProxy")
public static CommonProxy proxy;
//Weapon Materials
public static EnumToolMaterial toolEmberSword = EnumHelper.addToolMaterial("EMBERSWORD", 3, 1562, 2.0F, 11.0F, 50);
public static EnumToolMaterial toolPhantomShortblade = EnumHelper.addToolMaterial("PHANTOMSHORTBLADE", 3, 1562, 2.0F, 16.0F, 50);
public static EnumToolMaterial toolWretchedLongsword = EnumHelper.addToolMaterial("WRETCHEDLONGSWORD", 3, 1562, 2.0F, 21.0F, 50);
public static EnumToolMaterial toolTritonsDeep = EnumHelper.addToolMaterial("TRITONSDEEP", 3, 1562, 2.0F, 31.0F, 50);
public static EnumToolMaterial toolHadesRipper = EnumHelper.addToolMaterial("HADESRIPPER", 3, 1562, 2.0F, 34.0F, 50);
public static EnumToolMaterial toolVoidSaber = EnumHelper.addToolMaterial("VOIDSABER", 3, 1562, 2.0F, 38.0F, 50);
public static EnumToolMaterial toolStoneGreatsword = EnumHelper.addToolMaterial("STONEGREATSWORD", 3, 1562, 2.0F, 44.0F, 50);
public static EnumToolMaterial toolSparkingStriker = EnumHelper.addToolMaterial("SPARKINGSTRIKER", 3, 1562, 2.0F, 46.0F, 50);
public static EnumToolMaterial toolDeadLance = EnumHelper.addToolMaterial("DEADLANCE", 3, 1562, 2.0F, 48.0F, 50);
public static EnumToolMaterial toolStormBreaker = EnumHelper.addToolMaterial("STORMBREAKER", 3, 1562, 2.0F, 56.0F, 50);
//Focused Weapon Materials
public static EnumToolMaterial toolEmberSwordF = EnumHelper.addToolMaterial("EMBERSWORDF", 3, 3000, 2.0F, 26.0F, 50);
public static EnumToolMaterial toolPhantomShortbladeF = EnumHelper.addToolMaterial("PHANTOMSHORTBLADEF", 3, 3000, 2.0F, 31.0F, 50);
public static EnumToolMaterial toolWretchedLongswordF = EnumHelper.addToolMaterial("WRETCHEDLONGSWORDF", 3, 3000, 2.0F, 36.0F, 50);
public static EnumToolMaterial toolTritonsDeepF = EnumHelper.addToolMaterial("TRITONSDEEPF", 3, 3000, 2.0F, 46.0F, 50);
public static EnumToolMaterial toolHadesRipperF = EnumHelper.addToolMaterial("HADESRIPPERF", 3, 3000, 2.0F, 49.0F, 50);
public static EnumToolMaterial toolVoidSaberF = EnumHelper.addToolMaterial("VOIDSABERF", 3, 3000, 2.0F, 53.0F, 50);
public static EnumToolMaterial toolStoneGreatswordF = EnumHelper.addToolMaterial("STONEGREATSWORDF", 3, 3000, 2.0F, 59.0F, 50);
public static EnumToolMaterial toolSparkingStrikerF = EnumHelper.addToolMaterial("SPARKINGSTRIKERF", 3, 3000, 2.0F, 61.0F, 50);
public static EnumToolMaterial toolDeadLanceF = EnumHelper.addToolMaterial("DEADLANCEF", 3, 3000, 2.0F, 63.0F, 50);
public static EnumToolMaterial toolStormBreakerF = EnumHelper.addToolMaterial("STORMBREAKERF", 3, 3000, 2.0F, 71.0F, 50);
//Reinforced Weapon Materials
public static EnumToolMaterial toolEmberSwordRf = EnumHelper.addToolMaterial("EMBERSWORDRF", 3, 3000, 2.0F, 11.0F, 50);
public static EnumToolMaterial toolPhantomShortbladeRf = EnumHelper.addToolMaterial("PHANTOMSHORTBLADERF", 3, 3000, 2.0F, 16.0F, 50);
public static EnumToolMaterial toolWretchedLongswordRf = EnumHelper.addToolMaterial("WRETCHEDLONGSWORDRF", 3, 3000, 2.0F, 21.0F, 50);
public static EnumToolMaterial toolTritonsDeepRf = EnumHelper.addToolMaterial("TRITONSDEEPRF", 3, 3000, 2.0F, 31.0F, 50);
public static EnumToolMaterial toolHadesRipperRf = EnumHelper.addToolMaterial("HADESRIPPERRF", 3, 3000, 2.0F, 34.0F, 50);
public static EnumToolMaterial toolVoidSaberRf = EnumHelper.addToolMaterial("VOIDSABERRF", 3, 3000, 2.0F, 38.0F, 50);
public static EnumToolMaterial toolStoneGreatswordRf = EnumHelper.addToolMaterial("STONEGREATSWORDRF", 3, 3000, 2.0F, 44.0F, 50);
public static EnumToolMaterial toolSparkingStrikerRf = EnumHelper.addToolMaterial("SPARKINGSTRIKERRF", 3, 3000, 2.0F, 46.0F, 50);
public static EnumToolMaterial toolDeadLanceRf = EnumHelper.addToolMaterial("DEADLANCERF", 3, 3000, 2.0F, 48.0F, 50);
public static EnumToolMaterial toolStormBreakerRf = EnumHelper.addToolMaterial("STORMBREAKERRF", 3, 3000, 2.0F, 56.0F, 50);
//Concentrated Weapon Materials
public static EnumToolMaterial toolWoodSwordC = EnumHelper.addToolMaterial("WOODSWORDC", 0, 118, 2.0F, 2.0F, 50);
public static EnumToolMaterial toolStoneSwordC = EnumHelper.addToolMaterial("STONESWORDC", 0, 262, 2.0F, 3.0F, 50);
public static EnumToolMaterial toolIronSwordC = EnumHelper.addToolMaterial("IRONSWORDC", 0, 500, 2.0F, 4.0F, 50);
public static EnumToolMaterial toolBudderSwordC = EnumHelper.addToolMaterial("BUDDERSWORDC", 0, 64, 2.0F, 2.0F, 50);
public static EnumToolMaterial toolDiamondSwordC = EnumHelper.addToolMaterial("DIAMONDSWORDC", 0, 2500, 2.0F, 6.0F, 50);
//Asgardian Challenger
public static EnumToolMaterial toolAsgardianChallenger = EnumHelper.addToolMaterial("ASGARDIANCHALLENGER", 3, 6000, 2.0F, 196.0F, 50);
//Blocks
public static Block SwordTable = new BlockSwordTable(3584, Material.rock).setUnlocalizedName("SwordTable");
//Items
public static Item ReinforcedStick = new ItemReinforcedStick(3501).setUnlocalizedName("ReinforcedStick");
public static Item Shatterfall = new ItemShatterfall(3602).setUnlocalizedName("Shatterfall");
public static Item RitualBook1 = new ItemRBES(3512).setUnlocalizedName("RitualBook1");
public static Item RitualBook2 = new ItemRBPS(3513).setUnlocalizedName("RitualBook2");
public static Item RitualBook3 = new ItemRBWL(3514).setUnlocalizedName("RitualBook3");
public static Item RitualBook4 = new ItemRBTD(3515).setUnlocalizedName("RitualBook4");
public static Item RitualBook5 = new ItemRBHR(3516).setUnlocalizedName("RitualBook5");
public static Item RitualBook6 = new ItemRBVS(3517).setUnlocalizedName("RitualBook6");
public static Item RitualBook7 = new ItemRBSG(3518).setUnlocalizedName("RitualBook7");
public static Item RitualBook8 = new ItemRBSS(3519).setUnlocalizedName("RitualBook8");
public static Item RitualBook9 = new ItemRBDL(3520).setUnlocalizedName("RitualBook9");
public static Item RitualBook10 = new ItemRBSB(3521).setUnlocalizedName("RitualBook10");
public static Item FocusCrystal = new ItemFocusCrystal(3532).setUnlocalizedName("FocusCrystal");
public static Item ConcentrationCrystal = new ItemConcentrationCrystal(3594).setUnlocalizedName("ConcentrationCrystal");
public static Item AsgardianBow = new ItemAsgardianBow(3601).setUnlocalizedName("AsgardianBow");
//Potions
public static Item EnergizedPotion = new ItemEnergizedPotion(3533).setUnlocalizedName("EnergizedPotion");
public static Item EmberPotion = new ItemEmberPotion(3534, 2, 0.8F, false).setUnlocalizedName("EmberPotion");
public static Item PhantomPotion = new ItemPhantomPotion(3535, 2, 0.8F, false).setUnlocalizedName("PhantomPotion");
public static Item WretchedPotion = new ItemWretchedPotion(3536, 2, 0.8F, false).setUnlocalizedName("WretchedPotion");
public static Item TritonPotion = new ItemTritonPotion(3537, 2, 0.8F, false).setUnlocalizedName("TritonPotion");
public static Item HadesPotion = new ItemHadesPotion(3538, 2, 0.8F, false).setUnlocalizedName("HadesPotion");
public static Item VoidPotion = new ItemVoidPotion(3539, 2, 0.8F, false).setUnlocalizedName("VoidPotion");
public static Item StonePotion = new ItemStonePotion(3540, 2, 0.8F, false).setUnlocalizedName("StonePotion");
public static Item SparkingPotion = new ItemSparkingPotion(3541, 2, 0.8F, false).setUnlocalizedName("SparkingPotion");
public static Item DeadPotion = new ItemDeadPotion(3542, 2, 0.8F, false).setUnlocalizedName("DeadPotion");
public static Item StormPotion = new ItemStormPotion(3543, 2, 0.8F, false).setUnlocalizedName("StormPotion");
//Weapons
public static Item EmberSword = new ItemEmberSword(3502, toolEmberSword).setUnlocalizedName("EmberSword");
public static Item PhantomShortblade = new ItemPhantomShortblade(3503, toolPhantomShortblade).setUnlocalizedName("PhantomShortblade");
public static Item WretchedLongsword = new ItemWretchedLongsword(3504, toolWretchedLongsword).setUnlocalizedName("WretchedLongsword");
public static Item TritonsDeep = new ItemTritonsDeep(3505, toolTritonsDeep).setUnlocalizedName("TritonsDeep");
public static Item HadesRipper = new ItemHadesRipper(3506, toolHadesRipper).setUnlocalizedName("HadesRipper");
public static Item VoidSaber = new ItemVoidSaber(3507, toolVoidSaber).setUnlocalizedName("VoidSaber");
public static Item StoneGreatsword = new ItemStoneGreatsword(3508, toolStoneGreatsword).setUnlocalizedName("StoneGreatsword");
public static Item SparkingStriker = new ItemSparkingStriker(3509, toolSparkingStriker).setUnlocalizedName("SparkingStriker");
public static Item DeadLance = new ItemDeadLance(3510, toolDeadLance).setUnlocalizedName("DeadLance");
public static Item StormBreaker = new ItemStormBreaker(3511, toolStormBreaker).setUnlocalizedName("StormBreaker");
//Reinforced Weapons
public static Item EmberSwordRF = new ItemEmberSwordRF(3522, toolEmberSwordRf).setUnlocalizedName("EmberSwordRF");
public static Item PhantomShortbladeRF = new ItemPhantomShortbladeRF(3523, toolPhantomShortbladeRf).setUnlocalizedName("PhantomShortbladeRF");
public static Item WretchedLongswordRF = new ItemWretchedLongswordRF(3524, toolWretchedLongswordRf).setUnlocalizedName("WretchedLongswordRF");
public static Item TritonsDeepRF = new ItemTritonsDeepRF(3525, toolTritonsDeepRf).setUnlocalizedName("TritonsDeepRF");
public static Item HadesRipperRF = new ItemHadesRipperRF(3526, toolHadesRipperRf).setUnlocalizedName("HadesRipperRF");
public static Item VoidSaberRF = new ItemVoidSaberRF(3527, toolVoidSaberRf).setUnlocalizedName("VoidSaberRF");
public static Item StoneGreatswordRF = new ItemStoneGreatswordRF(3528, toolStoneGreatswordRf).setUnlocalizedName("StoneGreatswordRF");
public static Item SparkingStrikerRF = new ItemSparkingStrikerRF(3529, toolSparkingStrikerRf).setUnlocalizedName("SparkingStrikerRF");
public static Item DeadLanceRF = new ItemDeadLanceRF(3530, toolDeadLanceRf).setUnlocalizedName("DeadLanceRF");
public static Item StormBreakerRF = new ItemStormBreakerRF(3531, toolStormBreakerRf).setUnlocalizedName("StormBreakerRF");
//Focused Weapon
public static Item EmberSwordF = new ItemEmberSwordF(3584, toolEmberSwordF).setUnlocalizedName("EmberSwordF");
public static Item PhantomShortbladeF = new ItemPhantomShortbladeF(3585, toolPhantomShortbladeF).setUnlocalizedName("PhantomShortbladeF");
public static Item WretchedLongswordF = new ItemWretchedLongswordF(3586, toolWretchedLongswordF).setUnlocalizedName("WretchedLongswordF");
public static Item TritonsDeepF = new ItemTritonsDeepF(3587, toolTritonsDeepF).setUnlocalizedName("TritonsDeepF");
public static Item HadesRipperF = new ItemHadesRipperF(3588, toolHadesRipperF).setUnlocalizedName("HadesRipperF");
public static Item VoidSaberF = new ItemVoidSaberF(3589, toolVoidSaberF).setUnlocalizedName("VoidSaberF");
public static Item StoneGreatswordF = new ItemStoneGreatswordF(3590, toolStoneGreatswordF).setUnlocalizedName("StoneGreatswordF");
public static Item SparkingStrikerF = new ItemSparkingStrikerF(3591, toolSparkingStrikerF).setUnlocalizedName("SparkingStrikerF");
public static Item DeadLanceF = new ItemDeadLanceF(3592, toolDeadLanceF).setUnlocalizedName("DeadLanceF");
public static Item StormBreakerF = new ItemStormBreakerF(1593, toolStormBreakerF).setUnlocalizedName("StormBreakerF");
//Concentrated Weapons
public static Item WoodSwordC = new ItemWoodSwordC(3595, toolWoodSwordC).setUnlocalizedName("WoodSwordC");
public static Item StoneSwordC = new ItemStoneSwordC(3596, toolStoneSwordC).setUnlocalizedName("StoneSwordC");
public static Item IronSwordC = new ItemIronSwordC(3597, toolIronSwordC).setUnlocalizedName("IronSwordC");
public static Item BudderSwordC = new ItemBudderSwordC(3598, toolBudderSwordC).setUnlocalizedName("BudderSwordC");
public static Item DiamondSwordC = new ItemDiamondSwordC(3599, toolDiamondSwordC).setUnlocalizedName("DiamondSwordC");
//Asgardian Challenger
public static Item AsgardianChallenger = new ItemAsgardianChallenger(3600, toolAsgardianChallenger).setUnlocalizedName("AsgardianChallenger");
//Armor Materials
public static EnumArmorMaterial ArmorSetPyro = EnumHelper.addArmorMaterial("EMBER", 45, new int[]{20, 25, 23, 17}, 50);
public static EnumArmorMaterial ArmorSetPhantasmic = EnumHelper.addArmorMaterial("PHANTOM", 50, new int[]{25, 30, 28, 22}, 50);
public static EnumArmorMaterial ArmorSetWretched = EnumHelper.addArmorMaterial("WRETCHED", 55, new int[]{30, 35, 33, 27}, 50);
public static EnumArmorMaterial ArmorSetAqueous = EnumHelper.addArmorMaterial("TRITON", 60, new int[]{35, 40, 38, 32}, 50);
public static EnumArmorMaterial ArmorSetInfernal = EnumHelper.addArmorMaterial("HADES", 65, new int[]{40, 45, 43, 37}, 50);
public static EnumArmorMaterial ArmorSetDevoid = EnumHelper.addArmorMaterial("VOID", 70, new int[]{45, 50, 48, 42}, 50);
public static EnumArmorMaterial ArmorSetFortified = EnumHelper.addArmorMaterial("STONE", 75, new int[]{50, 55, 53, 47}, 50);
public static EnumArmorMaterial ArmorSetIncendiary = EnumHelper.addArmorMaterial("SPARKING", 80, new int[]{55, 60, 58, 52}, 50);
public static EnumArmorMaterial ArmorSetDeceased = EnumHelper.addArmorMaterial("DEAD", 85, new int[]{60, 65, 63, 57}, 50);
public static EnumArmorMaterial ArmorSetTempestial = EnumHelper.addArmorMaterial("TEMPESTIAL", 90, new int[]{65, 70, 78, 62}, 50);
//Pyro Armor
public static Item PyroHelmet = new ArmorSetPyro(3544, ArmorSetPyro, 0, 0, "pyro").setUnlocalizedName("PyroHelmet");
public static Item PyroChestplate = new ArmorSetPyro(3545, ArmorSetPyro, 0, 1, "pyro").setUnlocalizedName("PyroChestplate");
public static Item PyroLeggings = new ArmorSetPyro(3546, ArmorSetPyro, 0, 2, "pyro").setUnlocalizedName("PyroLeggings");
public static Item PyroBoots = new ArmorSetPyro(3547, ArmorSetPyro, 0, 3, "pyro").setUnlocalizedName("PyroBoots");
//Phantasmic Armor
public static Item PhantasmicHelmet = new ArmorSetPhantasmic(3548, ArmorSetPhantasmic, 0, 0, "phantasmic").setUnlocalizedName("PhantasmicHelmet");
public static Item PhantasmicChestplate = new ArmorSetPhantasmic(3549, ArmorSetPhantasmic, 0, 1, "phantasmic").setUnlocalizedName("PhantasmicChestplate");
public static Item PhantasmicLeggings = new ArmorSetPhantasmic(3550, ArmorSetPhantasmic, 0, 2, "phantasmic").setUnlocalizedName("PhantasmicLeggings");
public static Item PhantasmicBoots = new ArmorSetPhantasmic(3551, ArmorSetPhantasmic, 0, 3, "phantasmic").setUnlocalizedName("PhantasmicBoots");
//Wretched Armor
public static Item WretchedHelmet = new ArmorSetWretched(3552, ArmorSetWretched, 0, 0, "wretched").setUnlocalizedName("WretchedHelmet");
public static Item WretchedChestplate = new ArmorSetWretched(3553, ArmorSetWretched, 0, 1, "wretched").setUnlocalizedName("WretchedChestplate");
public static Item WretchedLeggings = new ArmorSetWretched(3554, ArmorSetWretched, 0, 2, "wretched").setUnlocalizedName("WretchedLeggings");
public static Item WretchedBoots = new ArmorSetWretched(3555, ArmorSetWretched, 0, 3, "wretched").setUnlocalizedName("WretchedBoots");
//Aqueous Armor
public static Item AqueousHelmet = new ArmorSetAqueous(3556, ArmorSetAqueous, 0, 0, "aqueous").setUnlocalizedName("AqueousHelmet");
public static Item AqueousChestplate = new ArmorSetAqueous(3557, ArmorSetAqueous, 0, 1, "aqueous").setUnlocalizedName("AqueousChestplate");
public static Item AqueousLeggings = new ArmorSetAqueous(3558, ArmorSetAqueous, 0, 2, "aqueous").setUnlocalizedName("AqueousLeggings");
public static Item AqueousBoots = new ArmorSetAqueous(3559, ArmorSetAqueous, 0, 3, "aqueous").setUnlocalizedName("AqueousBoots");
//Infernal Armor
public static Item InfernalHelmet = new ArmorSetInfernal(3560, ArmorSetInfernal, 0, 0, "infernal").setUnlocalizedName("InfernalHelmet");
public static Item InfernalChestplate = new ArmorSetInfernal(3561, ArmorSetInfernal, 0, 1, "infernal").setUnlocalizedName("InfernalChestplate");
public static Item InfernalLeggings = new ArmorSetInfernal(3562, ArmorSetInfernal, 0, 2, "infernal").setUnlocalizedName("InfernalLeggings");
public static Item InfernalBoots = new ArmorSetInfernal(3563, ArmorSetInfernal, 0, 3, "infernal").setUnlocalizedName("InfernalBoots");
//Devoid Armor
public static Item DevoidHelmet = new ArmorSetDevoid(3564, ArmorSetDevoid, 0, 0, "devoid").setUnlocalizedName("DevoidHelmet");
public static Item DevoidChestplate = new ArmorSetDevoid(3565, ArmorSetDevoid, 0, 1, "devoid").setUnlocalizedName("DevoidChestplate");
public static Item DevoidLeggings = new ArmorSetDevoid(3566, ArmorSetDevoid, 0, 2, "devoid").setUnlocalizedName("DevoidLeggings");
public static Item DevoidBoots = new ArmorSetDevoid(3567, ArmorSetDevoid, 0, 3, "devoid").setUnlocalizedName("DevoidBoots");
//Fortified Armor
public static Item FortifiedHelmet = new ArmorSetFortified(3568, ArmorSetFortified, 0, 0, "fortified").setUnlocalizedName("FortifiedHelmet");
public static Item FortifiedChestplate = new ArmorSetFortified(3569, ArmorSetFortified, 0, 1, "fortified").setUnlocalizedName("FortifiedChestplate");
public static Item FortifiedLeggings = new ArmorSetFortified(3570, ArmorSetFortified, 0, 2, "fortified").setUnlocalizedName("FortifiedLeggings");
public static Item FortifiedBoots = new ArmorSetFortified(3571, ArmorSetFortified, 0, 3, "fortified").setUnlocalizedName("FortifiedBoots");
//Incendiary
public static Item IncendiaryHelmet = new ArmorSetIncendiary(3572, ArmorSetIncendiary, 0, 0, "incendiary").setUnlocalizedName("IncendiaryHelmet");
public static Item IncendiaryChestplate = new ArmorSetIncendiary(3573, ArmorSetIncendiary, 0, 1, "incendiary").setUnlocalizedName("IncendiaryChestplate");
public static Item IncendiaryLeggings = new ArmorSetIncendiary(3574, ArmorSetIncendiary, 0, 2, "incendiary").setUnlocalizedName("IncendiaryLeggings");
public static Item IncendiaryBoots = new ArmorSetIncendiary(3575, ArmorSetIncendiary, 0, 3, "incendiary").setUnlocalizedName("IncendiaryBoots");
//Deceased Armor
public static Item DeceasedHelmet = new ArmorSetDeceased(3576, ArmorSetDeceased, 0, 0, "deceased").setUnlocalizedName("DeceasedHelmet");
public static Item DeceasedChestplate = new ArmorSetDeceased(3577, ArmorSetDeceased, 0, 1, "deceased").setUnlocalizedName("DeceasedChestplate");
public static Item DeceasedLeggings = new ArmorSetDeceased(3578, ArmorSetDeceased, 0, 2, "deceased").setUnlocalizedName("DeceasedLeggings");
public static Item DeceasedBoots = new ArmorSetDeceased(3579, ArmorSetDeceased, 0, 3, "deceased").setUnlocalizedName("DeceasedBoots");
//Tempestial Armor
public static Item TempestialHelmet = new ArmorSetTempestial(3580, ArmorSetTempestial, 0, 0, "tempestial").setUnlocalizedName("TempestialHelmet");
public static Item TempestialChestplate = new ArmorSetTempestial(3581, ArmorSetTempestial, 0, 1, "tempestial").setUnlocalizedName("TempestialChestplate");
public static Item TempestialLeggings = new ArmorSetTempestial(3582, ArmorSetTempestial, 0, 2, "tempestial").setUnlocalizedName("TempestialLeggings");
public static Item TempestialBoots = new ArmorSetTempestial(3583, ArmorSetTempestial, 0, 3, "tempestial").setUnlocalizedName("TempestialBoots");
//Entity Registry
public static int entityId = 250;
public static int getEntityId() {
do {
entityId++;
}
while(EntityList.getStringFromID(entityId)!= null);
return entityId++;
}
//Spawn Eggs
public static void registerSpawnEgg(Classentity, int primaryColor, int secondaryColor) {
int eggId = getEntityId();
EntityList.IDtoClassMapping.put(eggId, entity);
EntityList.entityEggs.put(eggId, new EntityEggInfo(eggId, primaryColor, secondaryColor));
}
@Init
public void load(FMLInitializationEvent event)
{
proxy.registerRenderInformation();
//Chest Gen
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.VILLAGE_BLACKSMITH, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.DUNGEON_CHEST, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook1), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook2), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook3), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook4), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook5), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook6), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook7), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook8), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook9), 1, 2, 5));
ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(new ItemStack(RitualBook10), 1, 2, 5));
//Crafting
GameRegistry.addRecipe(new ItemStack(ReinforcedStick), "s ", " * ", " s",
's', Item.diamond, '*', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(FocusCrystal), "s*s", "*e*", "s*s",
'*', Item.diamond, 's', Item.ingotGold, 'e', new ItemStack(Item.enderPearl));
GameRegistry.addRecipe(new ItemStack(ConcentrationCrystal), "s*s", "*e*", "s*s",
'*', Item.coal, 's', Block.cobblestone, 'e', new ItemStack(Item.gunpowder));
GameRegistry.addRecipe(new ItemStack(WoodSwordC), " * ", "*e*", " * ",
'*', ConcentrationCrystal, 'e', new ItemStack(Item.swordWood));
GameRegistry.addRecipe(new ItemStack(StoneSwordC), " * ", "*e*", " * ",
'*', ConcentrationCrystal, 'e', new ItemStack(Item.swordStone));
GameRegistry.addRecipe(new ItemStack(IronSwordC), " * ", "*e*", " * ",
'*', ConcentrationCrystal, 'e', new ItemStack(Item.swordIron));
GameRegistry.addRecipe(new ItemStack(BudderSwordC), " * ", "*e*", " * ",
'*', ConcentrationCrystal, 'e', new ItemStack(Item.swordGold));
GameRegistry.addRecipe(new ItemStack(DiamondSwordC), " * ", "*e*", " * ",
'*', ConcentrationCrystal, 'e', new ItemStack(Item.swordDiamond));
GameRegistry.addRecipe(new ItemStack(AsgardianChallenger), "e*e", "*e*", "e*e",
'*', FocusCrystal, 'e', new ItemStack(StormBreakerF));
GameRegistry.addRecipe(new ItemStack(Item.swordWood), "e*e", "*e*", "e*e",
'*', Block.wood, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordStone), "e*e", "*e*", "e*e",
'*', Block.cobblestone, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordIron), "e*e", "*e*", "e*e",
'*', Item.ingotIron, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordGold), "e*e", "*e*", "e*e",
'*', Item.ingotGold, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.swordDiamond), "e*e", "*e*", "e*e",
'*', Item.diamond, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeWood), "e*e", "*e*", "e*e",
'*', Block.wood, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeStone), "e*e", "*e*", "e*e",
'*', Block.cobblestone, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeIron), "e*e", "*e*", "e*e",
'*', Item.ingotIron, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeGold), "e*e", "*e*", "e*e",
'*', Item.ingotGold, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.pickaxeDiamond), "e*e", "*e*", "e*e",
'*', Item.diamond, 'e', new ItemStack(Block.dirt));
GameRegistry.addRecipe(new ItemStack(Item.bow), "e*e", "*e*", "e*e",
'*', Item.silk, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(Item.arrow), "e*e", "*e*", "e*e",
'*', Item.flint, 'e', new ItemStack(Item.stick));
GameRegistry.addRecipe(new ItemStack(AsgardianBow), "e*e", "*e*", "e*e",
'*', StormBreakerF, 'e', new ItemStack(FocusCrystal));
GameRegistry.addShapelessRecipe(new ItemStack(EmberSword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook1), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortblade),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook2), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongsword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook3), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeep),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook4), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipper),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook5), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaber),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook6), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatsword),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook7), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStriker),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook8), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLance),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook9), new ItemStack(ReinforcedStick, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreaker),
new ItemStack(Block.blockDiamond), new ItemStack(RitualBook10), new ItemStack(ReinforcedStick, 1, 0));
//Ritual Books
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook1),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.ingotIron, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook2),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.ingotGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook3),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.redstone, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook4),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.emerald, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook5),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.enderPearl, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook6),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordIron, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook7),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook8),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.swordDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook9),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.plateGold, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(RitualBook10),
new ItemStack(Block.blockDiamond), new ItemStack(Item.enchantedBook), new ItemStack(Item.plateDiamond, 1, 0));
//Reinforced Swords
GameRegistry.addShapelessRecipe(new ItemStack(EmberSwordRF),
new ItemStack(Block.blockIron), new ItemStack(EmberSword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortbladeRF),
new ItemStack(Block.blockIron), new ItemStack(PhantomShortblade), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongswordRF),
new ItemStack(Block.blockIron), new ItemStack(WretchedLongsword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeepRF),
new ItemStack(Block.blockIron), new ItemStack(TritonsDeep), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipperRF),
new ItemStack(Block.blockIron), new ItemStack(HadesRipper), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaberRF),
new ItemStack(Block.blockIron), new ItemStack(VoidSaber), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatswordRF),
new ItemStack(Block.blockIron), new ItemStack(StoneGreatsword), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStrikerRF),
new ItemStack(Block.blockIron), new ItemStack(SparkingStriker), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLanceRF),
new ItemStack(Block.blockIron), new ItemStack(DeadLance), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreakerRF),
new ItemStack(Block.blockIron), new ItemStack(StormBreaker), new ItemStack(Item.plateDiamond, 1, 0));
//Focused Swords
GameRegistry.addShapelessRecipe(new ItemStack(EmberSwordF),
new ItemStack(FocusCrystal), new ItemStack(EmberSwordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantomShortbladeF),
new ItemStack(FocusCrystal), new ItemStack(PhantomShortbladeRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLongswordF),
new ItemStack(FocusCrystal), new ItemStack(WretchedLongswordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TritonsDeepF),
new ItemStack(FocusCrystal), new ItemStack(TritonsDeepRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(HadesRipperF),
new ItemStack(FocusCrystal), new ItemStack(HadesRipperRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(VoidSaberF),
new ItemStack(FocusCrystal), new ItemStack(VoidSaberRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StoneGreatswordF),
new ItemStack(FocusCrystal), new ItemStack(StoneGreatswordRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(SparkingStrikerF),
new ItemStack(FocusCrystal), new ItemStack(SparkingStrikerRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeadLanceF),
new ItemStack(FocusCrystal), new ItemStack(DeadLanceRF), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(StormBreakerF),
new ItemStack(FocusCrystal), new ItemStack(StormBreakerRF), new ItemStack(Item.plateDiamond, 1, 0));
//Helmets
GameRegistry.addShapelessRecipe(new ItemStack(PyroHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.helmetDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialHelmet),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.helmetDiamond, 1, 0));
//Chestplate
GameRegistry.addShapelessRecipe(new ItemStack(PyroChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.plateDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialChestplate),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.plateDiamond, 1, 0));
//Leggings
GameRegistry.addShapelessRecipe(new ItemStack(PyroLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.legsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialLeggings),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.legsDiamond, 1, 0));
//Boots
GameRegistry.addShapelessRecipe(new ItemStack(PyroBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook1), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(PhantasmicBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook2), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(WretchedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook3), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(AqueousBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook4), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(InfernalBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook5), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DevoidBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook6), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(FortifiedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook7), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(IncendiaryBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook8), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(DeceasedBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook9), new ItemStack(Item.bootsDiamond, 1, 0));
GameRegistry.addShapelessRecipe(new ItemStack(TempestialBoots),
new ItemStack(Item.diamond), new ItemStack(RitualBook10), new ItemStack(Item.bootsDiamond, 1, 0));
//Block Registry
GameRegistry.registerBlock(SwordTable);
//Entity Registry
EntityRegistry.registerGlobalEntityID(EntityWatcher.class, "WatcherMob", 1);
EntityRegistry.addSpawn(EntityWatcher.class, 25, 2, 15, EnumCreatureType.monster, WorldType.base12Biomes);
registerSpawnEgg(EntityWatcher.class, 0x000000, 0xFF6600);
EntityRegistry.registerGlobalEntityID(EntityStalker.class, "StalkerMob", 2);
EntityRegistry.addSpawn(EntityStalker.class, 25, 1, 2, EnumCreatureType.monster, WorldType.base12Biomes);
registerSpawnEgg(EntityStalker.class, 0x000000, 0x0066FF);
EntityRegistry.registerGlobalEntityID(EntitySandWraith.class, "SandWraith", 3);
EntityRegistry.addSpawn(EntitySandWraith.class, 25, 1, 2, EnumCreatureType.monster, BiomeGenBase.desert);
registerSpawnEgg(EntitySandWraith.class, 0x000000, 0xFFCC00);
}
public SwordConjuring()
{
//Blocks
LanguageRegistry.addName(SwordTable, "Sword Table");
//Items
LanguageRegistry.addName(ReinforcedStick, "Reinforced Stick");
LanguageRegistry.addName(RitualBook1, "Ritual Book");
LanguageRegistry.addName(RitualBook2, "Ritual Book");
LanguageRegistry.addName(RitualBook3, "Ritual Book");
LanguageRegistry.addName(RitualBook4, "Ritual Book");
LanguageRegistry.addName(RitualBook5, "Ritual Book");
LanguageRegistry.addName(RitualBook6, "Ritual Book");
LanguageRegistry.addName(RitualBook7, "Ritual Book");
LanguageRegistry.addName(RitualBook8, "Ritual Book");
LanguageRegistry.addName(RitualBook9, "Ritual Book");
LanguageRegistry.addName(RitualBook10, "Ritual Book");
LanguageRegistry.addName(FocusCrystal, "Focus Crystal");
LanguageRegistry.addName(ConcentrationCrystal, "Concentration Crystal");
//Weapons
LanguageRegistry.addName(EmberSword, "Ember Sword");
LanguageRegistry.addName(PhantomShortblade, "Phantom Shortblade");
LanguageRegistry.addName(WretchedLongsword, "Wretched Longsword");
LanguageRegistry.addName(TritonsDeep, "Triton's Deep");
LanguageRegistry.addName(HadesRipper, "Hades Ripper");
LanguageRegistry.addName(VoidSaber, "Void Saber");
LanguageRegistry.addName(StoneGreatsword, "Stone Greatsword");
LanguageRegistry.addName(SparkingStriker, "Sparking Striker");
LanguageRegistry.addName(DeadLance, "Dead Lance");
LanguageRegistry.addName(StormBreaker, "Storm Breaker");
//Reinforced
LanguageRegistry.addName(EmberSwordRF, "Reinforced Ember Sword");
LanguageRegistry.addName(PhantomShortbladeRF, "Reinforced Phantom Shortblade");
LanguageRegistry.addName(WretchedLongswordRF, "Reinforced Wretched Longsword");
LanguageRegistry.addName(TritonsDeepRF, "Reinforced Triton's Deep");
LanguageRegistry.addName(HadesRipperRF, "Reinforced Hades Ripper");
LanguageRegistry.addName(VoidSaberRF, "Reinforced Void Saber");
LanguageRegistry.addName(StoneGreatswordRF, "Reinforced Stone Greatsword");
LanguageRegistry.addName(SparkingStrikerRF, "Reinforced Sparking Striker");
LanguageRegistry.addName(DeadLanceRF, "Reinforced Dead Lance");
LanguageRegistry.addName(StormBreakerRF, "Reinforced Storm Breaker");
//Focused
LanguageRegistry.addName(EmberSwordF, "Focused Ember Sword");
LanguageRegistry.addName(PhantomShortbladeF, "Focused Phantom Shortblade");
LanguageRegistry.addName(WretchedLongswordF, "Focused Wretched Longsword");
LanguageRegistry.addName(TritonsDeepF, "Focused Triton's Deep");
LanguageRegistry.addName(HadesRipperF, "Focused Hades Ripper");
LanguageRegistry.addName(VoidSaberF, "Focused Void Saber");
LanguageRegistry.addName(StoneGreatswordF, "Focused Stone Greatsword");
LanguageRegistry.addName(SparkingStrikerF, "Focused Sparking Striker");
LanguageRegistry.addName(DeadLanceF, "Focused Dead Lance");
LanguageRegistry.addName(StormBreakerF, "Focused Storm Breaker");
//Asgardian Series
LanguageRegistry.addName(AsgardianChallenger, "Asgardian Challenger");
LanguageRegistry.addName(AsgardianBow, "Asgardian Enforcer");
//Concentrated
LanguageRegistry.addName(WoodSwordC, "Concentrated Wood Sword");
LanguageRegistry.addName(StoneSwordC, "Concentrated Stone Sword");
LanguageRegistry.addName(IronSwordC, "Concentrated Iron Sword");
LanguageRegistry.addName(BudderSwordC, "Concentrated Gold Sword");
LanguageRegistry.addName(DiamondSwordC, "Concentrated Diamond Sword");
//Potions
LanguageRegistry.addName(EnergizedPotion, "Energized Potion");
LanguageRegistry.addName(EmberPotion, "Ember Potion");
LanguageRegistry.addName(PhantomPotion, "Phantom Potion");
LanguageRegistry.addName(WretchedPotion, "Wretched Potion");
LanguageRegistry.addName(TritonPotion, "Triton Potion");
LanguageRegistry.addName(HadesPotion, "Hades Potion");
LanguageRegistry.addName(VoidPotion, "Void Potion");
LanguageRegistry.addName(StonePotion, "Stone Potion");
LanguageRegistry.addName(SparkingPotion, "Sparking Potion");
LanguageRegistry.addName(DeadPotion, "Dead Potion");
LanguageRegistry.addName(StormPotion, "Storm Potion");
//Armor
//Pyro
LanguageRegistry.addName(PyroHelmet, "Pyro Helmet");
LanguageRegistry.addName(PyroChestplate, "Pyro Chestplate");
LanguageRegistry.addName(PyroLeggings, "Pyro Leggings");
LanguageRegistry.addName(PyroBoots, "Pyro Boots");
//Phantasmic
LanguageRegistry.addName(PhantasmicHelmet, "Phantasmic Helmet");
LanguageRegistry.addName(PhantasmicChestplate, "Phantasmic Chestplate");
LanguageRegistry.addName(PhantasmicLeggings, "Phantasmic Leggings");
LanguageRegistry.addName(PhantasmicBoots, "Phantasmic Boots");
//Wretched
LanguageRegistry.addName(WretchedHelmet, "Wretched Helmet");
LanguageRegistry.addName(WretchedChestplate, "Wretched Chestplate");
LanguageRegistry.addName(WretchedLeggings, "Wretched Leggings");
LanguageRegistry.addName(WretchedBoots, "Wretched Boots");
//Aqueous
LanguageRegistry.addName(AqueousHelmet, "Aqueous Helmet");
LanguageRegistry.addName(AqueousChestplate, "Aqueous Chestplate");
LanguageRegistry.addName(AqueousLeggings, "Aqueous Leggings");
LanguageRegistry.addName(AqueousBoots, "Aqueous Boots");
//Infernal
LanguageRegistry.addName(InfernalHelmet, "Infernal Helmet");
LanguageRegistry.addName(InfernalChestplate, "Infernal Chestplate");
LanguageRegistry.addName(InfernalLeggings, "Infernal Leggings");
LanguageRegistry.addName(InfernalBoots, "Infernal Boots");
//Devoid
LanguageRegistry.addName(DevoidHelmet, "Devoid Helmet");
LanguageRegistry.addName(DevoidChestplate, "Devoid Chestplate");
LanguageRegistry.addName(DevoidLeggings, "Devoid Leggings");
LanguageRegistry.addName(DevoidBoots, "Devoid Boots");
//Fortified
LanguageRegistry.addName(FortifiedHelmet, "Fortified Helmet");
LanguageRegistry.addName(FortifiedChestplate, "Fortified Chestplate");
LanguageRegistry.addName(FortifiedLeggings, "Fortified Leggings");
LanguageRegistry.addName(FortifiedBoots, "Fortified Boots");
//Incendiary
LanguageRegistry.addName(IncendiaryHelmet, "Incendiary Helmet");
LanguageRegistry.addName(IncendiaryChestplate, "Incendiary Chestplate");
LanguageRegistry.addName(IncendiaryLeggings, "Incendiary Leggings");
LanguageRegistry.addName(IncendiaryBoots, "Incendiary Boots");
//Deceased
LanguageRegistry.addName(DeceasedHelmet, "Deceased Helmet");
LanguageRegistry.addName(DeceasedChestplate, "Deceased Chestplate");
LanguageRegistry.addName(DeceasedLeggings, "Deceased Leggings");
LanguageRegistry.addName(DeceasedBoots, "Deceased Boots");
//Tempestial
LanguageRegistry.addName(TempestialHelmet, "Tempestial Helmet");
LanguageRegistry.addName(TempestialChestplate, "Tempestial Chestplate");
LanguageRegistry.addName(TempestialLeggings, "Tempestial Leggings");
LanguageRegistry.addName(TempestialBoots, "Tempestial Boots");
//Entities
LanguageRegistry.instance().addStringLocalization("entity.WatcherMob.name", "Watcher");
LanguageRegistry.instance().addStringLocalization("entity.StalkerMob.name", "Stalker");
LanguageRegistry.instance().addStringLocalization("entity.SandWraith.name", "Sand Wraith");
}
}
My bow class:
package brett.sc.weapon;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.EnumMovingObjectType;
import net.minecraft.util.Icon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemAsgardianBow extends Item
{
public static final String[] bowPullIconNameArray = new String[] {"pulling_0", "pulling_1", "pulling_2"};
@SideOnly(Side.CLIENT)
private Icon[] iconArray;
public ItemAsgardianBow(int par1)
{
super(par1);
this.maxStackSize = 1;
this.setMaxDamage(6000);
this.setCreativeTab(CreativeTabs.tabCombat);
}
/**
* called when the player releases the use item button. Args: itemstack, world, entityplayer, itemInUseCount
*/
public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4)
{
int j = this.getMaxItemUseDuration(par1ItemStack) - par4;
ArrowLooseEvent event = new ArrowLooseEvent(par3EntityPlayer, par1ItemStack, j);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled())
{
return;
}
j = event.charge;
boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
if (flag || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID))
{
float f = (float)j / 5.0F;
f = (f * f + f * 2.0F) / 3.0F;
if ((double)f < 0.1D)
{
return;
}
if (f > 1.0F)
{
f = 1.0F;
}
EntityArrow entityarrow = new EntityArrow(par2World, par3EntityPlayer, f * 3.0F);
entityarrow.setDamage(entityarrow.getDamage() + (double)6 * 0.5D + 0.5D);
if (f == 1.0F)
{
entityarrow.setIsCritical(true);
}
int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, par1ItemStack);
if (k > 0)
{
entityarrow.setDamage(entityarrow.getDamage() + ((double)k + (double)12 * 0.5D + 0.5D)* 3.0D);
}
int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, par1ItemStack);
if (l > 0)
{
entityarrow.setKnockbackStrength(l*3);
}
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, par1ItemStack) > 0)
{
entityarrow.setFire(300);
}
par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
Vec3 look = par3EntityPlayer.getLookVec();
MovingObjectPosition Coord = par3EntityPlayer.rayTrace(300, 1);
if(Coord != null && Coord.typeOfHit == EnumMovingObjectType.TILE){
EntityLightningBolt Lightning = new EntityLightningBolt(par2World, 1, 1, 1);
Lightning.setPosition(Coord.blockX,Coord.blockY,Coord.blockZ);
par2World.spawnEntityInWorld(Lightning);
}
if (flag)
{
entityarrow.canBePickedUp = 2;
}
else
{
par3EntityPlayer.inventory.consumeInventoryItem(Item.arrow.itemID);
}
if (!par2World.isRemote)
{
par2World.spawnEntityInWorld(entityarrow);
}
}
}
public ItemStack onEaten(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
return par1ItemStack;
}
/**
* How long it takes to use or consume an item
*/
public int getMaxItemUseDuration(ItemStack par1ItemStack)
{
return 72000;
}
/**
* returns the action that specifies what animation to play when the items is being used
*/
public EnumAction getItemUseAction(ItemStack par1ItemStack)
{
return EnumAction.bow;
}
/**
* Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
*/
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
ArrowNockEvent event = new ArrowNockEvent(par3EntityPlayer, par1ItemStack);
MinecraftForge.EVENT_BUS.post(event);
if (event.isCanceled())
{
return event.result;
}
if (par3EntityPlayer.capabilities.isCreativeMode || par3EntityPlayer.inventory.hasItem(Item.arrow.itemID))
{
par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack));
}
return par1ItemStack;
}
/**
* Return the enchantability factor of the item, most of the time is based on material.
*/
public int getItemEnchantability()
{
return 50;
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("SwordConjuring:asgardian_bow" + "_standby");
this.iconArray = new Icon[bowPullIconNameArray.length];
for (int i = 0; i < this.iconArray.length; ++i)
{
this.iconArray[i] = par1IconRegister.registerIcon("SwordConjuring:asgardian_bow" + "_" + bowPullIconNameArray[i]);
}
}
/**
* used to cycle through icons based on their used duration, i.e. for the bow
*/
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
if (usingItem == null) { return itemIcon; }
int ticksInUse = stack.getMaxItemUseDuration() - useRemaining;
if (ticksInUse > 4) {
return iconArray[2];
} else if (ticksInUse > 2) {
return iconArray[1];
} else if (ticksInUse > 0) {
return iconArray[0];
} else {
return itemIcon;
}
}
@Override
public boolean hasEffect(ItemStack par1ItemStack)
{
return true;
}
public void onUpdate(ItemStack itemstack, World world, Entity entity, int i, boolean flag)
{
EntityPlayer player = (EntityPlayer) entity;
if(player.getCurrentEquippedItem() !=null && player.getCurrentEquippedItem().itemID == this.itemID)
{
player.addPotionEffect((new PotionEffect(Potion.damageBoost.getId(), 0, 1)));
player.addPotionEffect((new PotionEffect(Potion.moveSpeed.getId(), 0, 1)));
player.addPotionEffect((new PotionEffect(Potion.regeneration.getId(), 0, 1)));
player.addPotionEffect((new PotionEffect(Potion.resistance.getId(), 0, 1)));
player.addPotionEffect((new PotionEffect(Potion.fireResistance.getId(), 0, 1)));
player.addPotionEffect((new PotionEffect(Potion.field_76443_y.getId(), 0, 1)));
player.capabilities.allowFlying = true;
}
else
{
player.curePotionEffects(itemstack);
player.capabilities.allowFlying = false;
}
}
}
Client proxy:
package brett.sc.client;
import net.minecraft.client.model.ModelBiped;
import net.minecraftforge.client.MinecraftForgeClient;
import brett.sc.common.BowRenderer;
import brett.sc.common.CommonProxy;
import brett.sc.common.SwordConjuring;
import brett.sc.mob.EntitySandWraith;
import brett.sc.mob.EntityStalker;
import brett.sc.mob.EntityWatcher;
import brett.sc.mob.RenderSandWraith;
import brett.sc.mob.RenderStalker;
import brett.sc.mob.RenderWatcher;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class ClientProxy extends CommonProxy
{
public void registerRenderInformation() {
RenderingRegistry.registerEntityRenderingHandler(EntityWatcher.class, new RenderWatcher(new ModelBiped(), 0.8F));
RenderingRegistry.registerEntityRenderingHandler(EntityStalker.class, new RenderStalker(new ModelBiped(), 0.8F));
RenderingRegistry.registerEntityRenderingHandler(EntitySandWraith.class, new RenderSandWraith(new ModelBiped(), 0.8F));
MinecraftForgeClient.registerItemRenderer(SwordConjuring.AsgardianBow.itemID, new BowRenderer());
}
}
Common proxy:
package brett.sc.common;
import net.minecraft.client.model.ModelBiped;
import brett.sc.mob.EntitySandWraith;
import brett.sc.mob.EntityStalker;
import brett.sc.mob.EntityWatcher;
import brett.sc.mob.RenderSandWraith;
import brett.sc.mob.RenderStalker;
import brett.sc.mob.RenderWatcher;
import cpw.mods.fml.client.registry.RenderingRegistry;
public class CommonProxy
{
public void registerRenderInformation()
{
}
}
Bow renderer:
package brett.sc.common;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
public class BowRenderer implements IItemRenderer {
private RenderManager renderManager;
private Minecraft mc;
private TextureManager texturemanager;
public BowRenderer() {
this.renderManager = RenderManager.instance;
this.mc = Minecraft.getMinecraft();
this.texturemanager = this.mc.getTextureManager();
}
@Override
//HandleRenderType lets forge know if it will render the item in the requested view.
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
//You can remove everything after "EQUIPPED" if you only want this class to render the third person item.
return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
}
@Override
//RenderHelpers I don't fully understand, I'd assume they are modifiers, but I've never looked into it.
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
//This function decides what to do in rendering an item, whether it's first or third person.
//Credit to SanAndreasP on minecraftforge forums for this code.
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
EntityClientPlayerMP entity = (EntityClientPlayerMP)data[1];
ItemRenderer irInstance = this.mc.entityRenderer.itemRenderer;
GL11.glPopMatrix(); // prevents Forge from pre-translating the item
if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
this.renderItem(entity, item, 0);
} else {
GL11.glPushMatrix();
// contra-translate the item from it's standard translation
// also apply some more scale or else the bow is tiny
float f2 = 3F - (1F/3F);
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(f2, f2, f2);
GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F);
// render the item as 'real' bow
//This is pulled from RenderBiped
float f3 = 0.625F;
GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
GL11.glScalef(f3, -f3, f3);
GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
this.renderItem(entity, item, 0);
GL11.glPopMatrix();
}
GL11.glPushMatrix(); // prevents GL Underflow errors
}
//This actually renders an Icon to be worked with.
//All of this code is directly pulled from ItemRenderer.class
private void renderItem(EntityClientPlayerMP par1EntityLiving, ItemStack par2ItemStack, int par3) {
{
//If you for whatever reason aren't registering icons with iconRegister, I'm assuming you'll need to change the code below.
Icon icon = par1EntityLiving.getItemIcon(par2ItemStack, par3);
if (icon == null)
{
GL11.glPopMatrix();
return;
}
texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
Tessellator tessellator = Tessellator.instance;
float f = icon.getMinU();
float f1 = icon.getMaxU();
float f2 = icon.getMinV();
float f3 = icon.getMaxV();
float f4 = 0.0F;
float f5 = 0.3F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslatef(-f4, -f5, 0.0F);
float f6 = 1.5F;
GL11.glScalef(f6, f6, f6);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
//This checks for enchantments.
if (par2ItemStack.hasEffect(par3))
{
GL11.glDepthFunc(GL11.GL_EQUAL);
GL11.glDisable(GL11.GL_LIGHTING);
texturemanager.bindTexture(new ResourceLocation("textures/misc/enchanted_item_glint.png"));
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
float f7 = 0.76F;
GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
GL11.glMatrixMode(GL11.GL_TEXTURE);
GL11.glPushMatrix();
float f8 = 0.125F;
GL11.glScalef(f8, f8, f8);
float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
GL11.glTranslatef(f9, 0.0F, 0.0F);
GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glPushMatrix();
GL11.glScalef(f8, f8, f8);
f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
GL11.glTranslatef(-f9, 0.0F, 0.0F);
GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
GL11.glPopMatrix();
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDepthFunc(GL11.GL_LEQUAL);
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
}
}
So there's my code. I'm pretty sure I left something out in either the main mod class or the common proxy. Any suggestions?
P.S. my bow spawns lightning where the player is looking when they shoot. The lightning causes an immediate server crash. Have left something out there as well?
0
0
0
0
0
0
0
0
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.EnumArmorMaterial.getDamageReductionAmount(EnumArmorMaterial.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.ItemArmor.(ItemArmor.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.armor.ArmorSetPyro.(ArmorSetPyro.java:15)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.common.SwordConjuring.(SwordConjuring.java:165)
2014-03-29 14:44:25 [INFO] [STDOUT] ... 35 more
So I'm just assuming I set the amount too high. Is this true? Is there a limit to how high I can go? In other mods, they have armor that is better than diamond. If you need my whole error, here it is:
INFO: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
Mar 29, 2014 2:44:11 PM net.minecraft.launchwrapper.LogWrapper log
INFO: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
Mar 29, 2014 2:44:11 PM net.minecraft.launchwrapper.LogWrapper log
INFO: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Forge Mod Loader version 6.4.49.965 for Minecraft 1.6.4 loading
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Java is Java HotSpot(TM) Client VM, version 1.7.0_25, running on Windows 8:x86:6.2, installed at C:\Program Files (x86)\Java\jre7
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
2014-03-29 14:44:11 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
2014-03-29 14:44:11 [INFO] [STDOUT] Loaded 40 rules from AccessTransformer config file fml_at.cfg
2014-03-29 14:44:11 [SEVERE] [ForgeModLoader] The binary patch set is missing. Either you are in a development environment, or things are not going to work!
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
2014-03-29 14:44:12 [INFO] [STDOUT] Loaded 110 rules from AccessTransformer config file forge_at.cfg
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
2014-03-29 14:44:12 [INFO] [ForgeModLoader] Launching wrapped minecraft {net.minecraft.client.main.Main}
2014-03-29 14:44:14 [INFO] [Minecraft-Client] Setting user: Player184
2014-03-29 14:44:16 [INFO] [Minecraft-Client] LWJGL Version: 2.9.0
2014-03-29 14:44:17 [INFO] [Minecraft-Client] Reloading ResourceManager: Default
2014-03-29 14:44:18 [INFO] [MinecraftForge] Attempting early MinecraftForge initialization
2014-03-29 14:44:18 [INFO] [STDOUT] MinecraftForge v9.11.1.965 Initialized
2014-03-29 14:44:18 [INFO] [ForgeModLoader] MinecraftForge v9.11.1.965 Initialized
2014-03-29 14:44:18 [INFO] [STDOUT] Replaced 111 ore recipies
2014-03-29 14:44:19 [INFO] [MinecraftForge] Completed early MinecraftForge initialization
2014-03-29 14:44:19 [INFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\config\logging.properties
2014-03-29 14:44:19 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
2014-03-29 14:44:19 [INFO] [ForgeModLoader] Searching C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\mods for mods
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2014-03-29 14:44:25 [INFO] [mcp] Activating mod mcp
2014-03-29 14:44:25 [INFO] [FML] Activating mod FML
2014-03-29 14:44:25 [INFO] [Forge] Activating mod Forge
2014-03-29 14:44:25 [INFO] [SwordConjuring] Activating mod SwordConjuring
2014-03-29 14:44:25 [WARNING] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [WARNING] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [WARNING] [Sword Conjuring] Mod Sword Conjuring is missing a pack.mcmeta file, things may not work well
2014-03-29 14:44:25 [INFO] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Sword Conjuring
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Registering Forge Packet Handler
2014-03-29 14:44:25 [INFO] [ForgeModLoader] Succeeded registering Forge Packet Handler
2014-03-29 14:44:25 [INFO] [STDOUT] ---- Minecraft Crash Report ----
2014-03-29 14:44:25 [INFO] [STDOUT] // Surprise! Haha. Well, this is awkward.
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] Time: 3/29/14 2:44 PM
2014-03-29 14:44:25 [INFO] [STDOUT] Description: Initializing game
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] java.lang.ExceptionInInitializerError
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:482)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:539)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:472)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:809)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
2014-03-29 14:44:25 [INFO] [STDOUT] Caused by: java.lang.ArrayIndexOutOfBoundsException: 4
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.EnumArmorMaterial.getDamageReductionAmount(EnumArmorMaterial.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.item.ItemArmor.<init>(ItemArmor.java:50)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.armor.ArmorSetPyro.<init>(ArmorSetPyro.java:15)
2014-03-29 14:44:25 [INFO] [STDOUT] at brett.sc.common.SwordConjuring.<clinit>(SwordConjuring.java:165)
2014-03-29 14:44:25 [INFO] [STDOUT] ... 35 more
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
2014-03-29 14:44:25 [INFO] [STDOUT] ---------------------------------------------------------------------------------------
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- Head --
2014-03-29 14:44:25 [INFO] [STDOUT] Stacktrace:
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.Class.forName(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:482)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:205)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:183)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
2014-03-29 14:44:25 [INFO] [STDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:109)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:539)
2014-03-29 14:44:25 [INFO] [STDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:185)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:472)
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- Initialization --
2014-03-29 14:44:25 [INFO] [STDOUT] Details:
2014-03-29 14:44:25 [INFO] [STDOUT] Stacktrace:
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:809)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2014-03-29 14:44:25 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
2014-03-29 14:44:25 [INFO] [STDOUT]
2014-03-29 14:44:25 [INFO] [STDOUT] -- System Details --
2014-03-29 14:44:25 [INFO] [STDOUT] Details:
2014-03-29 14:44:25 [INFO] [STDOUT] Minecraft Version: 1.6.4
2014-03-29 14:44:25 [INFO] [STDOUT] Operating System: Windows 8 (x86) version 6.2
2014-03-29 14:44:25 [INFO] [STDOUT] Java Version: 1.7.0_25, Oracle Corporation
2014-03-29 14:44:25 [INFO] [STDOUT] Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
2014-03-29 14:44:25 [INFO] [STDOUT] Memory: 886876944 bytes (845 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
2014-03-29 14:44:25 [INFO] [STDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
2014-03-29 14:44:25 [INFO] [STDOUT] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
2014-03-29 14:44:25 [INFO] [STDOUT] Suspicious classes: FML and Forge are installed
2014-03-29 14:44:25 [INFO] [STDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
2014-03-29 14:44:25 [INFO] [STDOUT] FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 4 mods loaded, 4 mods active
2014-03-29 14:44:25 [INFO] [STDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed
2014-03-29 14:44:25 [INFO] [STDOUT] SwordConjuring{0.0.1} [Sword Conjuring] (bin) Unloaded
2014-03-29 14:44:25 [INFO] [STDOUT] Launched Version: 1.6
2014-03-29 14:44:25 [INFO] [STDOUT] LWJGL: 2.9.0
2014-03-29 14:44:25 [INFO] [STDOUT] OpenGL: Intel(R) HD Graphics 2500 GL version 4.0.0 - Build 10.18.10.3316, Intel
2014-03-29 14:44:25 [INFO] [STDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge'
2014-03-29 14:44:25 [INFO] [STDOUT] Type: Client (map_client.txt)
2014-03-29 14:44:25 [INFO] [STDOUT] Resource Pack: Default
2014-03-29 14:44:25 [INFO] [STDOUT] Current Language: English (US)
2014-03-29 14:44:25 [INFO] [STDOUT] Profiler Position: N/A (disabled)
2014-03-29 14:44:25 [INFO] [STDOUT] Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
2014-03-29 14:44:25 [INFO] [STDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Earl\Desktop\minecraft_mods\sword_conjuring\mcp\jars\.\crash-reports\crash-2014-03-29_14.44.25-client.txt
If you need the code just ask.
0
0