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
 
Ca marche plus d'erreurs mais quand je lance la version test de minecraft il ne me met pas le message comme quoi mon mode a était chargé et j'ai tout de même essayé de crafter ma machette mais rien oO j'ai du faire une fausse manipulation.
 
Y'a moyen que ce soit juste la majuscule au nom de la classe, ModLoader ne prend que celles qui commencent par "mod_" ! Pas très conventionnel mais y'a pas le choix ^^
 
ah ok ! Merci beaucoup en plus je me suis planté dans mon massage plus haut un ami n'a pas encore la version officiel de MINECRAFT (et non pas windows 7 :s) et il pourra lancer des modes ?
 
bon c'est bon j'ai réglé un peu tout mais j'ai un crash tout à fait bizarre :


java.lang.StringIndexOutOfBoundsException: String index out of range: 5
at java.lang.String.charAt(String.java:686)
at net.minecraft.src.CraftingManager.addRecipe(CraftingManager.java:261)
at net.minecraft.src.ModLoader.AddRecipe(ModLoader.java:437)
at net.minecraft.src.mod_Machette.<init>(mod_Machette.java:7)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at net.minecraft.src.ModLoader.addMod(ModLoader.java:224)
at net.minecraft.src.ModLoader.readFromClassPath(ModLoader.java:1202)
at net.minecraft.src.ModLoader.init(ModLoader.java:794)
at net.minecraft.src.ModLoader.AddAllRenderers(ModLoader.java:121)
at net.minecraft.src.RenderManager.<init>(RenderManager.java:65)
at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:158)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:138)
at net.minecraft.client.Minecraft.run(Minecraft.java:435)
at java.lang.Thread.run(Thread.java:662)
--- END ERROR REPORT 8079e5e9 ----------

oO