• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Mettre une durablliliter a un item

    1.7.x
    1.7.10
    6
    20
    2388
    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
      Ertale dernière édition par

      [font=Ubuntu, sans-serifBonjour,]
      [font=Ubuntu, sans-serifj’ai crée un item que quand le joueur fait clique droit sa lui donne un effet de potion mais je voudrais qu’il ne disparaisent pas et qu’il perdent de la dura ]
      [font=Ubuntu, sans-serifvoici mon code]

      public class StickSpeed extends Item
      {
      
         public StickSpeed(Item stickSpeed)
         {
                 this.setMaxDamage(160);
         }
      
         public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
           {
            player.addPotionEffect(new PotionEffect(1, 100, 6));
                if (!player.capabilities.isCreativeMode)
                {
                    –stack.stackSize;
                }
        return stack;
        }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        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
          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
          • SpyMan
            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
              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
              • SCAREX
                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
                  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
                  • SpyMan
                    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
                      Ertale dernière édition par

                      merci 😄

                      1 réponse Dernière réponse Répondre Citer 0
                      • E
                        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
                        • robin4002
                          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
                          • Deleted
                            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
                              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
                              • Deleted
                                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
                                  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
                                  • Deleted
                                    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
                                      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
                                      • robin4002
                                        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
                                          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
                                          • AymericRed
                                            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
                                            Contact / Mentions Légales

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB