Aides et trois Questions
-
Donne le code de l’item
avant essaye sa dans le craft
GameRegistry.addRecipe(new ItemStack(ItemMod.swordEnchante, 1), new Object[] { "XSX", "XSX", "XFX", Character.valueOf('F'), ItemsMod.fire_ingot, Character.valueOf('S'), new ItemStack(ItemMod.stick_iron)}); -
@‘amigo127’:
Donne le code de l’item
avant essaye sa dans le craft
GameRegistry.addRecipe(new ItemStack(ItemMod.swordEnchante, 1), new Object[] { "XSX", "XSX", "XFX", Character.valueOf('F'), ItemsMod.fire_ingot, Character.valueOf('S'), new ItemStack(ItemMod.stick_iron)});l’item marche très bien car avant que je créer l’item stack sa marchais
-
envoi tes sources via médiafire
-
@‘amigo127’:
envoi tes sources via médiafire
Mes sources ? Ta ce qui te faut là
Envoyé de mon 6039Y en utilisant Tapatalk
-
Tu crées un stack que tu enchantes, mais le problème est que tu utilises un autre stack dans le GameRegistry, il faut que tu prenne le même. Et ça crash ? Enléves les \ devant les ".
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
@‘AymericRed’:
Tu crées un stack que tu enchantes, mais le problème est que tu utilises un autre stack dans le GameRegistry, il faut que tu prenne le même. Et ça crash ? Enléves les \ devant les ".
Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
J’utilise le même et les \ sont des () dans mon code alors où est le problème ?
Envoyé de mon 6039Y en utilisant Tapatalk
-
Non tu fais new ItemStack à chaque fois.
Et pourquoi t’a des () autour de tes lettres pour le craft ?Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk
-
alors j’ai pas suivie le sujet mais moi de mon coté j’ai fais sa
public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5) { super.onUpdate(stack, world, entity, par4, par5); if (stack.isItemEnchanted() == false) { stack.addEnchantment(enderdeath.StarsPower, 1); super.onUpdate(stack, world, entity, par4, par5); } }elle vérifie si l’item est enchant et si l’item est pas enchant il l’enchant
Edit:faut méttre sa dans la classe de l’item -
Ou sinon avec un event déclenché lors du craft (je sais plus son nom), je pense que c’est plus propre.
-
A la limite, tu pourrais procéder avec cet event :
@SubscribeEvent public void onItemCrafted(PlayerEvent.ItemCraftedEvent e) { if(e.crafting != null && e.crafting.getItem().equals(Items.wooden_sword))//Change par ton item { e.crafting.addEnchantment(Enchantment.fireAspect, 5); } }A enregistrer sur le bus FML, mais l’enchantement n’apparaîtra qu’au moment où tu as sélectionné ton item crafté.
-
@‘AymericRed’:
Ou sinon avec un event déclenché lors du craft (je sais plus son nom), je pense que c’est plus propre.
Oui c’est plus propre que le code que j’ai fait il va faire plus lag que l’évent
-
@‘Plaigon’:
A la limite, tu pourrais procéder avec cet event :
@SubscribeEvent public void onItemCrafted(PlayerEvent.ItemCraftedEvent e) { if(e.crafting != null && e.crafting.getItem().equals(Items.wooden_sword))//Change par ton item { e.crafting.addEnchantment(Enchantment.fireAspect, 5); } }A enregistrer sur le bus FML, mais l’enchantement n’apparaîtra qu’au moment où tu as sélectionné ton item crafté.
C’est où le bus FML (peut-être évident pour vs mais pas pour moi…)
Envoyé de mon 6039Y en utilisant Tapatalk
-
FMLCommonHandler.instance.bus()
-
@‘purplewarrior65’:
(peut-être évident pour vs mais pas pour moi…)
Lol, j’aime bien la remarque suivi des trois petits points xD
Tkt t’y arriveras une fois que tu accumuleras suffisamment d’expérience autant en doc forge, qu’en java
En gros chaque event a besoin d’être enregistré. Tu regardes le package de l’import de l’event si il contient un début comme cpw.fm.blabla, c’est qu’il doit être enregistré dans la méthode init de ta Main class avec la méthode suivante : [font=monospaceFMLCommonHandler][font=monospace.][font=monospaceinstance]font=monospace.[font=monospacebus]font=monospace.[font=monospaceregister][font=monospace(][font=monospacenew] [font=monospaceClasseAvecTousVosEvent]font=monospace);
Sinon si l’import de l’event contient un minecraftforge dedans, c’est à enregistrer avec l’autre bus. Donc avec une méthode qui ressemble à ça :
[font=monospaceMinecraftForge][font=monospace.][font=monospaceEVENT_BUS][font=monospace.][font=monospaceregister][font=monospace(][font=monospacenew] [font=monospaceClasseAvecTousVosEvent]font=monospace);[font=ArialVoilli voilou pour l’explication ^^. Si tu ne comprends toujours pas, regarde ce tuto sur les events en 1.7x]
-
@‘SCAREX’:
FMLCommonHandler.instance.bus()
Euuuh désolé je comprend pas trop c’est dans quelle package et quelle class?svp
Envoyé de mon 6039Y en utilisant Tapatalk
-
Plaigon t’as indirectement donné la réponse :
@‘Plaigon’:Voilli voilou pour l’explication ^^. Si tu ne comprends toujours pas, regarde ce tuto sur les events en 1.7x
-
C’est vrai, j’ai fait les deux : explication et réponse.
Après je pense qu’il comprendra …
Les events, c’est loin d’être compliqué :3 et puis ça serait pas mal que ce sujet ne s’étende pas non plus sur 4 pages x) -
@‘Plaigon’:
C’est vrai, j’ai fait les deux : explication et réponse.
Après je pense qu’il comprendra …
Les events, c’est loin d’être compliqué :3 et puis ça serait pas mal que ce sujet ne s’étende pas non plus sur 4 pages x)J’ai compris où le mettre mais le code avec l’évent je le met dans les parenthèses de TousMesEvents ou dans les { après ? (Oui j’explique mal XD)
Envoyé de mon 6039Y en utilisant Tapatalk
-
STP ! C’est logique, t’as une classe d’event à enregistrer, tu ajoutes ton event dans cet classe et puis point ! Au pire relis le tuto, car là on s’en sortira pas sinon

-
[Résolut] ?