MFF

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

    Mettre une durablliliter a un item

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    20 Messages 6 Publieurs 2.5k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Salut,
      Il faut utiliser les metadata.
      Je t’invites à regarder le code des outils.

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

        comment sa les metadata et sa ce trouve ou les code des outils c’est ca non ? (15, new int[]{2, 6, 5, 2}, 9),

        et du coup mon code juste avant faut que je le change entierement ou pas ?

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

          Dans ta methode “onRightClickItem” tu remplaces le tout par ça :

          
          if (stack == TaClassPrincipale.tonItemEnQuestion)
          {
               stack.damageItem(1, player);
          [size=small   player.addPotionEffect(new PotionEffect(1, 100, 6));]
          [size=small   if (!player.capabilities.isCreativeMode)]
          [size=small   {]
          [size=small      –stack.stackSize;]
          [font=Monaco, Consolas, Courier, monospace   }]
          }
          
          

          et comme ça quand tu feras un click droit cela va lui décrémenter de 1 sa durabilité quand tu fait click droit.
          Et puis aussi ajoute “@Override” juste au dessus de ta methode “onRightClickItem”.

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

            comme sa ?

            public class StickSpeed extends Item
            {
            
               public StickSpeed(Item stickSpeed)
               {
                       this.setMaxDamage(16);
               }
            
               @Override
            
               public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                 {
                  player.addPotionEffect(new PotionEffect(1, 4, 6));
                  if (stack == ItemMod.StickSpeed)
                  {
                       stack.damageItem(1, player);
                     player.addPotionEffect(new PotionEffect(1, 100, 6));
                     if (!player.capabilities.isCreativeMode)
                     {
                        –stack.stackSize;
                     }
                  }
              return stack;
              }
            }
            

            sauf que sa me souligne stack == itemMod.stickspeed

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

              if (stack.getItem() == ItemMod.StickSpeed)

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

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

                package com.mod.olicraft.items;
                
                import com.mod.olicraft.init.ItemMod;
                
                import net.minecraft.entity.player.EntityPlayer;
                import net.minecraft.item.Item;
                import net.minecraft.item.ItemStack;
                import net.minecraft.potion.PotionEffect;
                import net.minecraft.world.World;
                
                public class StickSpeed extends Item
                {
                
                   public StickSpeed(Item stickSpeed)
                   {
                           this.setMaxDamage(16);
                   }
                
                   @Override
                
                   public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                     {
                       if (stack.getItem() == ItemMod.StickSpeed)
                       {
                            stack.damageItem(1, player);
                          player.addPotionEffect(new PotionEffect(1, 100, 6));
                          if (!player.capabilities.isCreativeMode)
                          {
                             –stack.stackSize;
                          }
                       }
                       return stack;
                      }
                }
                

                marche toujours pas sa consomme l’item

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

                  
                  if (!player.capabilities.isCreativeMode) // en gros tu check si le jouer est tout sauf en creative
                  {
                     –stack.stackSize // ici du decremente le stack ! c'est un peut normal que cela ne fonctionne pas --'
                  }
                  

                  (Je pensais que tu en avait besoin donc je l’avais laisser dans le code)
                  retire la condition et ça fonctionnera

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

                    merci 😄

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

                      y’aurais pas un moyen que sa ne puisent pas ce stacker et qu’il faut un temps genre 6 sec avant de reclicker ?

                      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

                        Dans le constructeur, en dessous de :
                                   this.setMaxDamage(16);
                        Il faut ajouter :
                        this.maxStackSize = 1;

                        Pour le cooldown il y a déjà plusieurs demandes d’aides sur le forum où la solution a été donnée.

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

                          Apprends au passage à te servir des NBTTagCompound concernant un itemstack. C’est impératif si tu ne souhaites pas que chacun de tes différentes instances d’items sur ta maps, aient la même valeur du cooldown. Pour ceci, il y a également beaucoup de demandes sur le post., y compris une que j’avais posté il y a pas mal de temps…Tu la retrouveras en regardant mon profil, je pense 😃

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

                            plaigon je compend pas trop le //code je met mon code de mon item qui est dans la class de mon item ?

                            public class ItemTestCoolDown extends Item
                            
                            {
                            protected int cooldown = 0;
                            protected int twentyMin = 24000; //20 minutes d'attente avant chaques utilisations 24000 = ticks minecraft
                            
                            public ItemTestCoolDown()
                            {
                            super();
                            this.setCreativeTab(BOTICore.blocks);
                            }
                            
                            @Override
                            public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean par5)
                            {
                            cooldown = cooldown + 1;
                            if(cooldown == twentyMin)
                            {
                            ((EntityPlayer) entity).addChatMessage((new ChatComponentText(EnumChatFormatting.GREEN + "You can use it now !")));
                            }
                            
                            }
                            
                            @Override
                            public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
                            
                            if(!par2World.isRemote)
                            {
                            //CODE ICI
                            cooldown = 0;
                            }
                            return par1ItemStack;
                            }
                            
                            1 réponse Dernière réponse Répondre Citer 0
                            • DeletedD Hors-ligne
                              Deleted
                              dernière édition par

                              https://www.minecraftforgefrance.fr/showthread.php?tid=2574
                              Sa devrait t’aider 😉

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

                                pas trop en faite je sait pas de quoi maider avec 😕

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

                                  Dans ce cas regarde les autres items vanilla qui se servent des tags, j’sais pas ….C’est pas compliqué, surtout que t’as aussi celui là en + (https://www.minecraftforgefrance.fr/showthread.php?tid=1782) et que je te parle même pas de TOUTES LES DIZAINES d’autres déjà présents et accessibles en 1 seule recherche --’ Sa te permettraitde trouver réponse à toutes tes questions …
                                  Fais un peu un effort, on sera pas toujours là pour te donner du code tout bien fait et tout bien expliqué, hein !

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

                                    ses bon pour le timer, 
                                    j’ai crée un item qui regen (4 coeur) quand on clique mais je voudrais que par exemple si j’ai 9 coeur  sa me mettent les coeur en + en absorption qui ne disparaisent que si je perd de la vie voici mon code

                                    package com.mod.olicraft.items;
                                    
                                    import com.mod.olicraft.init.ItemMod;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.item.Item;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.potion.PotionEffect;
                                    import net.minecraft.world.World;
                                    
                                    public class HealStick extends Item
                                    {
                                    
                                       public HealStick(Item stickSpeed)
                                       {
                                               this.setMaxDamage(32);
                                               this.maxStackSize = 1;
                                       }
                                    
                                       @Override
                                    
                                       public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                                         {
                                           if (stack.getItem() == ItemMod.HealStick)
                                           {
                                                stack.damageItem(1, player);
                                               player.heal(8);
                                              if (!player.capabilities.isCreativeMode)
                                              {
                                    
                                              }
                                           }
                                           return stack;
                                          }
                                    
                                    }
                                    
                                    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

                                      public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                                      {
                                      if(stack.getItem() == ItemMod.HealStick)
                                      {
                                      stack.damageItem(1, player);
                                      float absorbtion = player.getHealth() + 8.0F - 20.0F;
                                      player.heal(8.0F);
                                      if(absorbtion > 0.0F)
                                      {
                                      player.setAbsorptionAmount(absorbtion);
                                      }
                                      }
                                      return stack;
                                      }
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • E Hors-ligne
                                        Ertale
                                        dernière édition par

                                        merci 😄 comment on fait pour mettre le sujet en résolu ?

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

                                          Tu vas sur ton premier post, tu fais Editer et ensuite tu peux changer les balises.

                                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

                                          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