MFF

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

    Ignorer un item

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    17 Messages 5 Publieurs 3.3k 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.
    • darkvince37D Hors-ligne
      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
      • LeBossMax2L Hors-ligne
        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
        • darkvince37D Hors-ligne
          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
          • LeBossMax2L Hors-ligne
            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
            • darkvince37D Hors-ligne
              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
              • DeletedD Hors-ligne
                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
                • darkvince37D Hors-ligne
                  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
                  • DeletedD Hors-ligne
                    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
                    • darkvince37D Hors-ligne
                      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
                      • DeletedD Hors-ligne
                        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
                        • darkvince37D Hors-ligne
                          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
                          • DeletedD Hors-ligne
                            Deleted
                            dernière édition par

                            Crash report ?

                            1 réponse Dernière réponse Répondre Citer 0
                            • DeletedD Hors-ligne
                              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
                              • DeletedD Hors-ligne
                                Deleted
                                dernière édition par

                                Crash report aussi stp 😃

                                1 réponse Dernière réponse Répondre Citer 0
                                • darkvince37D Hors-ligne
                                  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
                                  • SCAREXS Hors-ligne
                                    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
                                    • robin4002R Hors-ligne
                                      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
                                      ContactMentions Légales

                                      MINECRAFT FORGE FRANCE © 2024

                                      Powered by NodeBB