Résolu Attendre une animation
-
Bonjour,
j’essaye de rajouter des potions à minecraft mais pour que ça fasse "plus vrai’ j’ai voulu rajouter l’animation de lorsque l’on boit une potion ce qui me donne dans la classe de ma potion :public class miningPotion extends Item { public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.drink; } public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.addPotionEffect(new PotionEffect(3, 1200, 2)); if (!player.capabilities.isCreativeMode) { –stack.stackSize; } return stack; } }
Le problème c’est que en jeux il n’y a pas l’animation la potion se consomme directement je voit à qui est due le problème mais comment le régler ? Merci
-
@Override public int getMaxItemUseDuration(ItemStack stack) { return 72000; }
-
Merci mais je doit le mettre ou exactement par apport à mon code ?
J’ai essayer plusieurs endroit sans succès… -
Tu le mets dans la classe de l’objet (Dans miningPotion.java)
-
J’ai essayer ça :
package com.gmail.loustak347.common; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; import net.minecraft.item.Item; public class miningPotion extends Item { @Override public int getMaxItemUseDuration(ItemStack stack) { return 72000; } public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.drink; } public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.addPotionEffect(new PotionEffect(3, 1200, 2)); if (!player.capabilities.isCreativeMode) { –stack.stackSize; } return stack; } }
Mais il ne se passe toujours rien ?
-
Ok attends
Trouvé !
player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
En gros ta classe doit ressembler à ça : http://pastebin.com/ApCqkR0j
-
Alors j’ai essayer déjà il ma souligne ‘getMaxItemUsageDuration’ que j’ai remplacé par ‘getMaxItemUseDuration’ sauf que ça na rien changé ? Merci encore de ton aide
-
Ah après j’en ait aucune idée, inspire toi du code du seau de lait par exemple
-
Je ne trouve pas vraiment
Si quelqu’un sait je laisse le sujet ouvert… -
72000 c’est trop, regarde la nourriture.
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); // va faire utiliser l'item return stack; } public EnumAction getItemUseAction(ItemStack p_77661_1_) { return EnumAction.drink; } public int getMaxItemUseDuration(ItemStack stack) { return 32; // durée total } public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) // une fois l'item mangé { player.addPotionEffect(new PotionEffect(3, 1200, 2)); // on applique l'effet if (!player.capabilities.isCreativeMode) { –stack.stackSize; } return stack; }
-
Merci beaucoup ça fonctionne correctement maintenant