Résolu Crafts fonctionnel uniquement avec objets givé
-
Recherche effectuées : Forums divers, google, MinecraftForgeFrance
Bonjour, j’ai créer un petit mod pour un serveur, mais il y a 3 crafts qui ne marche que si l’on se give les objets pour le crafter, mais je n’ai aucune erreur dans mon code, et je ne trouve aucune solution à ce problème. Voici les codes de mes crafts :
//craft GameRegistry.addRecipe(new ItemStack(notchapple), "xyx", "yzy", "xyx", 'x', Block.blockDiamond, 'y', Block.blockEmerald, 'z', Item.appleRed); GameRegistry.addRecipe(new ItemStack(thewaraxe), "xyz", " y ", " y ", 'x', waraxepartyright, 'y', Item.stick, 'z', waraxepartyleft); GameRegistry.addRecipe(new ItemStack(waraxepartyright), "xy ", "xy ", "xy ", 'x', Item.blazeRod, 'y', crystal); GameRegistry.addRecipe(new ItemStack(waraxepartyleft), " yx", " yx", " yx", 'x', Item.ingotIron, 'y', crystal); GameRegistry.addRecipe(new ItemStack(saphirblock), "xxx", "xxx", "xxx", //celui-ci 'x', saphir); GameRegistry.addRecipe(new ItemStack(rubyblock), "xxx", "xxx", "xxx", //celui-ci 'x', ruby); GameRegistry.addRecipe(new ItemStack(healstaff), "xyx", " z ", " w ", //et celui ci 'x', ruby, 'y', Item.emerald, 'z', saphir, 'w', Item.ingotIron); GameRegistry.addRecipe(new ItemStack(ModThePvP.saphir, 1, BlockColored.getDyeFromBlock(4)), new Object[] {"X#X", "#X#", "X#X", '#', new ItemStack(ModThePvP.crystal), 'X', new ItemStack(Item.dyePowder, 1, 4)}); GameRegistry.addRecipe(new ItemStack(ModThePvP.ruby, 1, BlockColored.getDyeFromBlock(1)), new Object[] {"X#X", "#X#", "X#X", '#', new ItemStack(ModThePvP.crystal), 'X', new ItemStack(Item.dyePowder, 1, 1)});
Si quelqu’un aurait une solution pour me sauver je suis preneur car la franchement je comprend pas.
Cordialement, Glopeur.
-
Quels sont les craft qui cause problème ?
-
oups j’ai oublié de les mettre en évidence je corrige tout de suite
EDIT : j’ai modifié
-
visiblement tous tes blocs/items utilisant l’item saphir et l’item ruby ne fonctionne pas, or ça fonctionne bien quand ils sont givés.
Je pense qu’ils n’ont pas le bon metadata quand tu le reçoit en survie, je suppose qu’ils sont dropé par un minerai ?
Si oui, je peux avoir la classe du minerai ? -
excusez moi du retard de ma réponse :
en fait ils sont uniquement crafttable, car j’ai mis énormément de temps pour réussir a créer une génération de minerais ( même avec tuto ) donc j’ai préféré mettre en craft pour me facilité la tache
EDIT : je n’utilise pas de metadata___
J’ai résolu le problème.je ne savais pas comment on utilisais des poudres différentes pour les crafts alors j’ai pris un craft qui contenait une poudre et je l’ai transformé comme ceci :
GameRegistry.addRecipe(new ItemStack(ModThePvP.saphir, 1, BlockColored.getDyeFromBlock(0)), new Object[] {"X#X", "#X#", "X#X", '#', new ItemStack(ModThePvP.crystal), 'X', new ItemStack(Item.dyePowder, 1, 4)});
Mais j’ai modifié le craft en le passant à cette forme :
GameRegistry.addRecipe(new ItemStack(ruby), "xyx", "yxy", "xyx", 'y', crystal, 'x', new ItemStack(Item.dyePowder, 1, 1));
et maintenant plus aucun soucis
Merci de m’avoir aidé.
Cordialement, Glopeur.[/java]
-
Je peux avoir le code qui ajoute le craft à ces deux items ?
-
j’avais utilisé cette forme
GameRegistry.addRecipe(new ItemStack(ModThePvP.saphir, 1, BlockColored.getDyeFromBlock(0)), new Object[] {"X#X", "#X#", "X#X", '#', new ItemStack(ModThePvP.crystal), 'X', new ItemStack(Item.dyePowder, 1, 4)});
-
Remplace par
GameRegistry.addRecipe(new ItemStack(ModThePvP.saphir), new Object[] {“X#X”, “#X#”, “X#X”, ‘#’, new ItemStack(ModThePvP.crystal), ‘X’, new ItemStack(Item.dyePowder, 1, 4)});
Avec l’autre code tu créais un metadata, ça c’est qui causait problème.Petit rappel :
new ItemStack(bloc ou item, quantité, metatadata)