Un item mangeable !
-
Oui là tout est bon. Mais après je te conseille d’utiliser la manière du tuto pour enregistrer tes items, tu te mélangeras moins ^^
-
Bonjour,
J’ai créé un itemFood à l’aide des metadatas, j’ai donc douze objets sur une seule ID.
Mes douze items sont bien sur mon serveur et je peux les manger sans soucis.J’ai juste un problème avec les metadatas : je souhaite donc avoir les arguments de la méthode** ([font=monospacefaimCombl][font=monospaceé][font=monospacee][font=monospace,] [font=monospaceSaturation][font=monospace,] **[font=monospaceNourritureDesLoups) différents pour chaque metadatas de cet item : ]
[color=#000000Fruits ]= new Fruits(faimComblée, Saturation, NourritureDesLoups).setUnlocalizedName(“fruit”)
[color=#666600J’ai une classe “Fruit” avec les codes pour les metadatas et j’aimerai faire quelque chose dans le genre : ]
[color=#666600Pour mon item: avec metadata alors, je donne faimCombl]ée = 4, [color=#000000Saturation = 4, NourritureDesLoups = false; ensuite]
pour mon item: avec metadata 2 alors, je donne [color=#000000faimCombl]ée = 6, [color=#000000Saturation = 3, NourritureDesLoups = true; etc… etc … etc …]
[color=#000000pour m]on item: avec metadata 3 alors, je donne [color=#000000faimCombl]ée = 6, [color=#000000Saturation = 3, NourritureDesLoups = true;]Si besoin je peux vous donner mes classes.
Je suis novice sur Java, mais j’ai déjà utilisé d’autres langages.Merci, pour l’aide.
-
Salut,
Pour la nourriture pour les loups ça ne va pas être possible comme la méthode isWolfsFavoriteMeat() n’a ni le metadata ni l’item stack en argument.
Donc il te faut au moins deux classes.Pour la fin et la saturation il y a ces deux fonctions dans la classe ItemFood :
public int func_150905_g(ItemStack stack) { return this.healAmount; } public float func_150906_h(ItemStack stack) { return this.saturationModifier; }
Donc tu as juste à les outrepasser dans ta classe en changeant la valeur en fonction du metadata :
public int func_150905_g(ItemStack stack) { switch(stack.getItemDamage()) { case 0: return 4; case 1: return 6; // etc default : return 0; } } public float func_150906_h(ItemStack stack) { switch(stack.getItemDamage()) { case 0: return 4; case 1: return 3; // etc default : return 0; } }
-
@‘robin4002’:
Salut,
Pour la nourriture pour les loups ça ne va pas être possible comme la méthode isWolfsFavoriteMeat() n’a ni le metadata ni l’item stack en argument.
Donc il te faut au moins deux classes.Pour la fin et la saturation ….
Merci pour cette réponse très rapide. Je l’ai testé hier soir elle marche très bien pour moi.
j’espère que ma question et ta réponse sera utile si quelqu’un a le même problème que moiEncore merci.
-
Sinon via l’event EntityInteractEvent, il peut également check le metadata, donc faire en sorte de n’utiliser qu’une seule classe.
-
Bien le bonjour,
J’ai créer dans mon petit mod une salade de légume mais le problème c’est qu’il faut un bol pour le crafter, et quand on le mange, le bol DISPARAÎT A TOUT JAMAIS dans le pitit estomac du joueur -_-'…
Alors j’aimeras savoir : Est-il possible de faire en sorte que quand mange la délicieuse salade, le bol reviens dans la barre d’inventaire du joueur ?Voilà…
J’espère recevoir une réponse rapidement…
Au revoir :-3
-
Salut, tu peux t’inspirer du code contenu dans la délicieuse classe ItemSoup !
-
this.setItemContainer(Items.bowl); dans le constructeur de ton bloc.
-
MERCIIIIIIIIIIIIIIIIIIIIII :-3 :-3 :-3 beaucoup !!!
-
Pourquoi toujours filer la réponse
Est-ce à cause de la version, hmm ? -
Parce que j’avais la réponse de tête.
Mais c’est vrai que j’aurai plutôt dû le laisser chercher.