Besoin d'aide ! Pour nouvelle Item

  • Auteur de la discussion Auteur de la discussion AJ-GeN
  • Date de début Date de début

AJ-GeN

Aventurier
4 Juillet 2011
69
0
0
Bonsoir, je fais mon premier modes et j'ai une erreure donc voici ce que j'ai fait pour obtenir une machette :

Dans le Mod_Machette.java :

package net.minecraft.src;
public class Mod_Machette extends BaseMod
{
public Mod_Machette()
{
Machette = (new ItemMachette(700)).setIconIndex(ModLoader.addOverride("/gui/items.png", "Machette.png")).setItemName("Machette");
ModLoader.AddRecipe(new ItemStack(Machette, 1), new Object[]
{" #", "#", "#X",Character.valueOf('#'), Item.ingotIron, Character.valueOf('X'), Item.stick});
ModLoader.AddName(Machette, "Machette");
}
public String Version()
{
return "1.7.2";
}
public static Item Machette;
}

Et dans le ItemsMachette.java :


package net.minecraft.src;


// Referenced classes of package net.minecraft.src:
// Item, EnumToolMaterial, Block, ItemStack,
// EntityLiving, Entity

public class ItemMachette extends Item
{

public ItemMachette(int i, EnumToolMaterial enumtoolmaterial)
{
super(i);
maxStackSize = 1;
setMaxDamage(enumtoolmaterial.getMaxUses());
weaponDamage = 3 + enumtoolmaterial.getDamageVsEntity() * 2;
}

public float getStrVsBlock(ItemStack itemstack, Block block)
{
return block.blockID != Block.web.blockID ? 1.5F : 15F;
}

public boolean hitEntity(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1)
{
itemstack.damageItem(1, entityliving1);
return true;
}

public boolean onBlockDestroyed(ItemStack itemstack, int i, int j, int k, int l, EntityLiving entityliving)
{
itemstack.damageItem(2, entityliving);
return true;
}

public int getDamageVsEntity(Entity entity)
{
return weaponDamage;
}

public boolean isFull3D()
{
return true;
}

public boolean canHarvestBlock(Block block)
{
return block.blockID == Block.web.blockID;
}

private int weaponDamage;
}

Voilà et maintenant l'erreur :

src\minecraft\net\minecraft\src\Mod_Machette.java:6: Cannot Find symbol: constructor ItemMachette <int>
location : class net.minecraft.src.ItemMachette
Machette = (new ItemMachette(700)).setIconIndex(ModLoader.addOverride("/gui/items.png", "Machette.png")).setItemName("Machette");
^

Impossible de m'aider ?

J'ai regardé 2 tutos et ils avaient du contenue un peut différent donc je sui un peu perdu :s
 
mod_Machette.java

Code:
package net.minecraft.src;
public class mod_Machette extends BaseMod
{
public mod_Machette()
{
Machette = (new ItemMachette(700, EnumToolMaterial.IRON).setIconIndex(ModLoader.addOverride("/gui/items.png", "/Machette.png")).setItemName("Machette"));
ModLoader.AddRecipe(new ItemStack(Machette, 1), new Object[]
{" #", "#", "#X",Character.valueOf('#'), Item.ingotIron, Character.valueOf('X'), Item.stick});
ModLoader.AddName(Machette, "Machette");
}
public String Version()
{
return "1.7.2";
}
public static Item Machette;
}

ItemMachette.java :

Code:
package net.minecraft.src;


// Referenced classes of package net.minecraft.src:
//            Item, EnumToolMaterial, Block, ItemStack, 
//            EntityLiving, Entity

public class ItemMachette extends Item
{

    public ItemMachette(int i, EnumToolMaterial enumtoolmaterial)
    {
        super(i);
        maxStackSize = 1;
        setMaxDamage(enumtoolmaterial.getMaxUses());
        weaponDamage = 3 + enumtoolmaterial.getDamageVsEntity() * 2;
    }

    public float getStrVsBlock(ItemStack itemstack, Block block)
    {
        return block.blockID != Block.web.blockID ? 1.5F : 15F;
    }

    public boolean hitEntity(ItemStack itemstack, EntityLiving entityliving, EntityLiving entityliving1)
    {
        itemstack.damageItem(1, entityliving1);
        return true;
    }

    public boolean onBlockDestroyed(ItemStack itemstack, int i, int j, int k, int l, EntityLiving entityliving)
    {
        itemstack.damageItem(2, entityliving);
        return true;
    }

    public int getDamageVsEntity(Entity entity)
    {
        return weaponDamage;
    }

    public boolean isFull3D()
    {
        return true;
    }

    public boolean canHarvestBlock(Block block)
    {
        return block.blockID == Block.web.blockID;
    }

    private int weaponDamage;
}
Voilà désolé je ne savais pas pour les balises [ code ] :s

fail :s
 
Juste pour savoir, à la condition ternaire

Code:
return block.blockID != Block.web.blockID ? 1.5F : 15F;

Quel est le bloc "web" ?


Désolé, je n suis pas sur mon ordinateur donc je n'ai pas les codes sources devant moi, mais as-tu recopié un le fichier ? Si oui, lequel ?




essaye, dans ta recette, de mettre

" #", " # ", "#X",

et non pas

" #", "#", "#X",


Je ne sais pas si ça va changer quelque chose, mais tu n'a mis qu'un seul caractère au lieu de trois et apparement il y a un problème au niveau de tes fonctions ModLoader.