• 0

    posted a message on Paranormal: A Mod for Minecraft
    I will attempt to bring this mod to life. Some features may come later, though, as I have only been modding for a few months.
    Posted in: Requests / Ideas For Mods
  • 0

    posted a message on [1.6.4] Custom bow issues (rendering, entity spawning)
    Thanks for all of the replies! They've been really helpful.
    Posted in: Modification Development
  • 0

    posted a message on [Forge] [1.6.4] How to hold custom bows properly in third person [Tut]
     AttPlusItems.init();
    AttPlusItems.addNames();
    AttPlusBlocks.init();
    AttPlusBlocks.addNames();


    How do I change this to fit my mod?
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [SOLVED] Is there a way to carry out actions when a vanilla block is placed?
    thislooksfun, on 17 June 2014 - 02:16 PM, said:

    If you want an easier way, use this:

    @Override
    public void onBlockAdded(World world, int x, int y, int x)
    {
    //Your code
    }
    I was trying to modify a vanilla block...


    Couldn't you just add that to the block you are trying to modify? Or edit the already existing code?
    Posted in: Modification Development
  • 0

    posted a message on [1.6.4] Custom bow issues (rendering, entity spawning)
    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).

    Here's my main mod class:

    package brett.sc.common;

    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?
    Posted in: Modification Development
  • 0

    posted a message on Diamond Armor Defense
    Never mind, just saw that one defense point can take 4% of the damage, just need to do the math. :)
    Posted in: Discussion
  • 0

    posted a message on Diamond Armor Defense
    Could someone help me with the above post?
    Posted in: Discussion
  • 0

    posted a message on MoreCraft: The Vanilla-Enhancing Expansion Mod! (v4.2.1)
    Exactly how much damage does obsidian armor absorb?
    Posted in: Minecraft Mods
  • 0

    posted a message on Diamond Armor Defense
    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?
    Posted in: Discussion
  • 0

    posted a message on Diamond Armor Defense
    Thanks for the replies, but is the amount of defense points (the little chestplates) how much damage it absorbs? Or is it strictly a percentage?
    Posted in: Discussion
  • 0

    posted a message on Diamond Armor Defense
    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?
    Posted in: Discussion
  • 0

    posted a message on java.lang.ArrayIndexOutOfBoundsException Armor Damage Reduction
    Will anyone help me?
    Posted in: Modification Development
  • 0

    posted a message on java.lang.ArrayIndexOutOfBoundsException Armor Damage Reduction
    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

    If you need the code just ask.
    Posted in: Modification Development
  • 0

    posted a message on WR-CBE Remote Access Restrictions
    Any help?
    Posted in: Mods Discussion
  • 0

    posted a message on Finished mod, wanna make another.
    Okay, thank you.
    Posted in: Modification Development
  • To post a comment, please .