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.
    • 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