Un item mangeable
-
Très bon tutoriel, ça marche à merveille
J’aimerais savoir comment faire pour pouvoir manger l’item sans que notre barre de faim sois descendu, comme pour les pommes d’or par exemple (j’ai chercher et j’ai pas trouver :/) merci de vos réponses ! 
-
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; }Je crois que c’est ça.
-
Merci pour la réponse robin, ça marche nickel ! Un tuto sur les générations bientôt ?

-
@‘robin4002’:
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; }Je crois que c’est ça.
Y’a un autre code laaaaaargement plus simple, si je le retrouve x)
-
Impossible pour moi de mettre le setpotion effect…
Suis-je le seul à avoir se problème ? -
Quel erreur eclipse te donne ?
-
@‘robin4002’:
Quel erreur eclipse te donne ?
Aucune erreur, mais quand je créé mon item ainsi : ```java
StrangeCupcake = new ItemStrangeCupcake(6047, 7, 1, false).setUnlocalizedName(“StrangeCupcake”).setTextureName(“landcast:strangecupcake”).setCreativeTab(CreativeTabs.tabFood).setPotionEffect(Potion.confusion.id, 30, 0, 1.0F);Il me souligne le .setpotioneffect en disant qu'il n'existe pas… -
Pourtant cette fonction existe bien dans ItemFood, vérifie que ItemStrangeCupcake est extends ItemFood
-
Le set potion effect est aussi buggé chez moi, j’utilise un autre code plus simple (onEaten ou un autre truc dans le genre)
-
@‘robin4002’:
Pourtant cette fonction existe bien dans ItemFood, vérifie que ItemStrangeCupcake est extends ItemFood
Vérifié, il est bien en extends ItemFood…
-
C’est un problème de syntaxe. La fonction se trouve dans ItemFood, donc il le détecte pas. Il faut faire comme ça :
TutorialEgg = (new ItemTutorialEgg(TutorialEggID, 5, 4.5F, false)).setPotionEffect(Potion.regeneration.id, 5, 1, 1.0F).setUnlocalizedName("TutorialEgg").setTextureName("modtutoriel:ChocolateEgg");Attention, la fonction setPotionEffect doit être avant les fonctions qui sont dans Item.java (donc de préférence juste après la parenthèse.
@‘utybo’:
@‘robin4002’:
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); return stack; }Je crois que c’est ça.
Y’a un autre code laaaaaargement plus simple, si je le retrouve x)
En effet, .setAlwaysEdible() je viens de voir ça avec la pomme d’or :
TutorialEgg = (new ItemTutorialEgg(TutorialEggID, 5, 4.5F, false)).setAlwaysEdible().setPotionEffect(Potion.regeneration.id, 5, 1, 1.0F).setUnlocalizedName("TutorialEgg").setTextureName("modtutoriel:ChocolateEgg");Je corrige le tutoriel, sinon d’autres vont rester bloqué :/.
-
Merci beaucoup !
-
Moi, j’aimerais savoir comment on fait pour ajoutez plus d’une effet. Parexemple, mettre regen,haste et heal en même temps…
Cordialement, infectiion21
-
Problème réglé via skype. Il faut passer la méthode onFoodEat, vous pouvez la récuperer dans la classe ItemFood.
-
bonjour, j ai suivi le tuto mais j ai un problème quand je mange une pomme qui est stackée a plusieurs dans ma main, au lieu d’avoir une pomme en moins il y en a deux?? Pourtant j ai bien fait comme expliqué plus haut … j ai aussi rajoutée le onFoodEat pour mettre plusieurs effets de potion… merci d avance !
-
Étrange ça, tu peux envoyer ton code ?
-
voila ce que j ai dans la classe de mon item
public class DiamApple extends ItemFood{ public DiamApple(int id, int foodAmount, float saturation, boolean isWolfFood) { super(id, foodAmount, saturation, isWolfFood); } protected void onFoodEaten(ItemStack stack, World world, EntityPlayer player) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 3600, 3)); player.addPotionEffect(new PotionEffect(Potion.digSpeed.id, 3600, 3)); player.addPotionEffect(new PotionEffect(5, 3600, 3)); player.addPotionEffect(new PotionEffect(6, 3600, 3)); player.addPotionEffect(new PotionEffect(8, 3600, 3)); player.addPotionEffect(new PotionEffect(10, 3600, 3)); player.addPotionEffect(new PotionEffect(12, 3600, 3)); player.addPotionEffect(new PotionEffect(21, 3600, 3)); } }dans la classe principal je ne fais que l’instancier…
DiamApple = new DiamApple(16668, 20, 10F, false).setAlwaysEdible().setCreativeTab(NightmareCreativeTabs).setUnlocalizedName("DiamApple").setTextureName("nightmaremod:DiamApple"); GameRegistry.registerItem(DiamApple, "DiamApple", NightmareMod.MODID); -
Je viens de tester ton code, les items se mange bien un par un, donc je ne vois pas d’où peut venir ton problème

ÉDIT : ça le fait juste avec cette item ou tous ? Si avec tous, as-tu modifié la classe ItemFood de minecraft ? -
@‘elmimille6’:
DiamApple = new DiamApple([…] NightmareMod.MODID);Hors Sujet : ON
Sa va faire mal au dans ça, comme pour les pommes en “or” :dodgy: LoL
Hors Sujet : OFF
-
Je viens de tester et cela me fais pareil avec les pommes d’or vanilla mais pas avec les patates…. J ai supposé que le problème venait donc du .isAlwaysEdible(), j ai testé avec l autre moyen donné mais même problème … et non je n ai pas modifié le ItemFood ^^