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

    Résolu Objet qui s'use

    Anciennes versions
    1.6.4
    3
    18
    4170
    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.
    • Nolan-XX
      Nolan-XX dernière édition par

      Salut ! Je suis de retour ! Avec de nouveaux problèmes malheureusement.
      Je voudrais que lorsque mon fusil tire ( cc @jglrxavpok ), ma boîte de munitions s’use au lieu de la consommer.
      Sans plus tarder, voila mes classes.

      
      package assets.ei.Weapons;
      
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.ItemStack;
      import net.minecraft.util.MovingObjectPosition;
      import net.minecraft.world.World;
      import assets.NolanCore.Data.EntityShoot;
      import assets.ei.Data.EastonIsland;
      import assets.ei.Data.EntityBullet;
      import assets.ei.Data.ItemWeapon;
      import assets.mgs.common.Main;
      
      public class W_Tokarev extends ItemWeapon {
      
      private int timer = 0;
      
      public W_Tokarev(int par1) {
      super(par1);
      this.maxStackSize = 1; // dit qu'il ne peut avoir que 1 pistolet
      this.setCreativeTab(EastonIsland.Ei3);
      }
      
      public boolean onEntitySwing(EntityLivingBase e, ItemStack s) {
      if (s.getItemDamage() == 0)
      if (e instanceof EntityPlayer) {
      EntityPlayer player = (EntityPlayer) e;
      boolean flag = false;
      if (player.capabilities.isCreativeMode) {
      flag = true;
      } else {
      flag = player.inventory
      .consumeInventoryItem(EastonIsland.I9mm.itemID);
      }
      if (flag) {
      EntityBullet bullet = new EntityBullet(e.worldObj, e,
      false, "Tok", 5, 64);
      if (!e.worldObj.isRemote)
      e.worldObj.spawnEntityInWorld(bullet);
      e.worldObj.playSoundAtEntity(e, "ei:pistol_fire", 0.5f, 1);
      onUsed(s, e);
      } else
      e.worldObj.playSoundAtEntity(e, "ei:ClipEmpty_Pistol",
      0.5f, 1);
      
      }
      return true;
      }
      
      public boolean onBlockStartBreak(ItemStack s, int x, int y, int z,
      EntityPlayer player) {
      return true;
      }
      
      public boolean hitEntity(ItemStack s, EntityLivingBase e,
      EntityLivingBase source) {
      if (s.getItemDamage() == 0)
      if (source instanceof EntityPlayer) {
      EntityPlayer player = (EntityPlayer) source;
      boolean flag = false;
      if (player.capabilities.isCreativeMode) {
      flag = true;
      } else {
      flag = player.inventory
      .consumeInventoryItem(EastonIsland.I9mm.itemID);
      }
      if (flag) {
      if (!e.worldObj.isRemote)
      new EntityBullet(source.worldObj, source, false, "Tok",
      5, 64).onImpact(new MovingObjectPosition(e));
      // source.worldObj.playSoundAtEntity(source,
      // "hl2:magnum_fire", 1, 1);
      onUsed(s, source);
      } else
      source.worldObj.playSoundAtEntity(source,
      "ei:ClipEmpty_Pistol", 1, 1);
      }
      return false;
      }
      
      private void onUsed(ItemStack s, EntityLivingBase e) {
      s.setItemDamage(15);
      }
      
      public void onUpdate(ItemStack s, World w, Entity p, int i, boolean flag) {
      super.onUpdate(s, w, p, i, flag);
      if (s.getItemDamage() > 0) {
      s.setItemDamage(s.getItemDamage() - 1);
      }
      }
      
      @Override
      public void registerIcons(IconRegister iconRegister) {
      itemIcon = iconRegister.registerIcon("ei:Pistolet Tokarev TT 33");
      }
      }
      
      
      
      package assets.ei.ammo;
      
      import net.minecraft.client.renderer.texture.IconRegister;
      import net.minecraft.item.Item;
      import assets.ei.Data.EastonIsland;
      import assets.mgs.common.D_Tabs;
      
      public class I_9mm extends Item
      {
      
      public I_9mm(int par1)
      {
      super(par1);
      this.maxStackSize = 15;
      this.setCreativeTab(EastonIsland.Ei3);
      }
      
      @Override
      public void registerIcons(IconRegister iconRegister)
      {
      itemIcon = iconRegister.registerIcon("ei:9mm");
      }
      
      }
      
      

      Merci d’avance pour vos réponses.

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Il faudrait faire une fonction qui vérifie que le joueur possède l’item sur lui et obtenir son emplacement dans le tableau de l’inventaire :

        private int getItemIntoInventory(EntityPlayer player, int itemId)
        {
        for(int i = 0; i < player.inventory.mainInventory.lenth; i ++)
        {
        if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
        {
        return i;
        }
        //return -1; EDIT, il va pas ici mais en dessous :
        }
        return -1;
        }
        

        Tu aura juste a utiliser :

        if(getItemIntoInventory(player, EastonIsland.I9mm.itemID) > -1) // vérifie que le joueur à l'item sur lui
        {
        player.inventory.mainInventory[getItemIntoInventory(player, EastonIsland.I9mm.itemID)].damageItem(player, 1); // fait des dégâts à l'item
        }
        

        pour endommager l’item.

        1 réponse Dernière réponse Répondre Citer 0
        • Nolan-XX
          Nolan-XX dernière édition par

          et comment je définit le nombre de munitions dans ma boite ? (= la résistance de l’objet)

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

            @‘robin4002’:

            
            for(int i = 0; i < player.inventory.mainInventory.lenth; i ++)
            {
            if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
            {
            return i;
            }
            return -1;
            }
            }
            

            Si tu permets, dans une liste il est préférable d’utiliser le système d’itérateurs :

            
            for(ItemStack i : player.inventory.mainInventory){
            if(i.itemID == itemId){
            return i;
            }
            return -1;
            }
            
            

            @‘Nolan-XX’:

            et comment je définit le nombre de munitions dans ma boite ? (= la résistance de l’objet)

            Dans l’initialisation de ton item :

            setMaxDamage(int damage)
            

            Travaille sur un super serveur, Wirestone.

            1 réponse Dernière réponse Répondre Citer 0
            • Nolan-XX
              Nolan-XX dernière édition par

              2014-01-12 16:04:19 [Infos] [ForgeModLoader] Unloading dimension 0
              2014-01-12 16:04:19 [Infos] [ForgeModLoader] Unloading dimension -1
              2014-01-12 16:04:19 [Infos] [ForgeModLoader] Unloading dimension 1
              2014-01-12 16:04:19 [Infos] [STDERR] java.lang.ArrayIndexOutOfBoundsException: -1
              2014-01-12 16:04:19 [Infos] [STDERR] at assets.ei.Weapons.W_Tokarev.onEntitySwing(W_Tokarev.java:77)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.entity.EntityLivingBase.swingItem(EntityLivingBase.java:1328)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.entity.EntityClientPlayerMP.swingItem(EntityClientPlayerMP.java:206)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1344)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1863)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:910)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:838)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.client.main.Main.main(Main.java:93)
              2014-01-12 16:04:19 [Infos] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              2014-01-12 16:04:19 [Infos] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
              2014-01-12 16:04:19 [Infos] [STDERR] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
              2014-01-12 16:04:19 [Infos] [STDOUT] –-- Minecraft Crash Report ----
              2014-01-12 16:04:19 [Infos] [STDOUT] // This doesn't make any sense!
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] Time: 12/01/14 16:04
              2014-01-12 16:04:19 [Infos] [STDOUT] Description: Unexpected error
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] java.lang.ArrayIndexOutOfBoundsException: -1
              2014-01-12 16:04:19 [Infos] [STDOUT] at assets.ei.Weapons.W_Tokarev.onEntitySwing(W_Tokarev.java:77)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.entity.EntityLivingBase.swingItem(EntityLivingBase.java:1328)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.entity.EntityClientPlayerMP.swingItem(EntityClientPlayerMP.java:206)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1344)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1863)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:910)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:838)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] A detailed walkthrough of the error, its code path and all known details is as follows:
              2014-01-12 16:04:19 [Infos] [STDOUT] –-------------------------------------------------------------------------------------
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] – Head --
              2014-01-12 16:04:19 [Infos] [STDOUT] Stacktrace:
              2014-01-12 16:04:19 [Infos] [STDOUT] at assets.ei.Weapons.W_Tokarev.onEntitySwing(W_Tokarev.java:77)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.entity.EntityLivingBase.swingItem(EntityLivingBase.java:1328)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.entity.EntityClientPlayerMP.swingItem(EntityClientPlayerMP.java:206)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.clickMouse(Minecraft.java:1344)
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] – Affected level --
              2014-01-12 16:04:19 [Infos] [STDOUT] Details:
              2014-01-12 16:04:19 [Infos] [STDOUT] Level name: MpServer
              2014-01-12 16:04:19 [Infos] [STDOUT] All players: 1 total; [EntityClientPlayerMP['Player671'/63, l='MpServer', x=-691,16, y=64,62, z=-231,60]]
              2014-01-12 16:04:19 [Infos] [STDOUT] Chunk stats: MultiplayerChunkCache: 441
              2014-01-12 16:04:19 [Infos] [STDOUT] Level seed: 0
              2014-01-12 16:04:19 [Infos] [STDOUT] Level generator: ID 00 - default, ver 1\. Features enabled: false
              2014-01-12 16:04:19 [Infos] [STDOUT] Level generator options:
              2014-01-12 16:04:19 [Infos] [STDOUT] Level spawn location: World: (-390,64,-286), Chunk: (at 10,4,2 in -25,-18; contains blocks -400,0,-288 to -385,255,-273), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
              2014-01-12 16:04:19 [Infos] [STDOUT] Level time: 130270 game time, 206 day time
              2014-01-12 16:04:19 [Infos] [STDOUT] Level dimension: 0
              2014-01-12 16:04:19 [Infos] [STDOUT] Level storage version: 0x00000 - Unknown?
              2014-01-12 16:04:19 [Infos] [STDOUT] Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
              2014-01-12 16:04:19 [Infos] [STDOUT] Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
              2014-01-12 16:04:19 [Infos] [STDOUT] Forced entities: 90 total; [EntityZombie['Zombie'/139, l='MpServer', x=-719,50, y=17,00, z=-293,50], EntitySkeleton['Squelette'/141, l='MpServer', x=-714,50, y=13,00, z=-284,50], EntityZombie['Zombie'/140, l='MpServer', x=-719,50, y=17,00, z=-294,50], EntitySpider['Araignée'/143, l='MpServer', x=-709,34, y=32,00, z=-281,44], EntityZombie['Zombie'/142, l='MpServer', x=-704,45, y=16,81, z=-273,27], EntityZombie['Zombie'/129, l='MpServer', x=-723,69, y=20,00, z=-234,59], EntityZombie['Zombie'/128, l='MpServer', x=-729,16, y=14,00, z=-285,56], EntitySquid['Calmar'/131, l='MpServer', x=-733,90, y=41,00, z=-239,47], EntityZombie['Zombie'/130, l='MpServer', x=-721,31, y=20,00, z=-236,50], EntityBat['Chauve-souris'/132, l='MpServer', x=-735,22, y=36,87, z=-152,42], EntitySquid['Calmar'/152, l='MpServer', x=-678,17, y=55,00, z=-204,41], EntityCreeper['Creeper'/153, l='MpServer', x=-702,50, y=12,00, z=-186,50], EntitySkeleton['Squelette'/155, l='MpServer', x=-676,50, y=35,00, z=-177,50], EntityZombie['Zombie'/156, l='MpServer', x=-673,50, y=19,00, z=-165,50], EntityPig['Cochon'/159, l='MpServer', x=-667,31, y=57,00, z=-262,53], EntitySpider['Araignée'/144, l='MpServer', x=-709,00, y=32,00, z=-279,53], EntityCreeper['Creeper'/145, l='MpServer', x=-712,50, y=17,00, z=-181,50], EntitySquid['Calmar'/146, l='MpServer', x=-714,06, y=56,34, z=-182,44], EntitySkeleton['Squelette'/147, l='MpServer', x=-719,50, y=24,00, z=-172,50], EntityMinecartChest['entity.MinecartChest.name'/150, l='MpServer', x=-692,50, y=41,50, z=-278,50], EntityZombie['Zombie'/151, l='MpServer', x=-694,50, y=41,00, z=-274,50], EntityPig['Cochon'/171, l='MpServer', x=-632,53, y=64,00, z=-249,69], EntitySkeleton['Squelette'/517, l='MpServer', x=-725,47, y=32,00, z=-271,84], EntityBat['Chauve-souris'/170, l='MpServer', x=-649,51, y=18,30, z=-263,50], EntitySkeleton['Squelette'/518, l='MpServer', x=-717,50, y=32,00, z=-276,50], EntityCreeper['Creeper'/169, l='MpServer', x=-645,50, y=23,00, z=-278,50], EntityPig['Cochon'/175, l='MpServer', x=-649,50, y=64,00, z=-231,75], EntitySheep['Mouton'/174, l='MpServer', x=-646,50, y=63,00, z=-228,50], EntitySheep['Mouton'/173, l='MpServer', x=-647,50, y=63,00, z=-236,50], EntityPig['Cochon'/172, l='MpServer', x=-652,50, y=63,00, z=-238,50], EntityBat['Chauve-souris'/163, l='MpServer', x=-657,06, y=43,10, z=-173,31], EntityZombie['Zombie'/162, l='MpServer', x=-669,50, y=21,00, z=-180,50], EntitySquid['Calmar'/161, l='MpServer', x=-666,03, y=55,94, z=-201,28], EntityCreeper['Creeper'/160, l='MpServer', x=-666,69, y=13,00, z=-206,97], EntityBat['Chauve-souris'/164, l='MpServer', x=-665,24, y=19,00, z=-154,18], EntityWolf['Loup'/186, l='MpServer', x=-628,53, y=64,00, z=-226,06], EntityBat['Chauve-souris'/187, l='MpServer', x=-630,50, y=31,00, z=-221,65], EntityChicken['Poulet'/184, l='MpServer', x=-634,53, y=64,00, z=-241,47], EntityZombie['Zombie'/185, l='MpServer', x=-633,69, y=31,00, z=-238,66], EntitySkeleton['Squelette'/190, l='MpServer', x=-630,16, y=36,00, z=-186,44], EntityBat['Chauve-souris'/191, l='MpServer', x=-630,25, y=46,10, z=-184,25], EntityPig['Cochon'/188, l='MpServer', x=-624,50, y=64,00, z=-219,50], EntityZombie['Zombie'/189, l='MpServer', x=-633,53, y=16,00, z=-205,09], EntityZombie['Zombie'/178, l='MpServer', x=-644,50, y=21,00, z=-168,50], EntityCreeper['Creeper'/176, l='MpServer', x=-651,50, y=46,00, z=-218,50], EntityZombie['Zombie'/177, l='MpServer', x=-652,00, y=23,00, z=-195,56], EntityItem['item.item.porkchopRaw'/183, l='MpServer', x=-630,06, y=65,13, z=-256,81], EntitySkeleton['Squelette'/1157, l='MpServer', x=-731,50, y=26,00, z=-297,50], EntitySkeleton['Squelette'/76, l='MpServer', x=-771,50, y=33,00, z=-253,50], EntityPig['Cochon'/197, l='MpServer', x=-622,03, y=64,00, z=-223,19], EntityPig['Cochon'/196, l='MpServer', x=-611,53, y=58,00, z=-224,87], EntityBat['Chauve-souris'/77, l='MpServer', x=-766,98, y=17,06, z=-199,51], EntityBat['Chauve-souris'/78, l='MpServer', x=-768,48, y=17,00, z=-196,94], EntityChicken['Poulet'/198, l='MpServer', x=-619,50, y=64,00, z=-219,50], EntityClientPlayerMP['Player671'/63, l='MpServer', x=-691,16, y=64,62, z=-231,60], EntityChicken['Poulet'/195, l='MpServer', x=-617,53, y=62,00, z=-221,47], EntityCreeper['Creeper'/85, l='MpServer', x=-763,50, y=27,00, z=-275,50], EntityZombie['Zombie'/84, l='MpServer', x=-758,69, y=17,00, z=-266,50], EntityCreeper['Creeper'/87, l='MpServer', x=-755,70, y=36,04, z=-161,70], EntityZombie['Zombie'/86, l='MpServer', x=-760,50, y=16,00, z=-262,50], EntityBat['Chauve-souris'/83, l='MpServer', x=-752,46, y=33,00, z=-283,32], EntityBat['Chauve-souris'/82, l='MpServer', x=-758,52, y=34,62, z=-288,28], EntityBat['Chauve-souris'/89, l='MpServer', x=-759,66, y=33,10, z=-155,25], EntitySquid['Calmar'/88, l='MpServer', x=-752,97, y=52,34, z=-169,94], EntitySkeleton['Squelette'/102, l='MpServer', x=-737,63, y=28,00, z=-303,72], EntitySkeleton['Squelette'/103, l='MpServer', x=-741,53, y=27,00, z=-309,41], EntityCreeper['Creeper'/100, l='MpServer', x=-749,50, y=18,00, z=-309,50], EntityEnderman['Enderman'/510, l='MpServer', x=-768,99, y=14,14, z=-258,13], EntitySkeleton['Squelette'/101, l='MpServer', x=-735,44, y=27,00, z=-309,16], EntityEnderman['Enderman'/511, l='MpServer', x=-770,25, y=18,00, z=-261,69], EntityZombie['Zombie'/99, l='MpServer', x=-749,91, y=29,00, z=-306,50], EntityZombie['Zombie'/110, l='MpServer', x=-744,50, y=31,00, z=-277,50], EntityCreeper['Creeper'/111, l='MpServer', x=-746,50, y=30,00, z=-261,50], EntityZombie['Zombie'/108, l='MpServer', x=-749,50, y=14,00, z=-277,50], EntityBat['Chauve-souris'/109, l='MpServer', x=-738,47, y=24,10, z=-286,25], EntityMinecartChest['entity.MinecartChest.name'/107, l='MpServer', x=-736,50, y=42,50, z=-297,50], EntityZombie['Zombie'/104, l='MpServer', x=-740,47, y=27,00, z=-308,00], EntityZombie['Zombie'/105, l='MpServer', x=-739,50, y=42,00, z=-308,50], EntitySkeleton['Squelette'/119, l='MpServer', x=-739,50, y=22,00, z=-156,50], EntitySkeleton['Squelette'/118, l='MpServer', x=-741,50, y=22,00, z=-152,50], EntityZombie['Zombie'/117, l='MpServer', x=-738,53, y=19,00, z=-156,09], EntitySquid['Calmar'/116, l='MpServer', x=-750,78, y=54,97, z=-256,75], EntityBat['Chauve-souris'/115, l='MpServer', x=-728,35, y=38,46, z=-249,51], EntityZombie['Zombie'/114, l='MpServer', x=-743,84, y=36,00, z=-254,25], EntityZombie['Zombie'/113, l='MpServer', x=-746,50, y=30,00, z=-259,50], EntityZombie['Zombie'/112, l='MpServer', x=-744,50, y=30,00, z=-266,50], EntitySkeleton['Squelette'/127, l='MpServer', x=-730,13, y=33,00, z=-294,75], EntityCreeper['Creeper'/126, l='MpServer', x=-724,50, y=36,00, z=-301,50], EntityCreeper['Creeper'/124, l='MpServer', x=-732,72, y=28,00, z=-305,38], EntitySkeleton['Squelette'/120, l='MpServer', x=-742,50, y=22,00, z=-152,50]]
              2014-01-12 16:04:19 [Infos] [STDOUT] Retry entities: 0 total; []
              2014-01-12 16:04:19 [Infos] [STDOUT] Server brand: fml,forge
              2014-01-12 16:04:19 [Infos] [STDOUT] Server type: Integrated singleplayer server
              2014-01-12 16:04:19 [Infos] [STDOUT] Stacktrace:
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:440)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2312)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:863)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
              2014-01-12 16:04:19 [Infos] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
              2014-01-12 16:04:19 [Infos] [STDOUT]
              2014-01-12 16:04:19 [Infos] [STDOUT] – System Details --
              2014-01-12 16:04:19 [Infos] [STDOUT] Details:
              2014-01-12 16:04:19 [Infos] [STDOUT] Minecraft Version: 1.6.4
              2014-01-12 16:04:19 [Infos] [STDOUT] Operating System: Windows 8 (amd64) version 6.2
              2014-01-12 16:04:19 [Infos] [STDOUT] Java Version: 1.7.0_45, Oracle Corporation
              2014-01-12 16:04:19 [Infos] [STDOUT] Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
              2014-01-12 16:04:19 [Infos] [STDOUT] Memory: 747186336 bytes (712 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
              2014-01-12 16:04:19 [Infos] [STDOUT] JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
              2014-01-12 16:04:19 [Infos] [STDOUT] AABB Pool Size: 10931 (612136 bytes; 0 MB) allocated, 2 (112 bytes; 0 MB) used
              2014-01-12 16:04:19 [Infos] [STDOUT] Suspicious classes: FML and Forge are installed
              2014-01-12 16:04:19 [Infos] [STDOUT] IntCache: cache: 0, tcache: 0, allocated: 1, tallocated: 63
              2014-01-12 16:04:19 [Infos] [STDOUT] FML: MCP v8.11 FML v6.4.49.965 Minecraft Forge 9.11.1.965 6 mods loaded, 6 mods active
              2014-01-12 16:04:19 [Infos] [STDOUT] mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] FML{6.4.49.965} [Forge Mod Loader] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] Forge{9.11.1.965} [Minecraft Forge] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] ei{1.5.2} [Easton Island] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] MGS{1.1.0} [Metal gear cubid] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] NolanCore{1.5.2} [Nolan's Core] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
              2014-01-12 16:04:19 [Infos] [STDOUT] Launched Version: 1.6
              2014-01-12 16:04:19 [Infos] [STDOUT] LWJGL: 2.9.0
              2014-01-12 16:04:19 [Infos] [STDOUT] OpenGL: GeForce GTX 760 (192-bit)/PCIe/SSE2 GL version 4.3.0, NVIDIA Corporation
              2014-01-12 16:04:19 [Infos] [STDOUT] Is Modded: Definitely; Client brand changed to 'fml,forge'
              2014-01-12 16:04:19 [Infos] [STDOUT] Type: Client (map_client.txt)
              2014-01-12 16:04:19 [Infos] [STDOUT] Resource Pack: Default
              2014-01-12 16:04:19 [Infos] [STDOUT] Current Language: Français (CA)
              2014-01-12 16:04:19 [Infos] [STDOUT] Profiler Position: N/A (disabled)
              2014-01-12 16:04:19 [Infos] [STDOUT] Vec3 Pool Size: 2192 (122752 bytes; 0 MB) allocated, 13 (728 bytes; 0 MB) used
              2014-01-12 16:04:19 [Infos] [STDOUT] #@!@# Game crashed! Crash report saved to: #@!@# D:\Forge 1.6\mcp\jars\.\crash-reports\crash-2014-01-12_16.04.19-client.txt
              AL lib: (EE) alc_cleanup: 1 device not closed
              

              Le code du fusil :

              package assets.ei.Weapons;
              
              import net.minecraft.client.renderer.texture.IconRegister;
              import net.minecraft.entity.Entity;
              import net.minecraft.entity.EntityLivingBase;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.MovingObjectPosition;
              import net.minecraft.world.World;
              import assets.NolanCore.Data.EntityShoot;
              import assets.ei.Data.EastonIsland;
              import assets.ei.Data.EntityBullet;
              import assets.ei.Data.ItemWeapon;
              import assets.mgs.common.Main;
              
              public class W_Tokarev extends ItemWeapon
              {
              
              private int timer = 0;
              
              public W_Tokarev(int par1) {
              super(par1);
              this.maxStackSize = 1;
              this.setCreativeTab(EastonIsland.Ei3);
              }
              
              /*
              * private int getItemIntoInventory(EntityPlayer player, int itemId)
              {
              for(int i = 0; i < player.inventory.mainInventory.lenth; i ++)
              {
              if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
              {
              return i;
              }
              return -1;
              }
              }*/
              @SuppressWarnings("unused")
              private int getItemIntoInventory(EntityPlayer player, int itemId)
              {
              for(int i = 0; i < player.inventory.mainInventory.length; i ++)
              {
              if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
              {
              return i;
              }
              return -1;
              }
              return itemId;
              }
              public boolean onEntitySwing(EntityLivingBase e, ItemStack s)
              {
              if (s.getItemDamage() == 0)
              if (e instanceof EntityPlayer)
              {
              EntityPlayer player = (EntityPlayer) e;
              boolean flag = false;
              
              if (player.capabilities.isCreativeMode)
              {
              flag = true;
              }
              else
              {
              flag = player.inventory.hasItem(EastonIsland.I9mm.itemID);
              
              }
              
              if (flag)
              {
              EntityBullet bullet = new EntityBullet(e.worldObj, e, false, "Tok", 5, 64);
              if (!e.worldObj.isRemote)
              e.worldObj.spawnEntityInWorld(bullet);
              e.worldObj.playSoundAtEntity(e, "ei:pistol_fire", 0.5f, 1);
              onUsed(s, e);
              player.inventory.mainInventory[getItemIntoInventory(player, EastonIsland.I9mm.itemID)].damageItem(1, player);
              }
              else
              e.worldObj.playSoundAtEntity(e, "ei:ClipEmpty_Pistol",0.5f, 1);
              
              }
              return true;
              }
              
              public boolean onBlockStartBreak(ItemStack s, int x, int y, int z,EntityPlayer player)
              {
              return true;
              }
              
              public boolean hitEntity(ItemStack s, EntityLivingBase e, EntityLivingBase source)
              {
              if (s.getItemDamage() == 0)
              if (source instanceof EntityPlayer) {
              EntityPlayer player = (EntityPlayer) source;
              boolean flag = false;
              if (player.capabilities.isCreativeMode)
              {
              flag = true;
              } else
              {
              flag = player.inventory
              .consumeInventoryItem(EastonIsland.I9mm.itemID);
              }
              if (flag)
              {
              if (!e.worldObj.isRemote)
              new EntityBullet(source.worldObj, source, false, "Tok",5, 64).onImpact(new MovingObjectPosition(e));
              onUsed(s, source);
              }
              else
              source.worldObj.playSoundAtEntity(source,"ei:ClipEmpty_Pistol", 1, 1);
              }
              return false;
              }
              
              private void onUsed(ItemStack s, EntityLivingBase e) {
              s.setItemDamage(20);
              }
              
              public void onUpdate(ItemStack s, World w, Entity p, int i, boolean flag) {
              super.onUpdate(s, w, p, i, flag);
              if (s.getItemDamage() > 0)
              {
              s.setItemDamage(s.getItemDamage() - 1);
              }
              }
              
              @Override
              public void registerIcons(IconRegister iconRegister)
              {
              itemIcon = iconRegister.registerIcon("ei:Pistolet Tokarev TT 33");
              }
              }
              

              et des munitions

              package assets.ei.ammo;
              
              import net.minecraft.client.renderer.texture.IconRegister;
              import net.minecraft.item.Item;
              import assets.ei.Data.EastonIsland;
              import assets.mgs.common.D_Tabs;
              
              public class I_9mm extends Item
              {
              
              public I_9mm(int par1)
              {
              super(par1);
              this.maxStackSize = 1;
              this.setMaxDamage(15);
              this.setCreativeTab(EastonIsland.Ei3);
              }
              
              @Override
              public void registerIcons(IconRegister iconRegister)
              {
              itemIcon = iconRegister.registerIcon("ei:9mm");
              }
              
              }
              
              1 réponse Dernière réponse Répondre Citer 0
              • EclipseOnFire
                EclipseOnFire dernière édition par

                Essaye avec le code que j’ai conseillé, l’exception vient du fait que la boucle dépasse la taille de la liste.

                for(ItemStack i : player.inventory.mainInventory){
                if(i != null && i.itemID == itemId){
                return i;
                }
                return -1;
                }
                

                Travaille sur un super serveur, Wirestone.

                1 réponse Dernière réponse Répondre Citer 0
                • Nolan-XX
                  Nolan-XX dernière édition par

                  @‘EclipseOnFire’:

                  Essaye avec le code que j’ai conseillé, l’exception vient du fait que la boucle dépasse la taille de la liste.

                  for(ItemStack i : player.inventory.mainInventory){
                  if(i != null && i.itemID == itemId){
                  return i;
                  }
                  return -1;
                  }
                  

                  Il me donne une erreur à

                  return i;
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • EclipseOnFire
                    EclipseOnFire dernière édition par

                    Oui évidemment… T_T J’ai bouzillé ma boucle ^^ Essaye ça :

                    
                    int j = 0;
                    for(ItemStack i : player.inventory.mainInventory){
                    if(i != null && i.itemID == itemId){
                    return j;
                    }
                    j++;
                    }
                    return -1;
                    
                    

                    Travaille sur un super serveur, Wirestone.

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                      @‘EclipseOnFire’:

                      Essaye avec le code que j’ai conseillé, l’exception vient du fait que la boucle dépasse la taille de la liste.

                      for(ItemStack i : player.inventory.mainInventory){
                      if(i != null && i.itemID == itemId){
                      return i;
                      }
                      return -1;
                      }
                      

                      Regarde bien ce que tu fais ici. i est un ItemStack, et tu return i or la fonction est un int. Ça ne peux pas fonctionner …
                      Si j’ai utiliser un nombre i c’est pas pour rien, je connais aussi les itérateurs, mais ils ne convient pas dans ce cas.

                      Je comprends pas pourquoi il return -1 alors que ton code vérifie que le joueur à bien l’item sur lui, c’est étrange.

                      Tu peux faire du debug ?

                      private int getItemIntoInventory(EntityPlayer player, int itemId)
                      {
                      for(int i = 0; i < player.inventory.mainInventory.lenth; i ++)
                      {
                      if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
                      {
                      return i;
                      System.out.println("l'item se trouve dans le slot : " + i);
                      }
                      }
                      System.out.println("l'item non trouvé");
                      return -1;
                      }
                      

                      EDIT : j’ai mit le return -1 au mauvais endroit, c’est pour ça x)

                      1 réponse Dernière réponse Répondre Citer 0
                      • Nolan-XX
                        Nolan-XX dernière édition par

                        Parfait, ça marche, sauf que la boite de munition ne se détruit pas lorsqu’elle est vide.

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                          Remplace

                          player.inventory.mainInventory[getItemIntoInventory(player, EastonIsland.I9mm.itemID)].damageItem(1, player);
                          

                          par :

                          int slotId = getItemIntoInventory(player, EastonIsland.I9mm.itemID);
                          player.inventory.mainInventory[slotId].damageItem(1, player);
                          if(player.inventory.mainInventory[slotId].getItemDamage == 0)
                          {
                          player.inventory.mainInventory[slotId] = null;
                          }
                          
                          1 réponse Dernière réponse Répondre Citer 0
                          • EclipseOnFire
                            EclipseOnFire dernière édition par

                            Je vire mes posts ça va alléger !

                            Travaille sur un super serveur, Wirestone.

                            1 réponse Dernière réponse Répondre Citer 0
                            • Nolan-XX
                              Nolan-XX dernière édition par

                              Une erreur a

                              int slotId = player.inventory.mainInventory[getItemIntoInventory(player, EastonIsland.I9mm.itemID)];
                              

                              :```
                              Type mismatch: cannot convert from ItemStack to int

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                oups x)
                                int slotId = getItemIntoInventory(player, EastonIsland.I9mm.itemID);

                                1 réponse Dernière réponse Répondre Citer 0
                                • Nolan-XX
                                  Nolan-XX dernière édition par

                                  Parfait, merci.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Nolan-XX
                                    Nolan-XX dernière édition par

                                    En fait non, il m’envoie une erreur à :

                                    java.lang.ArrayIndexOutOfBoundsException: -1
                                    

                                    La classe de l’item

                                    
                                    package assets.ei.Weapons;
                                    
                                    import net.minecraft.client.renderer.texture.IconRegister;
                                    import net.minecraft.entity.Entity;
                                    import net.minecraft.entity.EntityLivingBase;
                                    import net.minecraft.entity.player.EntityPlayer;
                                    import net.minecraft.item.ItemStack;
                                    import net.minecraft.util.MovingObjectPosition;
                                    import net.minecraft.world.World;
                                    import assets.NolanCore.Data.EntityShoot;
                                    import assets.ei.Data.EastonIsland;
                                    import assets.ei.Data.EntityBullet;
                                    import assets.ei.Data.ItemWeapon;
                                    import assets.mgs.common.Main;
                                    
                                    public class W_GP extends ItemWeapon
                                    {
                                    
                                    private int timer = 0;
                                    
                                    public W_GP(int par1)
                                    {
                                    super(par1);
                                    this.maxStackSize = 1;
                                    this.setCreativeTab(EastonIsland.Ei3);
                                    }
                                    
                                    /*
                                    * private int getItemIntoInventory(EntityPlayer player, int itemId)
                                    {
                                    for(int i = 0; i < player.inventory.mainInventory.lenth; i ++)
                                    {
                                    if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
                                    {
                                    return i;
                                    }
                                    return -1;
                                    }
                                    }*/
                                    
                                    public boolean onEntitySwing(EntityLivingBase e, ItemStack s)
                                    {
                                    if (s.getItemDamage() == 0)
                                    if (e instanceof EntityPlayer)
                                    {
                                    EntityPlayer player = (EntityPlayer) e;
                                    boolean flag = false;
                                    
                                    if (player.capabilities.isCreativeMode)
                                    {
                                    flag = true;
                                    }
                                    else
                                    {
                                    player.inventory.mainInventory[getItemIntoInventory(player, EastonIsland.I9mm.itemID)].damageItem(1, player);
                                    
                                    }
                                    
                                    if (flag)
                                    {
                                    EntityBullet bullet = new EntityBullet(e.worldObj, e, false, "GP", 5, 64);
                                    if (!e.worldObj.isRemote)
                                    e.worldObj.spawnEntityInWorld(bullet);
                                    e.worldObj.playSoundAtEntity(e, "ei:pistol_fire", 0.5f, 1);
                                    onUsed(s, e);
                                    int slotId = getItemIntoInventory(player, EastonIsland.I9mm.itemID);
                                    player.inventory.mainInventory[slotId].damageItem(1, player);
                                    if(player.inventory.mainInventory[slotId].getItemDamage() == 0)
                                    {
                                    player.inventory.mainInventory[slotId] = null;
                                    }
                                    }
                                    else
                                    e.worldObj.playSoundAtEntity(e, "ei:ClipEmpty_Pistol",0.5f, 1);
                                    
                                    }
                                    return true;
                                    }
                                    
                                    private int getItemIntoInventory(EntityPlayer player, int itemId)
                                    {
                                    for(int i = 0; i < player.inventory.mainInventory.length; i ++)
                                    {
                                    if(player.inventory.mainInventory* != null && player.inventory.mainInventory*.itemID == itemId)
                                    {
                                    return i;
                                    }
                                    }
                                    System.out.println("l'item non trouvé");
                                    return -1;
                                    }
                                    
                                    public boolean onBlockStartBreak(ItemStack s, int x, int y, int z,EntityPlayer player)
                                    {
                                    return true;
                                    }
                                    
                                    public boolean hitEntity(ItemStack s, EntityLivingBase e, EntityLivingBase source)
                                    {
                                    if (s.getItemDamage() == 0)
                                    if (source instanceof EntityPlayer) {
                                    EntityPlayer player = (EntityPlayer) source;
                                    boolean flag = false;
                                    if (player.capabilities.isCreativeMode)
                                    {
                                    flag = true;
                                    } else
                                    {
                                    flag = player.inventory
                                    .consumeInventoryItem(EastonIsland.I9mm.itemID);
                                    }
                                    if (flag)
                                    {
                                    if (!e.worldObj.isRemote)
                                    new EntityBullet(source.worldObj, source, false, "GP",5, 64).onImpact(new MovingObjectPosition(e));
                                    onUsed(s, source);
                                    }
                                    else
                                    source.worldObj.playSoundAtEntity(source,"ei:ClipEmpty_Pistol", 1, 1);
                                    }
                                    return false;
                                    }
                                    
                                    private void onUsed(ItemStack s, EntityLivingBase e) {
                                    s.setItemDamage(20);
                                    }
                                    
                                    public void onUpdate(ItemStack s, World w, Entity p, int i, boolean flag) {
                                    super.onUpdate(s, w, p, i, flag);
                                    if (s.getItemDamage() > 0)
                                    {
                                    s.setItemDamage(s.getItemDamage() - 1);
                                    }
                                    }
                                    
                                    @Override
                                    public void registerIcons(IconRegister iconRegister)
                                    {
                                    itemIcon = iconRegister.registerIcon("ei:Pistolet Browning GP");
                                    }
                                    }
                                    
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                      int slotId = getItemIntoInventory(player, EastonIsland.I9mm.itemID);
                                      if(slotId >= 0)
                                      {
                                      player.inventory.mainInventory[slotId].damageItem(1, player);
                                      if(player.inventory.mainInventory[slotId].getItemDamage() == 0)
                                      {
                                      player.inventory.mainInventory[slotId] = null;
                                      }
                                      }
                                      

                                      Tu n’avais pas de munition quand tu as eu le crash, si ?

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • Nolan-XX
                                        Nolan-XX dernière édition par

                                        Non, je n’en n’avais pas

                                        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