Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Objet qui s'use

    Anciennes versions
    1.6.4
    3
    18
    3886
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Nolan-XX
      Nolan-XX last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        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 Reply Last reply Reply Quote 0
        • Nolan-XX
          Nolan-XX last edited by

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

          1 Reply Last reply Reply Quote 0
          • EclipseOnFire
            EclipseOnFire last edited by

            @‘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)
            
            1 Reply Last reply Reply Quote 0
            • Nolan-XX
              Nolan-XX last edited by

              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 Reply Last reply Reply Quote 0
              • EclipseOnFire
                EclipseOnFire last edited by

                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;
                }
                
                1 Reply Last reply Reply Quote 0
                • Nolan-XX
                  Nolan-XX last edited by

                  @‘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 Reply Last reply Reply Quote 0
                  • EclipseOnFire
                    EclipseOnFire last edited by

                    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;
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                      @‘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 Reply Last reply Reply Quote 0
                      • Nolan-XX
                        Nolan-XX last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                          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 Reply Last reply Reply Quote 0
                          • EclipseOnFire
                            EclipseOnFire last edited by

                            Je vire mes posts ça va alléger !

                            1 Reply Last reply Reply Quote 0
                            • Nolan-XX
                              Nolan-XX last edited by

                              Une erreur a

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

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

                              1 Reply Last reply Reply Quote 0
                              • robin4002
                                robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • Nolan-XX
                                  Nolan-XX last edited by

                                  Parfait, merci.

                                  1 Reply Last reply Reply Quote 0
                                  • Nolan-XX
                                    Nolan-XX last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • robin4002
                                      robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                                      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 Reply Last reply Reply Quote 0
                                      • Nolan-XX
                                        Nolan-XX last edited by

                                        Non, je n’en n’avais pas

                                        1 Reply Last reply Reply Quote 0
                                        • 1 / 1
                                        • First post
                                          Last post
                                        Design by Woryk
                                        Contact / Mentions Légales / Faire un don

                                        MINECRAFT FORGE FRANCE © 2018

                                        Powered by NodeBB