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

    Résolu Ignorer un item

    1.7.x
    1.7.2
    5
    17
    2874
    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.
    • darkvince37
      darkvince37 dernière édition par

      Bonjours,

      Je poste car j’ai un petit probleme je voudrai ignoré un item

      package fr.darkvince.ultra;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      
      public class itemRepaire extends Item
      {
          public itemRepaire()
          {
              this.maxStackSize = 1;
          }
      
          public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected)
          {
              if(entity instanceof EntityPlayer)
              {
                  EntityPlayer player = (EntityPlayer)entity;
                  for(int i = 0; i < 4; i++)
                  {
                      ItemStack armor = player.getCurrentArmor(i);
                      if(armor != null)
                      {
                          if(armor.getItemDamage() > 0 && stack.getItemDamage() < stack.getMaxDamage())
                          {
                              stack.setItemDamage(stack.getItemDamage() + 1);
                              armor.setItemDamage(armor.getItemDamage() - 1);
                          }
                      }
                  }
      
                  for(int i = 0; i < 9; i++)     
                  {
                      ItemStack targetStack = player.inventory.getStackInSlot(i);
                      Item target = Main.Cuprite_sword;
      
                      {
                          if(targetStack != null && targetStack.getItem().isRepairable() && target.isDamaged(targetStack))
                          {
                              stack.setItemDamage(stack.getItemDamage() + 1);
                              targetStack.setItemDamage(targetStack.getItemDamage() - 1);
                          }
                      }
                  }
              }
          }
      }
      

      En gros se que ej voudrai faire c’est que l’épée En Cuprite ne puisse pas etre reparable

      1 réponse Dernière réponse Répondre Citer 0
      • LeBossMax2
        LeBossMax2 dernière édition par

        Bonjour !

        Dans le if de ton deuxième for, tu n’a qu’a ajouter à ta condition “&& targetStack.getItem() != target”

        1 réponse Dernière réponse Répondre Citer 0
        • darkvince37
          darkvince37 dernière édition par

          @‘LeBossMax2’:

          Bonjour !

          Dans le if de ton deuxième for, tu n’a qu’a ajouter à ta condition “&& targetStack.getItem() != target”

          Merci de ta reponse

          Mais c’est pas que je veut pas mais y a un probleme

          for(int i = 0; i < 9 && targetStack.getItem() != target; i++ )     
                      {
                      Item target = Main.Cuprite_sword;
                          ItemStack targetStack = player.inventory.getStackInSlot(i);
          
                          {
                              if(targetStack != null && targetStack.getItem().isRepairable())
                              {
                                  stack.setItemDamage(stack.getItemDamage() + 1);
                                  targetStack.setItemDamage(targetStack.getItemDamage() - 1);
                              }
          

          Si je mais comme sa targetStack.getItem() != target; y a une erreur sur targetStack et target se qui est normal

          et si je mais comme se y a mon i en erreur normal aussi car il est en dessous

          Item target = Main.Cuprite_sword;
                      ItemStack targetStack = player.inventory.getStackInSlot(i);
                      for(int i = 0; i < 9 && targetStack.getItem() != target; i++ )     
                      {
          
                          {
                              if(targetStack != null && targetStack.getItem().isRepairable())
                              {
                                  stack.setItemDamage(stack.getItemDamage() + 1);
                                  targetStack.setItemDamage(targetStack.getItemDamage() - 1);
                              }
          
          1 réponse Dernière réponse Répondre Citer 0
          • LeBossMax2
            LeBossMax2 dernière édition par

            Tu n’a pas compris ce que je voulais dire :
            Il faut mettre “&& targetStack.getItem() != target” dans la condition du If, pas dans la condition du For.

            1 réponse Dernière réponse Répondre Citer 0
            • darkvince37
              darkvince37 dernière édition par

              @‘LeBossMax2’:

              Tu n’a pas compris ce que je voulais dire :
              Il faut mettre “&& targetStack.getItem() != target” dans la condition du If, pas dans la condition du For.

              J’ai essayé sa marche pas

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

                Beh tout simplement ça dans la classe de ton épée :

                
                   @Override
                   public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_)
                   {
                       return false;
                   }
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • darkvince37
                  darkvince37 dernière édition par

                  @‘Plaigon’:

                  Beh tout simplement ça dans la classe de ton épée :

                  
                     @Override
                     public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_)
                     {
                         return false;
                     }
                  
                  

                  Non justement sa marche pas

                  Edit:
                  Tu n’a pas compris ce que je voulais dire :

                  Il faut mettre “&& targetStack.getItem() != target” dans la condition du If, pas dans la condition du For.

                  C’est pas que sa marche pas enfaîte c’est que l’item qui repaire les item s’utilise toute seul apres

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

                    Pas compris …
                    Explique clairement ce que tu souhaites faire, car là je ne vois pas pourquoi mon code ne te satisfait pas 😕

                    1 réponse Dernière réponse Répondre Citer 0
                    • darkvince37
                      darkvince37 dernière édition par

                      @‘Plaigon’:

                      Pas compris …
                      Explique clairement ce que tu souhaites faire, car là je ne vois pas pourquoi mon code ne te satisfait pas 😕

                      Car ton code fait que sa repaire quand meme l’item en faite l’item que j’ai actuellement permet de reparer des item et armures quand il sont dans ton inventaire le probleme je veut ignorer 1 seul item mais avec ton code bah sa repaire quand meme l’item car la c’est pas une itemSword c’est une épee refaite en Item

                      Moi j’avais penser a faire sa

                      if(si c’est equal a épée Cuprite)

                      Sa fait rien

                      else(Si c’est pas une cuprite)
                      J’execute ma fonction

                      Mais j’y arrive pas

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

                        Est-ce que ça va comme ceci ?

                        
                        @Override
                        public void onUpdate(ItemStack stack, World world, Entity entity, int slotIndex, boolean isInHand)
                        {
                        super.onUpdate(stack, world, entity, slotIndex, isInHand);
                        EntityPlayer player = (EntityPlayer)entity;
                        for(int i = 0; i <= player.inventory.getSizeInventory(); i++)
                        {
                        ItemStack currentInventoryStack = player.inventory.getStackInSlot(i);
                        if(currentInventoryStack != null)
                        {
                        if(!currentInventoryStack.equals(Items.coal) && currentInventoryStack.getClass().equals(ItemSword.class))//remplace coal par ton item
                        {
                        if(!world.isRemote)
                        {
                        stack.damageItem(1, (EntityLivingBase)entity);
                        currentInventoryStack.setItemDamage(currentInventoryStack.getItemDamage() - 1 <= 0 ? currentInventoryStack.getItemDamage() - 1 : 0);
                        }
                        }
                        }
                        }
                        for(int i = 0; i < player.inventory.armorInventory.length; i++)
                        {
                        ItemStack currentArmorStack = player.inventory.armorItemInSlot(i);
                        if(currentArmorStack != null)
                        {
                        if(!world.isRemote)
                        {
                        stack.damageItem(1, (EntityLivingBase)entity);
                        currentArmorStack.setItemDamage(currentArmorStack.getItemDamage() - 1 <= 0 ? currentArmorStack.getItemDamage() - 1 : 0);
                        }
                        }
                        }
                        }
                        
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • darkvince37
                          darkvince37 dernière édition par

                          @‘Plaigon’:

                          Est-ce que ça va comme ceci ?

                          
                          @Override
                          public void onUpdate(ItemStack stack, World world, Entity entity, int slotIndex, boolean isInHand)
                          {
                          super.onUpdate(stack, world, entity, slotIndex, isInHand);
                          EntityPlayer player = (EntityPlayer)entity;
                          for(int i = 0; i <= player.inventory.getSizeInventory(); i++)
                          {
                          ItemStack currentInventoryStack = player.inventory.getStackInSlot(i);
                          if(currentInventoryStack != null)
                          {
                          if(!currentInventoryStack.equals(Items.coal) && currentInventoryStack.getClass().equals(ItemSword.class))//remplace coal par ton item
                          {
                          if(!world.isRemote)
                          {
                          stack.damageItem(1, (EntityLivingBase)entity);
                          currentInventoryStack.setItemDamage(currentInventoryStack.getItemDamage() - 1 <= 0 ? currentInventoryStack.getItemDamage() - 1 : 0);
                          }
                          }
                          }
                          }
                          for(int i = 0; i < player.inventory.armorInventory.length; i++)
                          {
                          ItemStack currentArmorStack = player.inventory.armorItemInSlot(i);
                          if(currentArmorStack != null)
                          {
                          if(!world.isRemote)
                          {
                          stack.damageItem(1, (EntityLivingBase)entity);
                          currentArmorStack.setItemDamage(currentArmorStack.getItemDamage() - 1 <= 0 ? currentArmorStack.getItemDamage() - 1 : 0);
                          }
                          }
                          }
                          }
                          
                          

                          Crash direct 
                          C’est un ItemSword.class c’ets un Item tous court tien la class de l’item sa peut peut etre t’aider

                          package fr.darkvince.ultra;
                          
                          import java.util.List;
                          
                          import cpw.mods.fml.relauncher.Side;
                          import cpw.mods.fml.relauncher.SideOnly;
                          import net.minecraft.enchantment.Enchantment;
                          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.EnumAction;
                          import net.minecraft.item.Item;
                          import net.minecraft.item.Item.ToolMaterial;
                          import net.minecraft.item.ItemStack;
                          import net.minecraft.item.ItemSword;
                          import net.minecraft.potion.Potion;
                          import net.minecraft.potion.PotionEffect;
                          import net.minecraft.util.EnumChatFormatting;
                          import net.minecraft.world.World;
                          
                          public class Cuprite_sword extends Item
                          {
                          
                          public Cuprite_sword() {
                          super();
                           setMaxStackSize(1);
                           setMaxDamage(90);
                          }
                          
                          public boolean hitEntity(ItemStack par1ItemStack, EntityLivingBase par2EntityLivingBase, EntityLivingBase par3EntityLivingBase)
                           {
                             par1ItemStack.damageItem(1, par3EntityLivingBase);
                             if (getDamage(par1ItemStack) == 30) {
                               par1ItemStack.addEnchantment(Enchantment.sharpness, 10);
                             }
                             if (getDamage(par1ItemStack) == 45) {
                               par1ItemStack.addEnchantment(Enchantment.sharpness, 11);
                             }
                             if (getDamage(par1ItemStack) == 60) {
                               par1ItemStack.addEnchantment(Enchantment.sharpness, 12);
                             }
                             if (getDamage(par1ItemStack) == 75) {
                               par1ItemStack.addEnchantment(Enchantment.sharpness, 13);
                             }
                             if (getDamage(par1ItemStack) == 85) {
                               par1ItemStack.addEnchantment(Enchantment.sharpness, 25);
                             }
                             return true;
                           }
                          
                          @SideOnly(Side.CLIENT)
                             public boolean isFull3D()
                             {
                                 return true;
                             }
                          
                           public EnumAction getItemUseAction(ItemStack p_77661_1_)
                             {
                                 return EnumAction.block;
                             }
                           @Override
                            public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_)
                            {
                                return false;
                            }
                          
                           public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_)
                             {
                                 p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
                                 return p_77659_1_;
                             }
                           @SideOnly(Side.CLIENT)
                           public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
                           {
                             par3List.add(EnumChatFormatting.WHITE + "Epee de dieux LVL 1");
                           }
                          }
                          

                          at fr.darkvince.ultra.itemRepaire.onUpdate(itemRepaire.java:25)

                          La ligne 25 :  ItemStack currentInventoryStack = player.inventory.getStackInSlot(i);

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

                            Crash report ?

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

                              Remplace :
                              if(!currentInventoryStack.equals(Items.coal) && currentInventoryStack.getClass().equals(ItemSword.class))
                              Par :
                              if(!currentInventoryStack.equals(Items.coal) && currentInventoryStack.getItem ().getClass().equals(ItemSword.class))

                              EDIT = Crash report stp

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

                                Crash report aussi stp 😃

                                1 réponse Dernière réponse Répondre Citer 0
                                • darkvince37
                                  darkvince37 dernière édition par

                                  @‘Plaigon’:

                                  Crash report aussi stp 😃

                                  Aucun crash report est les log non plus

                                  Edit:

                                  J’était dans le mauvais dossier de mods

                                  –-- Minecraft Crash Report ----
                                  // Oh - I know what I did wrong!
                                  
                                  Time: 23/04/16 15:02
                                  Description: Ticking player
                                  
                                  java.lang.ArrayIndexOutOfBoundsException: 4
                                  at net.minecraft.entity.player.InventoryPlayer.getStackInSlot(InventoryPlayer.java:646)
                                  at fr.darkvince.ultra.itemRepaire.onUpdate(itemRepaire.java:25)
                                  at net.minecraft.item.ItemStack.updateAnimation(ItemStack.java:476)
                                  at net.minecraft.entity.player.InventoryPlayer.decrementAnimations(InventoryPlayer.java:347)
                                  at net.minecraft.entity.player.EntityPlayer.onLivingUpdate(EntityPlayer.java:610)
                                  at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1816)
                                  at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:327)
                                  at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:330)
                                  at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:329)
                                  at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37)
                                  at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:271)
                                  at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                                  at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                                  at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                                  at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                                  at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                                  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                                  at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                                  
                                  A detailed walkthrough of the error, its code path and all known details is as follows:
                                  ---------------------------------------------------------------------------------------
                                  
                                  -- Head --
                                  Stacktrace:
                                  at net.minecraft.entity.player.InventoryPlayer.getStackInSlot(InventoryPlayer.java:646)
                                  at fr.darkvince.ultra.itemRepaire.onUpdate(itemRepaire.java:25)
                                  at net.minecraft.item.ItemStack.updateAnimation(ItemStack.java:476)
                                  at net.minecraft.entity.player.InventoryPlayer.decrementAnimations(InventoryPlayer.java:347)
                                  at net.minecraft.entity.player.EntityPlayer.onLivingUpdate(EntityPlayer.java:610)
                                  at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:1816)
                                  at net.minecraft.entity.player.EntityPlayer.onUpdate(EntityPlayer.java:327)
                                  
                                  -- Player being ticked --
                                  Details:
                                  Entity Type: null (net.minecraft.entity.player.EntityPlayerMP)
                                  Entity ID: 534
                                  Entity Name: Player88
                                  Entity's Exact location: -172,50, 63,00, 257,50
                                  Entity's Block location: World: (-173,63,257), Chunk: (at 3,3,1 in -11,16; contains blocks -176,0,256 to -161,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
                                  Entity's Momentum: 0,00, -0,08, 0,00
                                  Stacktrace:
                                  at net.minecraft.entity.player.EntityPlayerMP.onUpdateEntity(EntityPlayerMP.java:330)
                                  at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:329)
                                  at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37)
                                  at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:271)
                                  at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
                                  
                                  -- Ticking connection --
                                  Details:
                                  Connection: net.minecraft.network.NetworkManager@70604eee
                                  Stacktrace:
                                  at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
                                  at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
                                  at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
                                  at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
                                  at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
                                  at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
                                  
                                  -- System Details --
                                  Details:
                                  Minecraft Version: 1.7.10
                                  Operating System: Windows 10 (amd64) version 10.0
                                  Java Version: 1.8.0_74, Oracle Corporation
                                  Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
                                  Memory: 936570232 bytes (893 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB)
                                  JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                  AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                  IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
                                  FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
                                  States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                                  UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
                                  UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
                                  UCHIJAAAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
                                  UCHIJAAAA ultra{1.0} [ultra] (bin) 
                                  GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
                                  Profiler Position: N/A (disabled)
                                  Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                  Player Count: 1 / 8; [EntityPlayerMP['Player88'/534, l='New World', x=-172,50, y=63,00, z=257,50]]
                                  Type: Integrated Server (map_client.txt)
                                  Is Modded: Definitely; Client brand changed to 'fml,forge'
                                  
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • SCAREX
                                    SCAREX dernière édition par

                                    Envoi la classe entière de l’Item sinon on peut pas savoir où c’est précisément

                                    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
                                    • robin4002
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                      C’est telement difficile de faire un
                                      if(itemstack != null && itemstack.getItem() != ClassPrincipale.itemAExclure)
                                      ???

                                      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