Créer un item simple
-
Ah mince j’ai pas vu cette erreur, sorry. Va falloir corriger ça.
Effectivement, cette méthode est plus claire, je vais modifier ça demain, là je suis sur mon téléphone et ce n’est pas pratique.
Je ne sais pas ce qui est le plus optimisé, et d’ailleurs cette méthode était aussi correcte en 1.8.X.
Et oui, il y a peu de tutos sur les versions récentes, je vais essayer de mettre à jour ce que je peux ^^ mais il va me falloir du temps :3Je corrige tout demain, j’ai peur de faire une bêtise avec mon téléphone.
Et merci pour ton commentaire, c’est cool de se savoir aidé, parce que j’avoue avoir la pression du rédacteur débutant, je doute beaucoup de ce que j’écris :3
ÉDIT : Normalement j’ai corrigé la faute avec le registerItem, c’est bon ? Je poste l’optimisation demain, parce que c’est vraiment pas possible sur ce téléphone xD
-
Attention
A partir de la 1.11.2 le onItemRightClick à changer
Pas de grand chose mais maintenant il faut faire@Override public ActionResult <itemstack>onItemRightClick(World world, EntityPlayer player, EnumHand hand) { if(!world.isRemote){ System.out.println("bonjour " + player.getName()); return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(this)); } else{ return new ActionResult(EnumActionResult.FAIL, new ItemStack(this)); } } ```</itemstack> -
Effectivement, et je dirais même que cela date de la 1.9, et ne retourne pas new ItemStack(this), mais le stack donné en paramètres de la fonction :
@Override public ActionResult <itemstack>onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand) { return new ActionResult<itemstack>(EnumActionResult.SUCCESS, itemStack); }Pour ce qui est du json des item il me semble que mettre item/generated en parent suffit, pas besoin de remettre le positionnement dans le gui</itemstack></itemstack>
-
Si je fais ce code eclipse me dit que la fonction n’existe pas, je suis allez vérifier sur github mais il font à ma façon
-
Effectivement, ce que j’avais donné était la fcontion 1.9, en 1.11 faut renvoyer ça :
public ActionResult <itemstack>onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn)); } ```</itemstack> -
Ahem va falloir modifier ça. Pas de soucis, je le ferais quand j’aurais le temps, en ce moment je peux pas trop ^^’
-
J’ai mis à jour le tutoriel, c’est bon comme ça ?

-
Attention c’est seulement à partir de la 1.11.2 xD
-
Je crois que tu as oublier de parler du code à mettre dans le Common Proxy sans lui le Client Proxy ne fonctionne pas

-
Bonjour est-il possible d’utiliser la même classe Item (nommer ItemTutorial dans le tuto) pour plusieurs items ?
Si oui comment faire ? -
Bonjour,
Il me semble que oui, c’est possible. Cependant, je ne garantis rien, je ne l’ai moi-même jamais expérimenté.
Quant à comment le faire, il suffit d’utiliser les métadonnées, pour ce faire nous avons à disposition ce tutoriel : https://www.minecraftforgefrance.fr/showthread.php?tid=4383 qui explique comment créer des blocs avec des métadonnées… l’adapter pour les items devrait être faisable.
Cependant, il ne faut pas oublier que les items avec metadonnées auront les mêmes attributs, leur seule différence sera leur texture. Vous pourrez bien entendu gérer la classe de l’item pour ajouter d’autres différences, mais si vos deux objets ne sont pas identiques, je ne vois pas l’intérêt d’utiliser deux fois la même classe.Je tiens également à préciser un autre point : les métadonnées sont utilisées par Minecraft sur les objets pour plusieurs choses : la boussole utilise les métadonnées pour afficher la bonne direction et les outils utilisent les métadonnées pour enregistrer la durabilité restante de l’objet.
Voici donc mon ultime conseil :
N’utilisez les métadonnées sur un objet que pour changer la texture de cet objet et non en créer un second.
Pour en créer un second, il vous suffit juste de créer une nouvelle classe et si vous souhaitez créer un item ressemblant à un item déjà existant (ou que vous avez déjà créé), l’héritage existe pour cela. Je ne recommande donc pas l’utilisation de métadonnées pour créer deux items.Pour finir, j’ajouterais que ce que je dis n’est que pure spéculation, je ne suis absolument pas certain de ce que j’avance, je ne l’ai jamais testé et je suis incapable de garantir que cette méthode fonctionnera.
-
Alors oui on peut passer par les metadata, et pas seulement pour la texture vu qu’on peut aussi modifier le nom et certains comportements.
Mais je crois qu’il voulait dire genre ```java
public static Item item1 = new ItemTutorial();
public static Item item2 = new ItemTutorial();Et là on utilise la même classe pour deux items, ce qui est totalement possible, à moins que les items aient des effets spécifiques, dans ce cas il vaut mieux avoir plusieurs classes. Je précise que par contre qu'il faudra modifier le "NAME" dans "TutorialItems.setItemName(this, NAME)" dans le constructeur de l'item, en mettant par exemple le NAME en paramètre du constructeur. -
Ah, effectivement. J’avais pas pensé à ce point de vue. My bad, again.
-
@‘AymericRed’:
Alors oui on peut passer par les metadata, et pas seulement pour la texture vu qu’on peut aussi modifier le nom et certains comportements.
Mais je crois qu’il voulait dire genre ```java
public static Item item1 = new ItemTutorial();
public static Item item2 = new ItemTutorial();Et là on utilise la même classe pour deux items, ce qui est totalement possible, à moins que les items aient des effets spécifiques, dans ce cas il vaut mieux avoir plusieurs classes. Je précise que par contre qu'il faudra modifier le "NAME" dans "TutorialItems.setItemName(this, NAME)" dans le constructeur de l'item, en mettant par exemple le NAME en paramètre du constructeur.merci pour ta réponse ! Juste comment puis-je fare pour mettre name en paramètre du constructeur ?
-
Dans le constructeur de litem, tu mets “String NAME” entre les parenthèses, dans ta classe principale tu auras des erreurs, tu mets “Add arguments to match …” et tu mets entre guillemets le nom de l’item.
-
Il manque un détail très important, tu as oublié de dire où doit aller le Json du modèle.
-
Le json doit aller dans le dossier assets/modid/models/items
-
bonjour je suis novice dans le developpement de mod et je ne comprend pas comment creer un deuxieme item qui utilise la meme classe item serai t’il possible d’avoir un tuto ecris ou des explication qui me permettrai de parvenir a mais fin ?
-
Bonjour,
Il te suffit de faire strictement la même manœuvre que pour ton premier item.
Sur quoi bloques-tu ? As tu des questions sur une partie de ton code, si oui, envoie-le nous qu’on puisse mieux t’éclaircir
-
@‘Plaigon’:
Bonjour,
Il te suffit de faire strictement la même manœuvre que pour ton premier item.
Sur quoi bloques-tu ? As tu des questions sur une partie de ton code, si oui, envoie-le nous qu’on puisse mieux t’éclaircir
en faite j’ai reussi a cree le premier item mais je voudrai recree un item dans la meme classe
voici ma classe item
