MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Attendre une animation

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    11 Messages 3 Publieurs 2.6k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • loustakL Hors-ligne
      loustak
      dernière édition par 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 réponse Dernière réponse Répondre Citer 0
      • ÜberfapÜ Hors-ligne
        Überfap
        dernière édition par

        @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 réponse Dernière réponse Répondre Citer 0
        • loustakL Hors-ligne
          loustak
          dernière édition par

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

          1 réponse Dernière réponse Répondre Citer 0
          • ÜberfapÜ Hors-ligne
            Überfap
            dernière édition par

            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 réponse Dernière réponse Répondre Citer 0
            • loustakL Hors-ligne
              loustak
              dernière édition par

              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 réponse Dernière réponse Répondre Citer 0
              • ÜberfapÜ Hors-ligne
                Überfap
                dernière édition par

                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 réponse Dernière réponse Répondre Citer 0
                • loustakL Hors-ligne
                  loustak
                  dernière édition par

                  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 réponse Dernière réponse Répondre Citer 0
                  • ÜberfapÜ Hors-ligne
                    Überfap
                    dernière édition par

                    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 réponse Dernière réponse Répondre Citer 1
                    • loustakL Hors-ligne
                      loustak
                      dernière édition par

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

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        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 réponse Dernière réponse Répondre Citer 1
                        • loustakL Hors-ligne
                          loustak
                          dernière édition par

                          Merci beaucoup ça fonctionne correctement maintenant 🙂

                          1 réponse Dernière réponse Répondre Citer 0
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB