• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Attendre une animation

    1.7.x
    1.7.2
    3
    11
    2241
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • loustak
      loustak last edited by robin4002

      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 🙂

      1 Reply Last reply Reply Quote 0
      • Überfap
        Überfap last edited by

        @Override
        public int getMaxItemUseDuration(ItemStack stack) {
        return 72000;
        }
        

        Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
        Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

        1 Reply Last reply Reply Quote 0
        • loustak
          loustak last edited by

          Merci mais je doit le mettre ou exactement par apport à mon code ?
          J’ai essayer plusieurs endroit sans succès…

          1 Reply Last reply Reply Quote 0
          • Überfap
            Überfap last edited by

            Tu le mets dans la classe de l’objet (Dans miningPotion.java)

            Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
            Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

            1 Reply Last reply Reply Quote 0
            • loustak
              loustak last edited by

              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 ?

              1 Reply Last reply Reply Quote 0
              • Überfap
                Überfap last edited by

                Ok attends


                Trouvé !

                
                player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
                
                

                En gros ta classe doit ressembler à ça : http://pastebin.com/ApCqkR0j

                Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                1 Reply Last reply Reply Quote 0
                • loustak
                  loustak last edited by

                  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 🙂

                  1 Reply Last reply Reply Quote 0
                  • Überfap
                    Überfap last edited by

                    Ah après j’en ait aucune idée, inspire toi du code du seau de lait par exemple 😉

                    Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                    Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

                    1 Reply Last reply Reply Quote 1
                    • loustak
                      loustak last edited by

                      Je ne trouve pas vraiment 😢
                      Si quelqu’un sait je laisse le sujet ouvert…

                      1 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                        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;
                        }
                        
                        1 Reply Last reply Reply Quote 1
                        • loustak
                          loustak last edited by

                          Merci beaucoup ça fonctionne correctement maintenant 🙂

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Design by Woryk
                          Contact / Mentions Légales

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB