Jump to content

Nieue

Members
  • Posts

    141
  • Joined

  • Last visited

Posts posted by Nieue

  1. If it were to be possible, could there be a way inside of Forge that checks the oredictionary in a better way than the recent one?

    This is very vague, so I'll give you an example of what I mean:

     

    Subject: Copper

    The player has 3 different mods installed that all add 3 different types of Copper (ingot, ore, dust, etc. [if there is any more])

    They all have configured their Copper in the correct way

    Before loading the game, Forge goes through the mods to find if there are any items/blocks in the mod that use the oredictionary in the correct way.

    Forge finds them, and replaces all of them with Forges own Copper (ingot, ore, dust, etc.)

    When the player loads the world, he will only find 1 type of Copper Ore, Ingot, Dust, etc.

     

    Thanks for reading :)

  2. What it is doing right now is, it checks whether your boots is on -> then adds that potion effect. Then it checks whether your chestplate is on -> ads the same potion effect (they don't stack). So what you want to do is something like this:

    // This is the important method, that is where you put your armour effect code in.
    public void playerTick(EntityPlayer player)
    {
    
    // Armour effect example
    if(player.getCurrentArmor(0) != null)
    {
    if(player.getCurrentArmor(0).itemID == Mainclass.PureStoneBoots.itemID)
    {
    player.addPotionEffect(new PotionEffect(absorption, 5, 0));
    }
    else if(player.getCurrentArmor(0).itemID == Mainclass.PureStoneBoots.itemID && player.getCurrentArmor(1).itemID == Mainclass.PureStoneLegs.itemID) // << notice that getCurrentArmor(0), the 0 is for boots, 1 is for leggings, 2 for chestplate and 3 for helmets.
    {
    player.addPotionEffect(new PotionEffect(absorption, 5, 1)); // So whenever you wear 1 more piece of armour, you raise its intensity.
    }
    }
    }
    

    Ah, and in the end, the line will be with all 4 items, right?

  3. Oops, well thats not supposed to be there anyway xD, also i forgot to say that you have to register the handler in your main mod classs:

    TickRegistry.registerTickHandler(new YourCommonTickHandler(), Side.SERVER);
    

    Okay, so I got the boots to work, but when I try to do it so that when you also wear the leggings it gives you two more hearts it doesn't work.

    Here's my code (the leggings are not working)

    package assets.caves_of_millarki.client;
    
    import java.util.EnumSet;
    
    import assets.caves_of_millarki.common.Mainclass;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.potion.PotionEffect;
    
    import cpw.mods.fml.common.ITickHandler;
    import cpw.mods.fml.common.TickType;
    
    
    public class MillarkiTickHandler implements ITickHandler
    {
    private static int absorption = 22;
    @Override
    public void tickStart(EnumSet<TickType> type, Object... tickData)
    {
    playerTick((EntityPlayer) tickData[0]);
    }
    
    @Override
    public void tickEnd(EnumSet<TickType> type, Object... tickData)
    {
    // Nothing in here unless you want it to do something when the tick ends...
    }
    
    @Override
    public EnumSet<TickType> ticks()
    {
    return EnumSet.of(TickType.PLAYER);
    }
    
    @Override
    public String getLabel()
    {
    return null;
    }
    
    // This is the important method, that is where you put your armour effect code in.
    public void playerTick(EntityPlayer player)
    {
    
    // Armour effect example
    if(player.getCurrentArmor(0) != null)
    {
    if(player.getCurrentArmor(0).itemID == Mainclass.PureStoneBoots.itemID)
    {
    player.addPotionEffect(new PotionEffect(absorption, 5, 0));
    }
    {
    if(player.getCurrentArmor(0).itemID == Mainclass.PureStoneLegs.itemID)
    {
    player.addPotionEffect(new PotionEffect(absorption, 5, 0));
    }
    }
    }}}

  4. I have made some nice Armour Set Effects, this can easily be adapted to something where you can add something like in case only 1 piece is worn give 2 hearts, when theres 2 add 4. This is how i added my custom armour effects:

    
    

     

    In order to use that you should have a CommonTickHandler setup (or whatever you want to call it)

     

     

    package packagename
    
    import whatever imports you need
    
    public class YourCommonTickHandler implements ITickHandler
    {
    @Override
    public void tickStart(EnumSet<TickType> type, Object... tickData)
    {
    playerTick((EntityPlayer) tickData[0]);
    }
    
    @Override
    public void tickEnd(EnumSet<TickType> type, Object... tickData)
    {
    // Nothing in here unless you want it to do something when the tick ends...
    }
    
    @Override
    public EnumSet<TickType> ticks()
    {
    return EnumSet.of(TickType.PLAYER);
    }
    
    @Override
    pblic String getLabel()
    {
    return null;
    }
    
    // This is the important method, that is where you put your armour effect code in.
    public void playerTick(EntityPlayer player)
    {
    // Armour effect example
    if(player.getCurrentArmor(0) != null)
    {
    if(player.getCurrentArmor(0).itemID == yourBoots.itemID)
    {
    player.addPotionEffect(new PotionEffect(potion.jump.getId(), 5, 4));
    }
    }
    }
    

     

     

     

    Hope it helped!

    The first code doesnt have code :P

  5. Second,

    In GuiBoneBench:

    public GuiBoneBench(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)
        {
            super(new ContainerWorkbench(par1InventoryPlayer, par2World, par3, par4, par5));
        }
    

    In GuiHandler:

    switch(id)
          {
             case 1: return id == 1 && world.getBlockId(x, y, z) == Mainclass.BoneBench.blockID ? new ContainerBoneBench(player.inventory, world, x, y, z) : null;
          
          } 
    

    Looks strange to have two containers for the same Gui.

     

    Also, SlotBoneBench and BoneBenchRecipeSorter look like identical copies of vanilla classes. Can't you use the original ones ?

    Thanks, that worked perfectly! Pretty much a derp from me :P

     

    But I still need help with the armor

  6. I want to be able to give the player a potion effect when it is wearing armor.

    Also, a bit more specific, when it is wearing a specific piece.

    So for example, when the player wears a helmet it gives him 2 hearts of absorption. When he wears the chestplate it gives him the same, but when he wears both it gives him 4 hearts of absorption.

     

    How would I go about doing this when I have this armor class:

     

    package assets.caves_of_millarki.common;

     

    import net.minecraft.client.renderer.texture.IconRegister;

    import net.minecraft.entity.Entity;

    import net.minecraft.entity.EntityLivingBase;

    import net.minecraft.entity.player.EntityPlayer;

    import net.minecraft.item.EnumArmorMaterial;

    import net.minecraft.item.ItemArmor;

    import net.minecraft.item.ItemStack;

    import net.minecraft.util.DamageSource;

     

    public class PureStoneArmor extends ItemArmor 

    {

    public PureStoneArmor(int i, EnumArmorMaterial enumarmormaterial, int j, int k)

    {

    super(i, enumarmormaterial, j, k);

    }

    @Override

    public void registerIcons(IconRegister iconRegister)

    {

    if(itemID == Mainclass.PureStoneHelm.itemID)

    {

    itemIcon = iconRegister.registerIcon("caves_of_millarki:purestonehelm");

    }

    if(itemID == Mainclass.PureStoneChest.itemID)

    {

    itemIcon = iconRegister.registerIcon("caves_of_millarki:purestonechest");

    }

    if(itemID == Mainclass.PureStoneLegs.itemID)

    {

    itemIcon = iconRegister.registerIcon("caves_of_millarki:purestonelegs");

    }

    if(itemID == Mainclass.PureStoneBoots.itemID)

    {

    itemIcon = iconRegister.registerIcon("caves_of_millarki:purestoneboots");

    }

    }

     

     

     

    @Override

    public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer)

    {

    if(itemID == Mainclass.PureStoneHelm.itemID || itemID == Mainclass.PureStoneChest.itemID || itemID == Mainclass.PureStoneBoots.itemID)

    {

    return CommonProxy.PURESTONE_1;

    }

    if(itemID == Mainclass.PureStoneLegs.itemID)

    {

    return CommonProxy.PURESTONE_2;

    }

    else return null;

    }

     

       

        public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)

        {

            return Mainclass.PureGarnet.itemID == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack);

        }

     

     

    }

     

     

     

     

    Also, I created a custom crafting table, but the recipes don't work. In 1.5 they did, what am I doing wrong now?

     

    Block:

     

    package assets.caves_of_millarki.common;

     

    import assets.caves_of_millarki.common.Mainclass;

    import net.minecraft.block.Block;

    import net.minecraft.block.material.Material;

    import net.minecraft.client.renderer.texture.IconRegister;

    import net.minecraft.entity.player.EntityPlayer;

    import net.minecraft.util.Icon;

    import net.minecraft.world.World;

    import cpw.mods.fml.relauncher.Side;

    import cpw.mods.fml.relauncher.SideOnly;

     

    public class BoneBench extends Block

    {

     

    @SideOnly(Side.CLIENT)

    private Icon field_94385_a;

    @SideOnly(Side.CLIENT)

    private Icon field_94384_b;

     

    public BoneBench(int par1)

    {

            super(par1, Material.wood);

            //blockIndexInTexture = 59;

            this.setCreativeTab(Mainclass.MillarkiTab);

    }

     

     

    /**

            * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata

            */

    @Override

    public Icon getIcon(int par1, int par2)

    {

    if(par2 == 0)

    par2 = 3;

            return par1 == 1 ? this.field_94385_a : (par1 == 0 ? Mainclass.BoneBlock.getBlockTextureFromSide(par1) : (par1 != 2 && par1 != 4 ? this.blockIcon : this.field_94384_b));

    }

     

    @SideOnly(Side.CLIENT)

     

    /*** When this method is called, your block should register all the icons it needs with the given IconRegister. This

    *is the only chance you get to register icons.

            */

    @Override

    public void registerIcons(IconRegister par1IconRegister)

    {

        this.blockIcon = par1IconRegister.registerIcon("caves_of_millarki:bonebench_side");

        this.field_94385_a = par1IconRegister.registerIcon("caves_of_millarki:bonebench_top");

        this.field_94384_b = par1IconRegister.registerIcon("caves_of_millarki:bonebench_front");

    }

     

    public boolean onBlockActivated(World var1, int var2, int var3, int var4, EntityPlayer player, int var6, float var7, float var8, float var9)

    {

            if (!player.isSneaking())

    {

    player.openGui(Mainclass.instance, 1, var1, var2, var3, var4);

    return true;

    }

    else

    {

    return false;

    }

     

    }

     

    }

     

    Crafting Manager:

     

    package assets.caves_of_millarki.common;

     

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.HashMap;

    import java.util.List;

     

    import cpw.mods.fml.common.registry.GameRegistry;

    import net.minecraft.block.Block;

    import net.minecraft.inventory.InventoryCrafting;

    import net.minecraft.item.Item;

    import net.minecraft.item.ItemStack;

    import net.minecraft.item.crafting.IRecipe;

    import net.minecraft.item.crafting.ShapedRecipes;

    import net.minecraft.item.crafting.ShapelessRecipes;

    import net.minecraft.world.World;

     

    public class BoneBenchCraftingManager

    {

    /** The static instance of this class */

    private static final BoneBenchCraftingManager instance = new BoneBenchCraftingManager();

     

    /** A list of all the recipes added */

    private List recipes = new ArrayList();

     

    /**

            * Returns the static instance of this class

            */

    public static final BoneBenchCraftingManager getInstance()

    {

            return instance;

    }

     

    private BoneBenchCraftingManager()

    {

     

     

    ItemStack bone = new ItemStack(Item.bone);

    ItemStack rough = new ItemStack(Mainclass.RoughStone);

     

            recipes = new ArrayList();

            this.addRecipe(new ItemStack(Mainclass.RoughBonePickaxe), "RRR", " B ", " B ",

            'B', bone, 'R', rough);

            this.addRecipe(new ItemStack(Mainclass.BonePickaxe, 1), new Object[] {"XXX", " B ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('X'), Mainclass.BoneBlock});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneSword, 1), new Object[] {"R", "R", "B", Character.valueOf('B'), Item.bone, Character.valueOf('R'), Mainclass.RoughStone});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneAxe, 1), new Object[] {"RR ", "RB ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('R'), Mainclass.RoughStone});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneShovel, 1), new Object[] {"R", "B", "B", Character.valueOf('B'), Item.bone, Character.valueOf('R'), Mainclass.RoughStone});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneHoe, 1), new Object[] {"RR ", " B ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('R'), Mainclass.RoughStone});

     

            this.addRecipe(new ItemStack(Mainclass.PurifierIdle, 1), new Object[] {"RRR", "RGR", "RRR", Character.valueOf('G'), Mainclass.Garnet, Character.valueOf('R'), Mainclass.RoughStone});

     

            this.addRecipe(new ItemStack(Mainclass.PureBonePickaxe, 1), new Object[] {"GGG", " B ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('G'), Mainclass.PureGarnet});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneSword, 1), new Object[] {"G", "G", "B", Character.valueOf('B'), Item.bone, Character.valueOf('G'), Mainclass.PureGarnet});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneAxe, 1), new Object[] {"GG ", "GB ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('G'), Mainclass.PureGarnet});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneShovel, 1), new Object[] {"G", "B", "B", Character.valueOf('B'), Item.bone, Character.valueOf('G'), Mainclass.PureGarnet});

            this.addRecipe(new ItemStack(Mainclass.RoughBoneHoe, 1), new Object[] {"GG ", " B ", " B ", Character.valueOf('B'), Item.bone, Character.valueOf('G'), Mainclass.PureGarnet});

            this.addRecipe(new ItemStack(Mainclass.PureStoneHelm, 1), new Object[] {"SSS", "G G", "  ", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

            this.addRecipe(new ItemStack(Mainclass.PureStoneHelm, 1), new Object[] {"  ", "SSS", "G G", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

            this.addRecipe(new ItemStack(Mainclass.PureStoneChest, 1), new Object[] {"SGS", "SSS", "SSS", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

            this.addRecipe(new ItemStack(Mainclass.PureStoneLegs, 1), new Object[] {"SSS", "G G", "S S", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

            this.addRecipe(new ItemStack(Mainclass.PureStoneBoots, 1), new Object[] {"S S", "G G", "  ", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

            this.addRecipe(new ItemStack(Mainclass.PureStoneBoots, 1), new Object[] {"  ", "S S", "G G", Character.valueOf('G'), Mainclass.PureGarnet, Character.valueOf('S'), Mainclass.PureStone});

     

            this.addRecipe(new ItemStack(Mainclass.DarkPickaxe, 1), new Object[] {"DDD", " S ", " S ", Character.valueOf('S'), Mainclass.DarkStick, Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkSword, 1), new Object[] {"D", "D", "S", Character.valueOf('S'), Mainclass.DarkStick, Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkAxe, 1), new Object[] {"DD ", "DS ", " S ", Character.valueOf('S'), Mainclass.DarkStick, Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkShovel, 1), new Object[] {"D", "S", "S", Character.valueOf('S'), Mainclass.DarkStick, Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkHoe, 1), new Object[] {"DD ", " S ", " S ", Character.valueOf('S'), Mainclass.DarkStick, Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkHelm, 1), new Object[] {"DDD", "D D", "  ", Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkHelm, 1), new Object[] {"  ", "DDD", "D D", Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkChest, 1), new Object[] {"D D", "DDD", "DDD", Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkLegs, 1), new Object[] {"DDD", "D D", "D D", Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkBoots, 1), new Object[] {"D D", "D D", "  ", Character.valueOf('D'), Mainclass.DarkGem});

            this.addRecipe(new ItemStack(Mainclass.DarkBoots, 1), new Object[] {"  ", "D D", "D D", Character.valueOf('D'), Mainclass.DarkGem});

     

            this.addRecipe(new ItemStack(Mainclass.PreciousPickaxe, 1), new Object[] {"PPP", " S ", " S ", Character.valueOf('S'), Mainclass.PreciousStick, Character.valueOf('P'), Mainclass.PreciousIngot});

            this.addRecipe(new ItemStack(Mainclass.PreciousSword, 1), new Object[] {"P", "P", "S", Character.valueOf('S'), Mainclass.PreciousStick, Character.valueOf('P'), Mainclass.PreciousIngot});

            this.addRecipe(new ItemStack(Mainclass.PreciousAxe, 1), new Object[] {"PP ", "PS ", " S ", Character.valueOf('S'), Mainclass.PreciousStick, Character.valueOf('P'), Mainclass.PreciousIngot});

            this.addRecipe(new ItemStack(Mainclass.PreciousShovel, 1), new Object[] {"P", "S", "S", Character.valueOf('S'), Mainclass.PreciousStick, Character.valueOf('P'), Mainclass.PreciousIngot});

            this.addRecipe(new ItemStack(Mainclass.PreciousHoe, 1), new Object[] {"PP ", " S ", " S ", Character.valueOf('S'), Mainclass.PreciousStick, Character.valueOf('P'), Mainclass.PreciousIngot});

     

            this.addRecipe(new ItemStack(Mainclass.FlamePickaxe, 1), new Object[] {"FFF", " S ", " S ", Character.valueOf('S'), Mainclass.FlameStick, Character.valueOf('F'), Mainclass.FlameGem});

            this.addRecipe(new ItemStack(Mainclass.FlameSword, 1), new Object[] {"F", "F", "S", Character.valueOf('S'), Mainclass.FlameStick, Character.valueOf('F'), Mainclass.FlameGem});

            this.addRecipe(new ItemStack(Mainclass.FlameAxe, 1), new Object[] {"FF ", "FS ", " S ", Character.valueOf('S'), Mainclass.FlameStick, Character.valueOf('F'), Mainclass.FlameGem});

            this.addRecipe(new ItemStack(Mainclass.FlameShovel, 1), new Object[] {"F", "S", "S", Character.valueOf('S'), Mainclass.FlameStick, Character.valueOf('F'), Mainclass.FlameGem});

            this.addRecipe(new ItemStack(Mainclass.FlameHoe, 1), new Object[] {"FF ", " S ", " S ", Character.valueOf('S'), Mainclass.FlameStick, Character.valueOf('F'), Mainclass.FlameGem});

     

                    Collections.sort(this.recipes, new BoneBenchRecipeSorter(this));

    }

     

    public ShapedRecipes addRecipe(ItemStack par1ItemStack, Object ... par2ArrayOfObj)

    {

            String s = "";

            int i = 0;

            int j = 0;

            int k = 0;

     

            if (par2ArrayOfObj instanceof String[])

            {

                    String[] astring = (String[])((String[])par2ArrayOfObj[i++]);

     

                    for (int l = 0; l < astring.length; ++l)

                    {

                            String s1 = astring[l];

                            ++k;

                            j = s1.length();

                            s = s + s1;

                    }

            }

            else

            {

                    while (par2ArrayOfObj instanceof String)

                    {

                            String s2 = (String)par2ArrayOfObj[i++];

                            ++k;

                            j = s2.length();

                            s = s + s2;

                    }

            }

     

            HashMap hashmap;

     

            for (hashmap = new HashMap(); i < par2ArrayOfObj.length; i += 2)

            {

                    Character character = (Character)par2ArrayOfObj;

                    ItemStack itemstack1 = null;

     

                    if (par2ArrayOfObj[i + 1] instanceof Item)

                    {

                            itemstack1 = new ItemStack((Item)par2ArrayOfObj[i + 1]);

                    }

                    else if (par2ArrayOfObj[i + 1] instanceof Block)

                    {

                            itemstack1 = new ItemStack((Block)par2ArrayOfObj[i + 1], 1, 32767);

                    }

                    else if (par2ArrayOfObj[i + 1] instanceof ItemStack)

                    {

                            itemstack1 = (ItemStack)par2ArrayOfObj[i + 1];

                    }

     

                    hashmap.put(character, itemstack1);

            }

     

            ItemStack[] aitemstack = new ItemStack[j * k];

     

            for (int i1 = 0; i1 < j * k; ++i1)

            {

                    char c0 = s.charAt(i1);

     

                    if (hashmap.containsKey(Character.valueOf(c0)))

                    {

                            aitemstack[i1] = ((ItemStack)hashmap.get(Character.valueOf(c0))).copy();

                    }

                    else

                    {

                            aitemstack[i1] = null;

                    }

            }

     

            ShapedRecipes shapedrecipes = new ShapedRecipes(j, k, aitemstack, par1ItemStack);

            this.recipes.add(shapedrecipes);

            return shapedrecipes;

    }

     

    public void addShapelessRecipe(ItemStack par1ItemStack, Object ... par2ArrayOfObj)

    {

            ArrayList arraylist = new ArrayList();

            Object[] aobject = par2ArrayOfObj;

            int i = par2ArrayOfObj.length;

     

            for (int j = 0; j < i; ++j)

            {

                    Object object1 = aobject[j];

     

                    if (object1 instanceof ItemStack)

                    {

                            arraylist.add(((ItemStack)object1).copy());

                    }

                    else if (object1 instanceof Item)

                    {

                            arraylist.add(new ItemStack((Item)object1));

                    }

                    else

                    {

                            if (!(object1 instanceof Block))

                            {

                                    throw new RuntimeException("Invalid shapeless recipy!");

                            }

     

                            arraylist.add(new ItemStack((Block)object1));

                    }

            }

     

            this.recipes.add(new ShapelessRecipes(par1ItemStack, arraylist));

    }

     

    public ItemStack findMatchingRecipe(InventoryCrafting par1InventoryCrafting, World par2World)

    {

            int i = 0;

            ItemStack itemstack = null;

            ItemStack itemstack1 = null;

            int j;

     

            for (j = 0; j < par1InventoryCrafting.getSizeInventory(); ++j)

            {

                    ItemStack itemstack2 = par1InventoryCrafting.getStackInSlot(j);

     

                    if (itemstack2 != null)

                    {

                            if (i == 0)

                            {

                                    itemstack = itemstack2;

                            }

     

                            if (i == 1)

                            {

                                    itemstack1 = itemstack2;

                            }

     

                            ++i;

                    }

            }

     

            if (i == 2 && itemstack.itemID == itemstack1.itemID && itemstack.stackSize == 1 && itemstack1.stackSize == 1 && Item.itemsList[itemstack.itemID].isRepairable())

            {

                    Item item = Item.itemsList[itemstack.itemID];

                    int k = item.getMaxDamage() - itemstack.getItemDamageForDisplay();

                    int l = item.getMaxDamage() - itemstack1.getItemDamageForDisplay();

                    int i1 = k + l + item.getMaxDamage() * 5 / 100;

                    int j1 = item.getMaxDamage() - i1;

     

                    if (j1 < 0)

                    {

                            j1 = 0;

                    }

     

                    return new ItemStack(itemstack.itemID, 1, j1);

            }

            else

            {

                    for (j = 0; j < this.recipes.size(); ++j)

                    {

                            IRecipe irecipe = (IRecipe)this.recipes.get(j);

     

                            if (irecipe.matches(par1InventoryCrafting, par2World))

                            {

                                    return irecipe.getCraftingResult(par1InventoryCrafting);

                            }

                    }

     

                    return null;

            }

    }

     

    /**

            * returns the List<> of all recipes

            */

    public List getRecipeList()

    {

            return this.recipes;

    }

    }

     

    Recipe Sorter:

     

    package assets.caves_of_millarki.common;

     

    import java.util.Comparator;

     

    import assets.caves_of_millarki.common.Mainclass;

    import net.minecraft.item.crafting.CraftingManager;

    import net.minecraft.item.crafting.IRecipe;

    import net.minecraft.item.crafting.ShapedRecipes;

    import net.minecraft.item.crafting.ShapelessRecipes;

     

    class BoneBenchRecipeSorter implements Comparator

    {

    final BoneBenchCraftingManager BoneBenchCraftingManager;

     

    BoneBenchRecipeSorter(BoneBenchCraftingManager par1BoneBenchCraftingManager)

    {

            this.BoneBenchCraftingManager = par1BoneBenchCraftingManager;

    }

     

    public int compareRecipes(IRecipe par1IRecipe, IRecipe par2IRecipe)

    {

            return par1IRecipe instanceof ShapelessRecipes && par2IRecipe instanceof ShapedRecipes ? 1 : (par2IRecipe instanceof ShapelessRecipes && par1IRecipe instanceof ShapedRecipes ? -1 : (par2IRecipe.getRecipeSize() < par1IRecipe.getRecipeSize() ? -1 : (par2IRecipe.getRecipeSize() > par1IRecipe.getRecipeSize() ? 1 : 0)));

    }

     

    public int compare(Object par1Obj, Object par2Obj)

    {

            return this.compareRecipes((IRecipe)par1Obj, (IRecipe)par2Obj);

    }

    }

     

    Gui:

     

    package assets.caves_of_millarki.common;

     

    import cpw.mods.fml.relauncher.Side;

    import cpw.mods.fml.relauncher.SideOnly;

    import net.minecraft.client.gui.inventory.GuiContainer;

    import net.minecraft.client.resources.I18n;

    import net.minecraft.entity.player.InventoryPlayer;

    import net.minecraft.inventory.ContainerWorkbench;

    import net.minecraft.util.ResourceLocation;

    import net.minecraft.world.World;

    import org.lwjgl.opengl.GL11;

     

    @SideOnly(Side.CLIENT)

    public class GuiBoneBench extends GuiContainer

    {

        private static final ResourceLocation field_110422_t = new ResourceLocation("textures/gui/container/crafting_table.png");

     

        public GuiBoneBench(InventoryPlayer par1InventoryPlayer, World par2World, int par3, int par4, int par5)

        {

            super(new ContainerWorkbench(par1InventoryPlayer, par2World, par3, par4, par5));

        }

     

        /**

        * Draw the foreground layer for the GuiContainer (everything in front of the items)

        */

        protected void drawGuiContainerForegroundLayer(int par1, int par2)

        {

            this.fontRenderer.drawString(I18n.func_135053_a("container.crafting"), 28, 6, 4210752);

            this.fontRenderer.drawString(I18n.func_135053_a("container.inventory"), 8, this.ySize - 96 + 2, 4210752);

        }

     

        /**

        * Draw the background layer for the GuiContainer (everything behind the items)

        */

        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)

        {

            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

            this.mc.func_110434_K().func_110577_a(field_110422_t);

            int k = (this.width - this.xSize) / 2;

            int l = (this.height - this.ySize) / 2;

            this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);

        }

    }

     

     

    GuiHandler:

     

    package assets.caves_of_millarki.common;

     

    import net.minecraft.client.gui.inventory.GuiCrafting;

    import net.minecraft.entity.player.EntityPlayer;

    import assets.caves_of_millarki.common.Mainclass;

    import net.minecraft.tileentity.TileEntity;

    import net.minecraft.world.World;

    import cpw.mods.fml.common.network.IGuiHandler;

     

    public class GuiHandler implements IGuiHandler{

     

    @Override

    public Object getServerGuiElement(int id, EntityPlayer player, World world,

    int x, int y, int z) {

    TileEntity tile_entity = world.getBlockTileEntity(x, y, z);

     

    if (tile_entity instanceof TileEntityPurifier) {

    return new ContainerPurifier(player.inventory,(TileEntityPurifier) tile_entity);

    }

     

     

    switch(id)

    {

    case 1: return id == 1 && world.getBlockId(x, y, z) == Mainclass.BoneBench.blockID ? new ContainerBoneBench(player.inventory, world, x, y, z) : null;

     

    }

    return null;

    }

     

     

    @Override

    public Object  getClientGuiElement(int ID, EntityPlayer player, World world,

    int x, int y, int z) {

    TileEntity tile_entity = world.getBlockTileEntity(x, y, z);

    if (tile_entity instanceof TileEntityPurifier) {

    return new GuiPurifier(player.inventory,(TileEntityPurifier) tile_entity);

     

    }

     

    switch(ID)

    {

    case 1: return ID == 1 && world.getBlockId(x, y, z) == Mainclass.BoneBench.blockID ? new GuiBoneBench(player.inventory, world, x, y, z) : null;

    }

    return null;

    }

     

    }

     

     

    Slot:

     

    package assets.caves_of_millarki.common;

     

    import cpw.mods.fml.common.registry.GameRegistry;

    import net.minecraft.block.Block;

    import net.minecraft.entity.player.EntityPlayer;

    import net.minecraft.inventory.IInventory;

    import net.minecraft.inventory.Slot;

    import net.minecraft.item.Item;

    import net.minecraft.item.ItemStack;

    import net.minecraft.stats.AchievementList;

     

    import net.minecraftforge.common.ForgeHooks;

    import net.minecraftforge.common.MinecraftForge;

    import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;

     

    public class SlotBoneBench extends Slot

    {

        /** The craft matrix inventory linked to this result slot. */

        private final IInventory craftMatrix;

     

        /** The player that is using the GUI where this slot resides. */

        private EntityPlayer thePlayer;

     

        /**

        * The number of items that have been crafted so far. Gets passed to ItemStack.onCrafting before being reset.

        */

        private int amountCrafted;

     

        public SlotBoneBench(EntityPlayer par1EntityPlayer, IInventory par2IInventory, IInventory par3IInventory, int par4, int par5, int par6)

        {

            super(par3IInventory, par4, par5, par6);

            this.thePlayer = par1EntityPlayer;

            this.craftMatrix = par2IInventory;

        }

     

        /**

        * Check if the stack is a valid item for this slot. Always true beside for the armor slots.

        */

        public boolean isItemValid(ItemStack par1ItemStack)

        {

            return false;

        }

     

        /**

        * Decrease the size of the stack in slot (first int arg) by the amount of the second int arg. Returns the new

        * stack.

        */

        public ItemStack decrStackSize(int par1)

        {

            if (this.getHasStack())

            {

                this.amountCrafted += Math.min(par1, this.getStack().stackSize);

            }

     

            return super.decrStackSize(par1);

        }

     

        /**

        * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood. Typically increases an

        * internal count then calls onCrafting(item).

        */

        protected void onCrafting(ItemStack par1ItemStack, int par2)

        {

            this.amountCrafted += par2;

            this.onCrafting(par1ItemStack);

        }

     

        /**

        * the itemStack passed in is the output - ie, iron ingots, and pickaxes, not ore and wood.

        */

        protected void onCrafting(ItemStack par1ItemStack)

        {

            par1ItemStack.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted);

            this.amountCrafted = 0;

     

            if (par1ItemStack.itemID == Block.workbench.blockID)

            {

                this.thePlayer.addStat(AchievementList.buildWorkBench, 1);

            }

            else if (par1ItemStack.itemID == Item.pickaxeWood.itemID)

            {

                this.thePlayer.addStat(AchievementList.buildPickaxe, 1);

            }

            else if (par1ItemStack.itemID == Block.furnaceIdle.blockID)

            {

                this.thePlayer.addStat(AchievementList.buildFurnace, 1);

            }

            else if (par1ItemStack.itemID == Item.hoeWood.itemID)

            {

                this.thePlayer.addStat(AchievementList.buildHoe, 1);

            }

            else if (par1ItemStack.itemID == Item.bread.itemID)

            {

                this.thePlayer.addStat(AchievementList.makeBread, 1);

            }

            else if (par1ItemStack.itemID == Item.cake.itemID)

            {

                this.thePlayer.addStat(AchievementList.bakeCake, 1);

            }

            else if (par1ItemStack.itemID == Item.pickaxeStone.itemID)

            {

                this.thePlayer.addStat(AchievementList.buildBetterPickaxe, 1);

            }

            else if (par1ItemStack.itemID == Item.swordWood.itemID)

            {

                this.thePlayer.addStat(AchievementList.buildSword, 1);

            }

            else if (par1ItemStack.itemID == Block.enchantmentTable.blockID)

            {

                this.thePlayer.addStat(AchievementList.enchantments, 1);

            }

            else if (par1ItemStack.itemID == Block.bookShelf.blockID)

            {

                this.thePlayer.addStat(AchievementList.bookcase, 1);

            }

        }

     

        public void onPickupFromSlot(EntityPlayer par1EntityPlayer, ItemStack par2ItemStack)

        {

            GameRegistry.onItemCrafted(par1EntityPlayer, par2ItemStack, craftMatrix);

            this.onCrafting(par2ItemStack);

     

            for (int i = 0; i < this.craftMatrix.getSizeInventory(); ++i)

            {

                ItemStack itemstack1 = this.craftMatrix.getStackInSlot(i);

     

                if (itemstack1 != null)

                {

                    this.craftMatrix.decrStackSize(i, 1);

     

                    if (itemstack1.getItem().hasContainerItem())

                    {

                        ItemStack itemstack2 = itemstack1.getItem().getContainerItemStack(itemstack1);

     

                        if (itemstack2.isItemStackDamageable() && itemstack2.getItemDamage() > itemstack2.getMaxDamage())

                        {

                            MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, itemstack2));

                            itemstack2 = null;

                        }

     

                        if (itemstack2 != null && (!itemstack1.getItem().doesContainerItemLeaveCraftingGrid(itemstack1) || !this.thePlayer.inventory.addItemStackToInventory(itemstack2)))

                        {

                            if (this.craftMatrix.getStackInSlot(i) == null)

                            {

                                this.craftMatrix.setInventorySlotContents(i, itemstack2);

                            }

                            else

                            {

                                this.thePlayer.dropPlayerItem(itemstack2);

                            }

                        }

                    }

                }

            }

        }

    }

     

     

     

    Thanks already :)

     

  7. there's 3 different items that are declared as horse armor:

    Item.field_111215_ce (iron)

    Item.field_111216_cf (gold)

    Item.field_111213_cg (diamond)

     

    now the problem is, the way the horse figures out what items are counted as horse armor is in the actual entity class:

        public int func_110260_d(ItemStack par1ItemStack)
        {
            return par1ItemStack == null ? 0 : (par1ItemStack.itemID == Item.field_111215_ce.itemID ? 1 : (par1ItemStack.itemID == Item.field_111216_cf.itemID ? 2 : (par1ItemStack.itemID == Item.field_111213_cg.itemID ? 3 : 0)));
        }
    

     

    so that leaves us with only 2 ways of adding custom horse armor:

    1) screw it and just make a coremod and edit base class files, or

    2) make a new entity that copies horses, but changes what items are its armor, and disable vanilla horses, that way no base class edits are done, however, it could still cause problems!

     

    it's up to you what you do! :P

     

    -sorash67 || Skorpio

    I'd rather wait for when it is possiblein a way like normal armor is :P

  8. yes, now for your own information the @Override is not NECCESSARY but it helps understanding the flow of the code, if you have a @Override you KNOW that a super class (class you are extending from) have this method too

     

    also if you put a @Override and it give you an error you can tell taht maybe you copied the name wrong

    So what is the next step?

  9. if you delete "extends CommonProxy" it will give you errors because remember in your main mod file it says

    public static CommonProxy

     

    and the fact that you have extends CommonProxy means that you can consider a ClientProxy LIKE a CommonProxy, if you remove that they will be 2 completelly different things

     

    so option 1 BUT remove the body  aka DO NOT register the renderer in the common proxy, just copy the method declaration

     

    aka

    
    in client proxy
    
    public void doSomething(){
    //code
    }
    
    in common proxy
    public void doSomething(){
    //NO CODE HERE
    }

     

    you see both method have the same declaration "public void doSomething()" so since your client proxy is declaring the same thign again, the code from the client proxy will be called because it "Override" the one from the common proxy

     

    this is also why sometimes we put

     

    @Override, meaning we actually want to do THIS, and not that our extended class says to do

    So if I'm correct it should be like this:

    package assets.blutricity.common;
    
    import cpw.mods.fml.client.registry.ClientRegistry;
    
    public class CommonProxy 
    {
    
    
    public void registerRenderers()
    {
    
    
    }
    }

    package assets.blutricity.client;
    
    import assets.blutricity.common.CommonProxy;
    import assets.blutricity.common.TileEntitySolarPanel;
    import assets.blutricity.common.TileEntitySolarPanelRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.client.registry.RenderingRegistry;
    
    public class ClientProxy extends CommonProxy
    {
    @Override
    public void registerRenderers()
    {
    	System.out.println("HELLOOOOOO");
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarPanel.class, new TileEntitySolarPanelRenderer());
    
    }
    }
    

    package assets.blutricity.common;
    
    import assets.blutricity.client.ClientProxy;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.Init;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.Mod.PreInit;
    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.network.NetworkRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    @Mod(modid = Mainclass.modid, name = "Project: Blu", version = "1.0")
    @NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"craftable_end_portal"})
    public class Mainclass
    {
    public static final String modid = "blutricity";
    
    public static Block BluFurnaceIdle;
    public static Block BluFurnaceLit;
    public static Block BluAlloyFurnaceIdle;
    public static Block BluAlloyFurnaceLit;
    public static Block SolarPanel;
    
    public static Block BatteryBox;
    public static Block AlloyWire;
    public static Block kv_10_Wire;
    public static Block MV_1_Wire;
    public static Block VoltageTransformer;
    public static Block Thermopile;
    public static Block ChargingBench;
    
    public static Item BluMotor;
    public static Item BluSilicon;
    public static Item BluIngot;
    public static Item CopperCoil;
        public static Item TinIngot;
        public static Item CopperIngot;
        public static Item BrassIngot;
        public static Item SilverIngot;
        public static Item Nikolite;
        public static Item Battery;
        
        public static Item VoltMeter;
    
    
    @SidedProxy(clientSide = "assets.blutricity.client.ClientProxy", serverSide = "assets.blutricity.common.CommonProxy")
    [b]public static CommonProxy proxy;
    [/b]@Instance
    public static Mainclass instance = new Mainclass();
    private GuiHandler guihandler = new GuiHandler();
    
    
    @PreInit
    public void preInit(FMLPreInitializationEvent event)
    {
    //Blocks
    BluFurnaceIdle = new BluFurnace(1000, false).setHardness(5.0F).setUnlocalizedName("blufurnaceidle").setCreativeTab(BluTab);
    BluFurnaceLit = new BluFurnace(1001, true).setHardness(5.0F).setUnlocalizedName("blufurnacelit");
    BluAlloyFurnaceIdle = new BluAlloyFurnace(1002, false).setHardness(5.0F).setUnlocalizedName("bluealloyidle").setCreativeTab(BluTab);
    BluAlloyFurnaceLit = new BluAlloyFurnace(1003, true).setHardness(5.0F).setUnlocalizedName("blualloylit");
    SolarPanel = new SolarPanel(1004).setHardness(5.0F).setUnlocalizedName("solarpanel").setCreativeTab(BluTab);
    //BatteryBox = new BatteryBox(1005).setHardness(5.0F).setUnlocalizedName("batterybox").setCreativeTab(BluTab);
    
    //Items
    BluMotor = new BluMotor(15000).setUnlocalizedName("blumotor").setCreativeTab(BluTab);
    BluSilicon = new BluSilicon(15001).setUnlocalizedName("blusilicon").setCreativeTab(BluTab);
    BluIngot = new BluIngot(15002).setUnlocalizedName("bluingot").setCreativeTab(BluTab);	
    CopperCoil = new CopperCoil(15003).setUnlocalizedName("coppercoil").setCreativeTab(BluTab);
    TinIngot = new TinIngot(15004).setUnlocalizedName("tiningot").setCreativeTab(BluTab);
    CopperIngot = new CopperIngot(15005).setUnlocalizedName("copperingot").setCreativeTab(BluTab);
    SilverIngot = new SilverIngot(15006).setUnlocalizedName("silveringot").setCreativeTab(BluTab);
    BrassIngot = new BrassIngot(15007).setUnlocalizedName("brassingot").setCreativeTab(BluTab);
    Nikolite = new Nikolite(15008).setUnlocalizedName("nikolite").setCreativeTab(BluTab);
    Battery = new Battery(15009).setUnlocalizedName("battery").setCreativeTab(BluTab);
    
    NetworkRegistry.instance().registerGuiHandler(this, guihandler);
    
    GameRegistry.registerTileEntity(TileEntitySolarPanel.class, "TileEntitySolarPanel");
    GameRegistry.registerTileEntity(TileEntityBluFurnace.class, "TileEntityBluFurnace");
    
    LanguageRegistry.instance().addStringLocalization("itemGroup.BluTab", "en_US", "Project Blu");
    LanguageRegistry.addName(BluFurnaceIdle, "Blulectric Furnace");
    LanguageRegistry.addName(BluFurnaceLit, "");
    LanguageRegistry.addName(BluAlloyFurnaceIdle, "Blulectric Alloy Furnace");
    LanguageRegistry.addName(BluAlloyFurnaceLit, "");
    LanguageRegistry.addName(BluMotor, "Blulectric Motor");
    LanguageRegistry.addName(BluSilicon, "Blue Doped Wafer");
    LanguageRegistry.addName(BluIngot, "Blue Alloy Ingot");
    LanguageRegistry.addName(CopperCoil, "Copper Coil");
    LanguageRegistry.addName(SolarPanel, "Solar Panel");
    LanguageRegistry.addName(Battery, "RT Battery");
    LanguageRegistry.addName(Nikolite, "Nikolite");
    LanguageRegistry.addName(CopperIngot, "Copper Ingot");
    LanguageRegistry.addName(TinIngot, "Tin Ingot");
    LanguageRegistry.addName(SilverIngot, "Silver Ingot");
    LanguageRegistry.addName(BrassIngot, "Brass Ingot");
    //LanguageRegistry.addName(BatteryBox, "Battery Box");
    //LanguageRegistry.addName(AlloyWire, "Blue Alloy Wire");
    //LanguageRegistry.addName(VoltMeter, "Voltmeter");
    //LanguageRegistry.addName(VoltageTransformer, "Voltage Transformer");
    //LanguageRegistry.addName(Thermopile, "ThermoPile");
    //LanguageRegistry.addName(ChargingBench, "Charging Bench");
    //LanguageRegistry.addName(kv_10_Wire, "10kV Wire");
    //LanguageRegistry.addName(MV_1_Wire, "1MV Wire");
    //LanguageRegistry.addName(BluJacketedWire, "Jacketed Bluewire");
    [b]	proxy.registerRenderers();
    [/b]	
    GameRegistry.registerBlock(BluFurnaceIdle, "Furnace.BluFurnaceIdle");
    GameRegistry.registerBlock(BluFurnaceLit, "Furnace.BluFurnaceLit");
    GameRegistry.registerBlock(BluAlloyFurnaceIdle, "Furnace.BluAlloyFurnaceIdle");
    GameRegistry.registerBlock(BluAlloyFurnaceLit, "Furnace.BluAlloyFurnaceLit");
    GameRegistry.registerBlock(SolarPanel, "Panel.SolarPanel");
    
    ItemStack coil = new ItemStack(CopperCoil);
    ItemStack iron = new ItemStack(Item.ingotIron);
    ItemStack bai = new ItemStack(BluIngot);
    ItemStack clay = new ItemStack(Block.blockClay);
    ItemStack brick = new ItemStack(Block.brick);
    ItemStack bdw = new ItemStack(BluSilicon);
    ItemStack cop = new ItemStack(CopperIngot);
    ItemStack tin = new ItemStack(TinIngot);
    ItemStack nik = new ItemStack(Nikolite);
    ItemStack wood = new ItemStack(Block.planks);
    ItemStack bat = new ItemStack(Battery);
    ItemStack obs = new ItemStack(Block.obsidian);
    ItemStack chest = new ItemStack(Block.chest);
    ItemStack wool = new ItemStack(Block.cloth);
    
    
    GameRegistry.addRecipe(new ItemStack (BluMotor), "ici", "ici", "ibi",
    		'i', iron, 'c', coil, 'b', bai);
    GameRegistry.addRecipe(new ItemStack (BluFurnaceIdle), "ccc", "c c", "ibi",
    		'i', iron, 'c', clay, 'b', bai);
    GameRegistry.addRecipe(new ItemStack (BluAlloyFurnaceIdle), "ccc", "c c", "ibi",
    		'i', iron, 'c', brick, 'b', bai);
    GameRegistry.addRecipe(new ItemStack (SolarPanel), "bbb", "bib", "bbb",
    		'i', bai, 'b', bdw);
    GameRegistry.addRecipe(new ItemStack (Battery), "ncn", "ntn", "ncn",
    		'n', nik, 'c', cop, 't', tin);
    /*GameRegistry.addRecipe(new ItemStack (AlloyWire), "wbw", "wbw", "wbw",
     		'w', wool, 'b', bai);				*/
    /*GameRegistry.addRecipe(new ItemStack (BatteryBox), "bwb", "bib", "iai",
     		'b', bat, 'w', wood, 'i', iron, 'a', bai);*/
    /*GameRegistry.addRecipe(new ItemStack (VoltMeter), "www", "wnw", "ccc",
    		'w', wood, 'n', nik, 'c', cop);	*/
    /*GameRegistry.addRecipe(new ItemStack (VoltageTransformer), "iii", "cic", "bib",
    		'i', iron, 'c', coil, 'b', bai); */
    /*GameRegistry.addRecipe(new ItemStack (Thermopile), "cic", "sbs", "cic",
    		'i', iron, 'c', cop, 's', bdw); */
    /*GameRegistry.addRecipe(new ItemStack (ChargingBench), "oco", "bdb", "pap",
     		'o', obs, 'c', coil, 'b', bat, 'd', chest, 'p', wood, 'a', bai); */
    /*GameRegistry.addRecipe(new ItemStack (BluJacketedWire), " b ", "sbs" " b "
     		's', stick, 'b', bai); */
    
    /*GameRegistry.addShapelessRecipe(new ItemStack(kv_10_Wire), new Object[]{
    	new ItemStack(Block.cloth), new ItemStack(AlloyWire)
    
    });*/
    
    
    
    }
    public static CreativeTabs BluTab = new CreativeTabs("BluTab")
    {
            public ItemStack getIconItemStack()
            {
                            return new ItemStack(BluFurnaceIdle, 1, 0);
            }
    };
    }
    
    
    

  10. ah ok, hum thsi is due to the fact that registerRenderers() in your client proxy and common proxy have slightly different name

     

    basicly at the begining of the clientproxy class you say

    extends CommonProxy

     

    this mean that you want everything in Commonproxy should ALSO be in Clientproxy, but since they have slightly different names. it calls the registerRend somethign in the common proxy, not the client one

    So I  should put the code from clientproxy > commonproxy

    or delete the extends commonproxy

  11. change the declaration of

    public CommonProxy proxy

    to

    public static CommonProxy proxy

     

    and then try to access registerRenderers() in a non-static way (proxy.registerRenderers())

    Did that in this way:

     

    package assets.blutricity.client;
    
    import assets.blutricity.common.CommonProxy;
    import assets.blutricity.common.TileEntitySolarPanel;
    import assets.blutricity.common.TileEntitySolarPanelRenderer;
    import net.minecraftforge.client.MinecraftForgeClient;
    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.client.registry.RenderingRegistry;
    
    public class ClientProxy extends CommonProxy
    {
    @Override
    public void registerRenderers()
    {
    	System.out.println("HELLOOOOOO");
    	ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySolarPanel.class, new TileEntitySolarPanelRenderer());
    
    }
    }
    

    Main class:

     

    package assets.blutricity.common;

     

    import assets.blutricity.client.ClientProxy;

    import net.minecraft.block.Block;

    import net.minecraft.block.material.Material;

    import net.minecraft.creativetab.CreativeTabs;

    import net.minecraft.item.Item;

    import net.minecraft.item.ItemStack;

    import cpw.mods.fml.client.registry.ClientRegistry;

    import cpw.mods.fml.common.Mod;

    import cpw.mods.fml.common.Mod.Init;

    import cpw.mods.fml.common.Mod.Instance;

    import cpw.mods.fml.common.Mod.PreInit;

    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.network.NetworkRegistry;

    import cpw.mods.fml.common.registry.GameRegistry;

    import cpw.mods.fml.common.registry.LanguageRegistry;

     

    @Mod(modid = Mainclass.modid, name = "Project: Blu", version = "1.0")

    @NetworkMod(clientSideRequired = true, serverSideRequired = false, channels = {"craftable_end_portal"})

    public class Mainclass

    {

    public static final String modid = "blutricity";

     

    public static Block BluFurnaceIdle;

    public static Block BluFurnaceLit;

    public static Block BluAlloyFurnaceIdle;

    public static Block BluAlloyFurnaceLit;

    public static Block SolarPanel;

     

    public static Block BatteryBox;

    public static Block AlloyWire;

    public static Block kv_10_Wire;

    public static Block MV_1_Wire;

    public static Block VoltageTransformer;

    public static Block Thermopile;

    public static Block ChargingBench;

     

    public static Item BluMotor;

    public static Item BluSilicon;

    public static Item BluIngot;

    public static Item CopperCoil;

        public static Item TinIngot;

        public static Item CopperIngot;

        public static Item BrassIngot;

        public static Item SilverIngot;

        public static Item Nikolite;

        public static Item Battery;

       

        public static Item VoltMeter;

     

     

    @SidedProxy(clientSide = "assets.blutricity.client.ClientProxy", serverSide = "assets.blutricity.common.CommonProxy")

    public static CommonProxy proxy;

    @Instance

    public static Mainclass instance = new Mainclass();

    private GuiHandler guihandler = new GuiHandler();

     

     

    @PreInit

    public void preInit(FMLPreInitializationEvent event)

    {

    //Blocks

    BluFurnaceIdle = new BluFurnace(1000, false).setHardness(5.0F).setUnlocalizedName("blufurnaceidle").setCreativeTab(BluTab);

    BluFurnaceLit = new BluFurnace(1001, true).setHardness(5.0F).setUnlocalizedName("blufurnacelit");

    BluAlloyFurnaceIdle = new BluAlloyFurnace(1002, false).setHardness(5.0F).setUnlocalizedName("bluealloyidle").setCreativeTab(BluTab);

    BluAlloyFurnaceLit = new BluAlloyFurnace(1003, true).setHardness(5.0F).setUnlocalizedName("blualloylit");

    SolarPanel = new SolarPanel(1004).setHardness(5.0F).setUnlocalizedName("solarpanel").setCreativeTab(BluTab);

    //BatteryBox = new BatteryBox(1005).setHardness(5.0F).setUnlocalizedName("batterybox").setCreativeTab(BluTab);

     

    //Items

    BluMotor = new BluMotor(15000).setUnlocalizedName("blumotor").setCreativeTab(BluTab);

    BluSilicon = new BluSilicon(15001).setUnlocalizedName("blusilicon").setCreativeTab(BluTab);

    BluIngot = new BluIngot(15002).setUnlocalizedName("bluingot").setCreativeTab(BluTab);

    CopperCoil = new CopperCoil(15003).setUnlocalizedName("coppercoil").setCreativeTab(BluTab);

    TinIngot = new TinIngot(15004).setUnlocalizedName("tiningot").setCreativeTab(BluTab);

    CopperIngot = new CopperIngot(15005).setUnlocalizedName("copperingot").setCreativeTab(BluTab);

    SilverIngot = new SilverIngot(15006).setUnlocalizedName("silveringot").setCreativeTab(BluTab);

    BrassIngot = new BrassIngot(15007).setUnlocalizedName("brassingot").setCreativeTab(BluTab);

    Nikolite = new Nikolite(15008).setUnlocalizedName("nikolite").setCreativeTab(BluTab);

    Battery = new Battery(15009).setUnlocalizedName("battery").setCreativeTab(BluTab);

     

    NetworkRegistry.instance().registerGuiHandler(this, guihandler);

     

    GameRegistry.registerTileEntity(TileEntitySolarPanel.class, "TileEntitySolarPanel");

    GameRegistry.registerTileEntity(TileEntityBluFurnace.class, "TileEntityBluFurnace");

     

    LanguageRegistry.instance().addStringLocalization("itemGroup.BluTab", "en_US", "Project Blu");

    LanguageRegistry.addName(BluFurnaceIdle, "Blulectric Furnace");

    LanguageRegistry.addName(BluFurnaceLit, "");

    LanguageRegistry.addName(BluAlloyFurnaceIdle, "Blulectric Alloy Furnace");

    LanguageRegistry.addName(BluAlloyFurnaceLit, "");

    LanguageRegistry.addName(BluMotor, "Blulectric Motor");

    LanguageRegistry.addName(BluSilicon, "Blue Doped Wafer");

    LanguageRegistry.addName(BluIngot, "Blue Alloy Ingot");

    LanguageRegistry.addName(CopperCoil, "Copper Coil");

    LanguageRegistry.addName(SolarPanel, "Solar Panel");

    LanguageRegistry.addName(Battery, "RT Battery");

    LanguageRegistry.addName(Nikolite, "Nikolite");

    LanguageRegistry.addName(CopperIngot, "Copper Ingot");

    LanguageRegistry.addName(TinIngot, "Tin Ingot");

    LanguageRegistry.addName(SilverIngot, "Silver Ingot");

    LanguageRegistry.addName(BrassIngot, "Brass Ingot");

    //LanguageRegistry.addName(BatteryBox, "Battery Box");

    //LanguageRegistry.addName(AlloyWire, "Blue Alloy Wire");

    //LanguageRegistry.addName(VoltMeter, "Voltmeter");

    //LanguageRegistry.addName(VoltageTransformer, "Voltage Transformer");

    //LanguageRegistry.addName(Thermopile, "ThermoPile");

    //LanguageRegistry.addName(ChargingBench, "Charging Bench");

    //LanguageRegistry.addName(kv_10_Wire, "10kV Wire");

    //LanguageRegistry.addName(MV_1_Wire, "1MV Wire");

    //LanguageRegistry.addName(BluJacketedWire, "Jacketed Bluewire");

    proxy.registerRenderers();

     

    GameRegistry.registerBlock(BluFurnaceIdle, "Furnace.BluFurnaceIdle");

    GameRegistry.registerBlock(BluFurnaceLit, "Furnace.BluFurnaceLit");

    GameRegistry.registerBlock(BluAlloyFurnaceIdle, "Furnace.BluAlloyFurnaceIdle");

    GameRegistry.registerBlock(BluAlloyFurnaceLit, "Furnace.BluAlloyFurnaceLit");

    GameRegistry.registerBlock(SolarPanel, "Panel.SolarPanel");

     

    ItemStack coil = new ItemStack(CopperCoil);

    ItemStack iron = new ItemStack(Item.ingotIron);

    ItemStack bai = new ItemStack(BluIngot);

    ItemStack clay = new ItemStack(Block.blockClay);

    ItemStack brick = new ItemStack(Block.brick);

    ItemStack bdw = new ItemStack(BluSilicon);

    ItemStack cop = new ItemStack(CopperIngot);

    ItemStack tin = new ItemStack(TinIngot);

    ItemStack nik = new ItemStack(Nikolite);

    ItemStack wood = new ItemStack(Block.planks);

    ItemStack bat = new ItemStack(Battery);

    ItemStack obs = new ItemStack(Block.obsidian);

    ItemStack chest = new ItemStack(Block.chest);

    ItemStack wool = new ItemStack(Block.cloth);

     

     

    GameRegistry.addRecipe(new ItemStack (BluMotor), "ici", "ici", "ibi",

    'i', iron, 'c', coil, 'b', bai);

    GameRegistry.addRecipe(new ItemStack (BluFurnaceIdle), "ccc", "c c", "ibi",

    'i', iron, 'c', clay, 'b', bai);

    GameRegistry.addRecipe(new ItemStack (BluAlloyFurnaceIdle), "ccc", "c c", "ibi",

    'i', iron, 'c', brick, 'b', bai);

    GameRegistry.addRecipe(new ItemStack (SolarPanel), "bbb", "bib", "bbb",

    'i', bai, 'b', bdw);

    GameRegistry.addRecipe(new ItemStack (Battery), "ncn", "ntn", "ncn",

    'n', nik, 'c', cop, 't', tin);

    /*GameRegistry.addRecipe(new ItemStack (AlloyWire), "wbw", "wbw", "wbw",

    'w', wool, 'b', bai); */

    /*GameRegistry.addRecipe(new ItemStack (BatteryBox), "bwb", "bib", "iai",

    'b', bat, 'w', wood, 'i', iron, 'a', bai);*/

    /*GameRegistry.addRecipe(new ItemStack (VoltMeter), "www", "wnw", "ccc",

    'w', wood, 'n', nik, 'c', cop); */

    /*GameRegistry.addRecipe(new ItemStack (VoltageTransformer), "iii", "cic", "bib",

    'i', iron, 'c', coil, 'b', bai); */

    /*GameRegistry.addRecipe(new ItemStack (Thermopile), "cic", "sbs", "cic",

    'i', iron, 'c', cop, 's', bdw); */

    /*GameRegistry.addRecipe(new ItemStack (ChargingBench), "oco", "bdb", "pap",

    'o', obs, 'c', coil, 'b', bat, 'd', chest, 'p', wood, 'a', bai); */

    /*GameRegistry.addRecipe(new ItemStack (BluJacketedWire), " b ", "sbs" " b "

    's', stick, 'b', bai); */

     

    /*GameRegistry.addShapelessRecipe(new ItemStack(kv_10_Wire), new Object[]{

    new ItemStack(Block.cloth), new ItemStack(AlloyWire)

     

    });*/

     

     

     

    }

    public static CreativeTabs BluTab = new CreativeTabs("BluTab")

    {

            public ItemStack getIconItemStack()

            {

                            return new ItemStack(BluFurnaceIdle, 1, 0);

            }

    };

    }

     

     

     

     

    And it still doesn't render :(

    And in the console it still says the System.out.println("text");

  12. 1 with the debugging 101 skill you just got, you could have checked if you could println in your render method

    2 if you check at the error logs it says that

     

    Attempted to load a proxy type assets.blutricity.client.ClientProxy into assets.blutricity.common.Mainclass.proxy, but the field is not static

     

    Used the debugging 101 skill in the TileEntitySolarPanelRenderer, but there was no line. So that means that the problem is in there. But I can't figure out what the problem is :(

  13. ok this is going to be a long post, im assuming you dont know exactly what an object is because static and object go togheter

     

    ill be using this class during this lesson:

     

    public class SimpleClass{
    public static int staticInt = 0;
    public int memberInt = 0;
    
    public void memberDoSomething(){
    	memberInt++;
    	System.out.println("memberInt: "+memberInt);
    }
    
    public void memberDoSomethingStatic(){
    	staticInt++;
    	System.out.println("staticInt: "+staticInt);
    }
    
    public void staticDoSomething(){
    	staticInt++;
    	System.out.println("staticInt: "+staticInt);
    }
    }

     

    so basicly an object is an instance (or representation ) of a class during a certain state

     

    whenever you do "new Somethign();" you are creating an object of type "Something"  (minecraft example: new Item(), new Block(), new TileEntity() etc)

     

    class are kinda like template for object, basicly if i create above multiple object of type SimpleClass

    SimpleClass c1 = new SimpleClass();
    SimpleClass c2 = new SimpleClass();
    

    i have create twice the same object from the same Class so technicly they should be the same

    EXCEPT when you alter their state

     

    like this:

    c1.memberInt = 2;
    

     

    after executing this line, c1.memberInt is 2 and c2.memberInt is 0;

    why? because they are 2 different object, their state are independant when it comes to MEMBER variables and method

    now theres also something called staticInt... lets change it for fun

     

    c1.staticInt = 4;
    

     

    after executing this line, BOTH c2.staticInt and c1.staticInt will be equal to 4, STATIC mean that its the same for every object of that class

     

    now heres the catch

     

    you can call static method and variable from a member context BUT NOT THE OTHER WAY AROUND

    calling c1.staticInt  is using staticInt (a static variable ) from c1 (an object) basibly if you're using an object you're using it in the context of this particular object

     

    to call something from a STATIC context, you usually call the EXACT class name

    SimpleClass.staticDoSomething();
    

     

    this line above is valid.  when you use the exact class name you are saying "hey btw im using a static context here" and staticDoSomething is ALSO static so it works

     

    if we were executing all the code so far it would print "staticInt: 5" and staticInt would be equal to 5

     

    now you CANNOT call member code from a static context

     

    the lack of the keyword static in from of memberDoSomething() means that

    SimpleClass.memberDoSomething();
    

     

    is absolutelly invalid

     

    heres why:

     

    by calling SimpleClass. wtv  you're saying that theres is no object that you want to take the values from (no c1, no c2 or any other isntance)  so basicly calling SimpleClass.memberInt does not make any sens because in a static context memberInt does not even exists. suppose you created 1000 000 SimpleClass (by doing new SimpleClass()). which memberInt are you refering to?

     

    so if i link this to your minecraft problem, calling:

    ClientProxy.registerRenderers();
    

     

    does not make ANY sens because you dont specificly tell the program from which object this NON-STATIC method should be called from

     

    basciyl what you should be doing is something like this:

    //somewhere in your code in the declaration of item, block, and other
    public CommonProxy proxy;
    
    //inside your init/load/preinit method
    proxy.registerRenderers();
    

     

    now before you ask i KNOW that in your code you NEVER do

    proxy = new ClientProxy();
    

     

    thats because forge does this for you behing your back (sneaky bastard i know)

    Okay, so I did that. And it gave me this console error:

     

    jul 24, 2013 11:57:10 AM net.minecraft.launchwrapper.LogWrapper log

    INFO: Using tweak class name cpw.mods.fml.common.launcher.FMLTweaker

    2013-07-24 11:57:10 [iNFO] [ForgeModLoader] Forge Mod Loader version 6.2.19.789 for Minecraft 1.6.2 loading

    2013-07-24 11:57:10 [iNFO] [ForgeModLoader] Java is Java HotSpot 64-Bit Server VM, version 1.7.0_21, running on Windows 8:amd64:6.2, installed at C:\Program Files\Java\jdk1.7.0_21\jre

    2013-07-24 11:57:10 [iNFO] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation

    2013-07-24 11:57:10 [iNFO] [sTDOUT] Loaded 39 rules from AccessTransformer config file fml_at.cfg

    2013-07-24 11:57:10 [iNFO] [sTDOUT] Loaded 107 rules from AccessTransformer config file forge_at.cfg

    2013-07-24 11:57:11 [sEVERE] [ForgeModLoader] The binary patch set is missing. Things are probably about to go very wrong.

    2013-07-24 11:57:11 [iNFO] [ForgeModLoader] Launching wrapped minecraft

    2013-07-24 11:57:12 [iNFO] [Minecraft-Client] Setting user: Player500

    2013-07-24 11:57:12 [iNFO] [Minecraft-Client] (Session ID is null)

    2013-07-24 11:57:13 [iNFO] [Minecraft-Client] LWJGL Version: 2.9.0

    2013-07-24 11:57:13 [iNFO] [Minecraft-Client] Reloading ResourceManager: Default

    2013-07-24 11:57:13 [iNFO] [sTDOUT]

    2013-07-24 11:57:13 [iNFO] [sTDOUT] Starting up SoundSystem...

    2013-07-24 11:57:14 [iNFO] [MinecraftForge] Attempting early MinecraftForge initialization

    2013-07-24 11:57:14 [iNFO] [sTDOUT] MinecraftForge v9.10.0.789 Initialized

    2013-07-24 11:57:14 [iNFO] [ForgeModLoader] MinecraftForge v9.10.0.789 Initialized

    2013-07-24 11:57:14 [iNFO] [sTDOUT] Initializing LWJGL OpenAL

    2013-07-24 11:57:14 [iNFO] [sTDOUT]    (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

    2013-07-24 11:57:14 [iNFO] [sTDOUT] Replaced 101 ore recipies

    2013-07-24 11:57:14 [iNFO] [MinecraftForge] Completed early MinecraftForge initialization

    2013-07-24 11:57:14 [iNFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\config\logging.properties

    2013-07-24 11:57:14 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL

    2013-07-24 11:57:14 [iNFO] [ForgeModLoader] Searching C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\mods for mods

    2013-07-24 11:57:14 [iNFO] [sTDOUT] OpenAL initialized.

    2013-07-24 11:57:14 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load

    2013-07-24 11:57:16 [iNFO] [mcp] Activating mod mcp

    2013-07-24 11:57:16 [iNFO] [FML] Activating mod FML

    2013-07-24 11:57:16 [iNFO] [Forge] Activating mod Forge

    2013-07-24 11:57:16 [iNFO] [blutricity] Activating mod blutricity

    2013-07-24 11:57:16 [iNFO] [ForgeModLoader] Registering Forge Packet Handler

    2013-07-24 11:57:16 [iNFO] [ForgeModLoader] Succeeded registering Forge Packet Handler

    2013-07-24 11:57:16 [WARNING] [ForgeModLoader] The mod id blutricity attempted to register channels without specifying a packet handler

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader] Attempted to load a proxy type assets.blutricity.client.ClientProxy into assets.blutricity.common.Mainclass.instance, but the types don't match

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader] An error occured trying to load a proxy into {clientSide=assets.blutricity.client.ClientProxy, serverSide=assets.blutricity.common.CommonProxy}.assets.blutricity.common.Mainclass

    cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:68)

    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    at net.minecraft.client.main.Main.main(Main.java:93)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from CONSTRUCTING to PREINITIALIZATION. Loading cannot continue

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader]

    mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed

    FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed

    Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed

    blutricity{1.0} [Project Blu] (bin) Unloaded->Errored

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader] The following problems were captured during this phase

    2013-07-24 11:57:16 [sEVERE] [ForgeModLoader] Caught exception from blutricity

    cpw.mods.fml.common.LoaderException: cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:75)

    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    at net.minecraft.client.main.Main.main(Main.java:93)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    Caused by: cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:68)

    ... 33 more

    2013-07-24 11:57:16 [iNFO] [sTDOUT] ---- Minecraft Crash Report ----

    2013-07-24 11:57:16 [iNFO] [sTDOUT] // On the bright side, I bought you a teddy bear!

    2013-07-24 11:57:16 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Time: 24-7-13 11:57

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Description: There was a severe problem during mod loading that has caused the game to fail

    2013-07-24 11:57:16 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [sTDOUT] cpw.mods.fml.common.LoaderException: cpw.mods.fml.common.LoaderException

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:75)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Caused by: cpw.mods.fml.common.LoaderException

    2013-07-24 11:57:16 [iNFO] [sTDOUT] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:68)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] ... 33 more

    2013-07-24 11:57:16 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:

    2013-07-24 11:57:16 [iNFO] [sTDOUT] ---------------------------------------------------------------------------------------

    2013-07-24 11:57:16 [iNFO] [sTDOUT]

    2013-07-24 11:57:16 [iNFO] [sTDOUT] -- System Details --

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Details:

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Minecraft Version: 1.6.2

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Operating System: Windows 8 (amd64) version 6.2

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Java Version: 1.7.0_21, Oracle Corporation

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Memory: 826943712 bytes (788 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

    2013-07-24 11:57:16 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

    2013-07-24 11:57:16 [iNFO] [sTDOUT] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed

    2013-07-24 11:57:16 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

    2013-07-24 11:57:16 [iNFO] [sTDOUT] FML: MCP v8.04 FML v6.2.19.789 Minecraft Forge 9.10.0.789 4 mods loaded, 4 mods active

    2013-07-24 11:57:16 [iNFO] [sTDOUT] mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed

    2013-07-24 11:57:16 [iNFO] [sTDOUT] FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed

    2013-07-24 11:57:16 [iNFO] [sTDOUT] Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed

    2013-07-24 11:57:16 [iNFO] [sTDOUT] blutricity{1.0} [Project Blu] (bin) Unloaded->Errored

    2013-07-24 11:57:16 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\.\crash-reports\crash-2013-07-24_11.57.16-client.txt

    AL lib: (EE) alc_cleanup: 1 device not closed

     

     

    Then I tried moving it into:

    @SidedProxy(clientSide = "assets.blutricity.client.ClientProxy", serverSide = "assets.blutricity.common.CommonProxy")
    public CommonProxy proxy;

    Which gave me (I believe) the exact same error:

     

    jul 24, 2013 11:57:53 AM net.minecraft.launchwrapper.LogWrapper log

    INFO: Using tweak class name cpw.mods.fml.common.launcher.FMLTweaker

    2013-07-24 11:57:53 [iNFO] [ForgeModLoader] Forge Mod Loader version 6.2.19.789 for Minecraft 1.6.2 loading

    2013-07-24 11:57:53 [iNFO] [ForgeModLoader] Java is Java HotSpot 64-Bit Server VM, version 1.7.0_21, running on Windows 8:amd64:6.2, installed at C:\Program Files\Java\jdk1.7.0_21\jre

    2013-07-24 11:57:53 [iNFO] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation

    2013-07-24 11:57:53 [iNFO] [sTDOUT] Loaded 39 rules from AccessTransformer config file fml_at.cfg

    2013-07-24 11:57:53 [iNFO] [sTDOUT] Loaded 107 rules from AccessTransformer config file forge_at.cfg

    2013-07-24 11:57:54 [sEVERE] [ForgeModLoader] The binary patch set is missing. Things are probably about to go very wrong.

    2013-07-24 11:57:54 [iNFO] [ForgeModLoader] Launching wrapped minecraft

    2013-07-24 11:57:55 [iNFO] [Minecraft-Client] Setting user: Player328

    2013-07-24 11:57:55 [iNFO] [Minecraft-Client] (Session ID is null)

    2013-07-24 11:57:56 [iNFO] [Minecraft-Client] LWJGL Version: 2.9.0

    2013-07-24 11:57:56 [iNFO] [Minecraft-Client] Reloading ResourceManager: Default

    2013-07-24 11:57:56 [iNFO] [sTDOUT]

    2013-07-24 11:57:56 [iNFO] [sTDOUT] Starting up SoundSystem...

    2013-07-24 11:57:57 [iNFO] [MinecraftForge] Attempting early MinecraftForge initialization

    2013-07-24 11:57:57 [iNFO] [sTDOUT] Initializing LWJGL OpenAL

    2013-07-24 11:57:57 [iNFO] [sTDOUT]    (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

    2013-07-24 11:57:57 [iNFO] [sTDOUT] MinecraftForge v9.10.0.789 Initialized

    2013-07-24 11:57:57 [iNFO] [ForgeModLoader] MinecraftForge v9.10.0.789 Initialized

    2013-07-24 11:57:57 [iNFO] [sTDOUT] Replaced 101 ore recipies

    2013-07-24 11:57:57 [iNFO] [MinecraftForge] Completed early MinecraftForge initialization

    2013-07-24 11:57:57 [iNFO] [ForgeModLoader] Reading custom logging properties from C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\config\logging.properties

    2013-07-24 11:57:57 [OFF] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL

    2013-07-24 11:57:57 [iNFO] [sTDOUT] OpenAL initialized.

    2013-07-24 11:57:57 [iNFO] [ForgeModLoader] Searching C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\mods for mods

    2013-07-24 11:57:57 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load

    2013-07-24 11:57:59 [iNFO] [mcp] Activating mod mcp

    2013-07-24 11:57:59 [iNFO] [FML] Activating mod FML

    2013-07-24 11:57:59 [iNFO] [Forge] Activating mod Forge

    2013-07-24 11:57:59 [iNFO] [blutricity] Activating mod blutricity

    2013-07-24 11:57:59 [iNFO] [ForgeModLoader] Registering Forge Packet Handler

    2013-07-24 11:57:59 [iNFO] [ForgeModLoader] Succeeded registering Forge Packet Handler

    2013-07-24 11:57:59 [WARNING] [ForgeModLoader] The mod id blutricity attempted to register channels without specifying a packet handler

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader] Attempted to load a proxy type assets.blutricity.client.ClientProxy into assets.blutricity.common.Mainclass.proxy, but the field is not static

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader] An error occured trying to load a proxy into {clientSide=assets.blutricity.client.ClientProxy, serverSide=assets.blutricity.common.CommonProxy}.assets.blutricity.common.Mainclass

    cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:63)

    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    at net.minecraft.client.main.Main.main(Main.java:93)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader] Fatal errors were detected during the transition from CONSTRUCTING to PREINITIALIZATION. Loading cannot continue

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader]

    mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed

    FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed

    Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed

    blutricity{1.0} [Project Blu] (bin) Unloaded->Errored

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader] The following problems were captured during this phase

    2013-07-24 11:57:59 [sEVERE] [ForgeModLoader] Caught exception from blutricity

    cpw.mods.fml.common.LoaderException: cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:75)

    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    at net.minecraft.client.main.Main.main(Main.java:93)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    Caused by: cpw.mods.fml.common.LoaderException

    at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:63)

    ... 33 more

    2013-07-24 11:57:59 [iNFO] [sTDOUT] ---- Minecraft Crash Report ----

    2013-07-24 11:57:59 [iNFO] [sTDOUT] // Oh - I know what I did wrong!

    2013-07-24 11:57:59 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Time: 24-7-13 11:57

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Description: There was a severe problem during mod loading that has caused the game to fail

    2013-07-24 11:57:59 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [sTDOUT] cpw.mods.fml.common.LoaderException: cpw.mods.fml.common.LoaderException

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:75)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:519)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:193)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:173)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at com.google.common.eventbus.EventBus.post(EventBus.java:267)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:104)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.Loader.loadMods(Loader.java:510)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:172)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.startGame(Minecraft.java:470)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:796)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at net.minecraft.client.main.Main.main(Main.java:93)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at java.lang.reflect.Method.invoke(Method.java:601)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Caused by: cpw.mods.fml.common.LoaderException

    2013-07-24 11:57:59 [iNFO] [sTDOUT] at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:63)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] ... 33 more

    2013-07-24 11:57:59 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [sTDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:

    2013-07-24 11:57:59 [iNFO] [sTDOUT] ---------------------------------------------------------------------------------------

    2013-07-24 11:57:59 [iNFO] [sTDOUT]

    2013-07-24 11:57:59 [iNFO] [sTDOUT] -- System Details --

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Details:

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Minecraft Version: 1.6.2

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Operating System: Windows 8 (amd64) version 6.2

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Java Version: 1.7.0_21, Oracle Corporation

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Memory: 826948112 bytes (788 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

    2013-07-24 11:57:59 [iNFO] [sTDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

    2013-07-24 11:57:59 [iNFO] [sTDOUT] AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Suspicious classes: FML and Forge are installed

    2013-07-24 11:57:59 [iNFO] [sTDOUT] IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

    2013-07-24 11:57:59 [iNFO] [sTDOUT] FML: MCP v8.04 FML v6.2.19.789 Minecraft Forge 9.10.0.789 4 mods loaded, 4 mods active

    2013-07-24 11:57:59 [iNFO] [sTDOUT] mcp{8.04} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed

    2013-07-24 11:57:59 [iNFO] [sTDOUT] FML{6.2.19.789} [Forge Mod Loader] (coremods) Unloaded->Constructed

    2013-07-24 11:57:59 [iNFO] [sTDOUT] Forge{9.10.0.789} [Minecraft Forge] (coremods) Unloaded->Constructed

    2013-07-24 11:57:59 [iNFO] [sTDOUT] blutricity{1.0} [Project Blu] (bin) Unloaded->Errored

    2013-07-24 11:57:59 [iNFO] [sTDOUT] #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Dennis\Downloads\Minecraft\Mod\1.6\Redpower\forge\mcp\jars\.\crash-reports\crash-2013-07-24_11.57.59-client.txt

    AL lib: (EE) alc_cleanup: 1 device not closed

     

     

    Then I tried making it static, which didn't give me an error BUT it did give me the System.out.println(line) in the console.

    So I checked in-game, but the model still didn't render.

    So there must be something wrong with the model, right?

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.