MFF

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

    Supprimer un item de l'inv en 1.7

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    7 Messages 2 Publieurs 493 Vues 2 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.
    • D Hors-ligne
      Drastic
      dernière édition par

      Bonjour, comment faire pr supprimer un item (pour echanger un item dans mon cas il faut en give puis suppr l’ancien)?
      Merci

      package com.extremium.mod.tools;
      
      import com.extremium.mod.init.ItemMod;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Items;
      import net.minecraft.item.ItemStack;
      import net.minecraft.item.ItemSword;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.world.World;
      
      public class SwordDark extends ItemSword
      {
      
          public SwordDark(ToolMaterial p_i45356_1_)
          {
              super(p_i45356_1_);
          }
         
          
          
          public ItemStack onItemRightClick(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer player)
          {
              
              if(player.isSneaking())
              {
                  
              
              if (p_77654_1_.stackSize <= 0)
              {
                  return new ItemStack(Items.glass_bottle);
              }
      
              player.inventory.addItemStackToInventory(new ItemStack(Items.glass_bottle));
              return p_77654_1_;
              
              if(player.inventory.hasItemStack(new ItemStack(ItemMod.dark_sword)))
                  
              {
                  int count = 0;
                  for(int i = 0; i < player.inventory.getSizeInventory(); i++)
                  {
                         if(player.inventory.getStackInSlot(i) != null && player.inventory.getStackInSlot(i).getItem() == ItemMod.dark_sword)
                         {
                             player.inventory.getItemStack();
       
                         }
                   }
              }
          }
              return p_77654_1_;
          }
          
          
          @Override
          public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)
          {
              ((EntityLivingBase)entity).setFire(8);
              ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(Potion.weakness.id, 160, 0));;
              ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(Potion.poison.id, 160, 0));;
              ((EntityLivingBase)entity).addPotionEffect(new PotionEffect(Potion.confusion.id, 160, 0));;
              return super.onLeftClickEntity(stack, player, entity);
             
              
          }
      }
      
      S 1 réponse Dernière réponse Répondre Citer 0
      • D Hors-ligne
        Drastic @Drastic
        dernière édition par

        @Drastic faut faire en plus un aure .damageItem

        S 1 réponse Dernière réponse Répondre Citer 0
        • S Hors-ligne
          skyreth @Drastic
          dernière édition par

          @Drastic Si tu veut que remplacer l item quand il l as dans la main tu fait:
          player.getHeldItem() puis tu vérifie si c est le tiens ensuite tu le suprime puis tu lui en donne un nouveau (je sait pas si c est ce que tu veut faire car j ai pas bien compris)

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

            oui mais comment faire apres ? Je crois qu’il faut qq chose d’autre (peut etre au niveau du break)

            package com.extremium.mod.tools;
            
            import com.extremium.mod.init.ItemMod;
            
            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.item.ItemStack;
            import net.minecraft.item.ItemSword;
            import net.minecraft.item.Item.ToolMaterial;
            import net.minecraft.world.World;
            
            public class GodSword extends ItemSword
            {
            
                public GodSword(ToolMaterial p_i45356_1_)
                {
                    super(p_i45356_1_);
                }
                  
                public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
                {
                    
                    if(player.isSneaking())
                    {   
                        
                        if(player.inventory.hasItemStack(new ItemStack(ItemMod.gods_sword)))
                            
                        {
                            
                            for(int i = 0; i < player.inventory.getSizeInventory(); i++)
                            {
                                   if(player.getHeldItem() != null && player.inventory.getStackInSlot(i).getItem() == ItemMod.gods_sword)
                                   {
                                           break;
                                   }
                             }
                       }
                    
            
                   if (itemStack.stackSize <= 0)
                    {
                        return new ItemStack(ItemMod.dark_sword);
                    }
            
                    player.inventory.addItemStackToInventory(new ItemStack(ItemMod.dark_sword));
                    return itemStack;     
                }
                    return itemStack;
                    
            
                }
                
                
                
            }
            
            
            
            
            1 réponse Dernière réponse Répondre Citer 0
            • S Hors-ligne
              skyreth
              dernière édition par skyreth

              Non pas besoin de regarder si il est non null tu regarde si il est égale a ton item puis tu fait:

              ItemStack item = player.getHeldItem(); //pour recuperer l item dans la main
              int damage = item.getMaxDamage(); //pour recuperer le maximum de degats que peut recevoir l item
              item.damageItem(damage, player); //pour suprimer l item
              player.inventory.addItemStackToInventory(new ItemStack(/* ton item*/)); //Puis ici tu lui donne sa nouvelle epee
              
              D 1 réponse Dernière réponse Répondre Citer 0
              • D Hors-ligne
                Drastic @skyreth
                dernière édition par

                @skyreth merci, un dernier probleme : litem garde 2 de dura (en gros il a 1/xxxxx)

                D 1 réponse Dernière réponse Répondre Citer 0
                • D Hors-ligne
                  Drastic @Drastic
                  dernière édition par

                  @Drastic faut faire en plus un aure .damageItem

                  S 1 réponse Dernière réponse Répondre Citer 0
                  • S Hors-ligne
                    skyreth @Drastic
                    dernière édition par

                    @Drastic Non pas besoin tu augmente juste le int damage

                    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