Пролема с иконками брони в слотах. 1.7.10

Вместо нормального расположения иконок по порядку, получаю 4 иконки головы.
Код:
public class ContainerInventory extends Container {

   public InventoryCrafting craftMatrix = new InventoryCrafting(this, 2, 2);
   public IInventory craftResult = new InventoryCraftResult();
   public boolean isLocalWorld = false;
   protected final EntityPlayer thePlayer;


   public ContainerInventory(final InventoryPlayer par1InventoryPlayer, boolean par2, EntityPlayer par3EntityPlayer) {
      this.isLocalWorld = par2;
      this.thePlayer = par3EntityPlayer;
      short pos = -5000;
      this.addSlotToContainer(new SlotCrafting(par1InventoryPlayer.player, this.craftMatrix, this.craftResult, 0, pos, pos));

      int i = 0;
      final int i1 = i;
      int j;
      for(i = 0; i < 2; ++i) {
         for(j = 0; j < 2; ++j) {
            this.addSlotToContainer(new Slot(this.craftMatrix, j + i * 2, pos, pos));
         }
      }

      for(i = 0; i < 4; ++i) {
         this.addSlotToContainer(new Slot(par1InventoryPlayer, par1InventoryPlayer.getSizeInventory() - 1 - i, 71 + i * 19, 24) {
            public int getSlotStackLimit() {
               return 1;
            }
            public boolean isItemValid(ItemStack p_75214_1_) {
               return p_75214_1_ == null?false:p_75214_1_.getItem().isValidArmor(p_75214_1_, i1, ContainerInventory.this.thePlayer);
            }
            public IIcon getBackgroundIconIndex() {
               return ItemArmor.func_94602_b(i1);
            }
         });
      }

      for(i = 0; i < 3; ++i) {
         for(j = 0; j < 9; ++j) {
            this.addSlotToContainer(new Slot(par1InventoryPlayer, j + (i + 1) * 9, 4 + j * 19, 97 + i * 19));
         }
      }

      for(i = 0; i < 9; ++i) {
         this.addSlotToContainer(new Slot(par1InventoryPlayer, i, 71 + i % 5 * 19, 55 + i / 5 * 19));
      }

   }

   public void onCraftMatrixChanged(IInventory par1IInventory) {}

   public void onCraftGuiClosed(EntityPlayer par1EntityPlayer) {}

   public boolean canInteractWith(EntityPlayer par1EntityPlayer) {
      return true;
   }

   public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) {
      return new ItemStack(Blocks.stone, 64);
   }

   public boolean func_94530_a(ItemStack par1ItemStack, Slot par2Slot) {
      return par2Slot.inventory != this.craftResult && super.func_94530_a(par1ItemStack, par2Slot);
   }
}
 
Нуу, так и есть же. У тебя и1 финальный ноль.
 
Если не делать его финальным, ругается на i1
Код:
public boolean isItemValid(ItemStack p_75214_1_) {
               return p_75214_1_ == null?false:p_75214_1_.getItem().isValidArmor(p_75214_1_, i1, ContainerInventory.this.thePlayer);
            }
            public IIcon getBackgroundIconIndex() {
               return ItemArmor.func_94602_b(i1);
            }
 
Ну, от таких багрепортов я тоже скоро начну ругаться.
 
Код:
net.minecraft.util.ReportedException: Rendering screen
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1176) ~[EntityRenderer.class:?]
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1066) ~[Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:961) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_65]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_65]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_65]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_65]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_65]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_65]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_65]
    at GradleStart.bounce(GradleStart.java:107) [start/:?]
    at GradleStart.startClient(GradleStart.java:100) [start/:?]
    at GradleStart.main(GradleStart.java:55) [start/:?]
Caused by: java.lang.Error: Unresolved compilation problem: 
    Cannot refer to a non-final variable i1 inside an inner class defined in a different method

    at com.adryanoalf.dayz.client.gui.ContainerInventory$1.getBackgroundIconIndex(ContainerInventory.java:48) ~[ContainerInventory$1.class:?]
    at com.adryanoalf.dayz.client.gui.DayZContainer.func_146977_a(DayZContainer.java:221) ~[DayZContainer.class:?]
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawAllSlots(DayZContainer.java:73) ~[DayZContainer.class:?]
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawScreen(DayZContainer.java:110) ~[DayZContainer.class:?]
    at com.adryanoalf.dayz.client.gui.DayZInventory.drawScreen(DayZInventory.java:50) ~[DayZInventory.class:?]
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1145) ~[EntityRenderer.class:?]
    ... 16 more
---- Minecraft Crash Report ----
// I'm sorry, Dave.

Time: 15.09.14 12:11
Description: Rendering screen

java.lang.Error: Unresolved compilation problem: 
    Cannot refer to a non-final variable i1 inside an inner class defined in a different method

    at com.adryanoalf.dayz.client.gui.ContainerInventory$1.getBackgroundIconIndex(ContainerInventory.java:48)
    at com.adryanoalf.dayz.client.gui.DayZContainer.func_146977_a(DayZContainer.java:221)
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawAllSlots(DayZContainer.java:73)
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawScreen(DayZContainer.java:110)
    at com.adryanoalf.dayz.client.gui.DayZInventory.drawScreen(DayZInventory.java:50)
    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1145)
    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1066)
    at net.minecraft.client.Minecraft.run(Minecraft.java:961)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at GradleStart.bounce(GradleStart.java:107)
    at GradleStart.startClient(GradleStart.java:100)
    at GradleStart.main(GradleStart.java:55)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at com.adryanoalf.dayz.client.gui.ContainerInventory$1.getBackgroundIconIndex(ContainerInventory.java:48)
    at com.adryanoalf.dayz.client.gui.DayZContainer.func_146977_a(DayZContainer.java:221)
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawAllSlots(DayZContainer.java:73)
    at com.adryanoalf.dayz.client.gui.DayZContainer.drawScreen(DayZContainer.java:110)
    at com.adryanoalf.dayz.client.gui.DayZInventory.drawScreen(DayZInventory.java:50)

-- Screen render details --
Details:
    Screen name: com.adryanoalf.dayz.client.gui.DayZInventory
    Mouse location: Scaled: (213, 119). Absolute: (427, 240)
    Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2

-- Affected level --
Details:
    Level name: MpServer
    All players: 1 total; [EntityClientPlayerMP['ForgeDevName'/321, l='MpServer', x=709,70, y=5,62, z=182,70]]
    Chunk stats: MultiplayerChunkCache: 81, 81
    Level seed: 0
    Level generator: ID 01 - flat, ver 0. Features enabled: false
    Level generator options: 
    Level spawn location: World: (703,4,212), Chunk: (at 15,0,4 in 43,13; contains blocks 688,0,208 to 703,255,223), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
    Level time: 153669 game time, 28615 day time
    Level dimension: 0
    Level storage version: 0x00000 - Unknown?
    Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
    Forced entities: 49 total; [EntityBullet['entity.DayZMod.Bullet.name'/143, l='MpServer', x=701,03, y=4,00, z=182,16], EntityItem['item.item.porkchopRaw'/142, l='MpServer', x=697,75, y=4,13, z=140,41], EntityBullet['entity.DayZMod.Bullet.name'/152, l='MpServer', x=698,22, y=4,00, z=180,28], EntityBullet['entity.DayZMod.Bullet.name'/153, l='MpServer', x=698,13, y=4,00, z=180,22], EntityBullet['entity.DayZMod.Bullet.name'/154, l='MpServer', x=698,09, y=4,00, z=180,13], EntityBullet['entity.DayZMod.Bullet.name'/155, l='MpServer', x=698,00, y=4,00, z=180,22], EntityBullet['entity.DayZMod.Bullet.name'/156, l='MpServer', x=698,13, y=4,00, z=180,28], EntityBullet['entity.DayZMod.Bullet.name'/157, l='MpServer', x=700,59, y=4,03, z=182,69], EntityBullet['entity.DayZMod.Bullet.name'/158, l='MpServer', x=700,97, y=4,03, z=183,13], EntityBullet['entity.DayZMod.Bullet.name'/159, l='MpServer', x=701,06, y=4,03, z=183,41], EntityBullet['entity.DayZMod.Bullet.name'/144, l='MpServer', x=700,50, y=4,00, z=181,75], EntityBullet['entity.DayZMod.Bullet.name'/145, l='MpServer', x=699,50, y=4,00, z=181,25], EntityBullet['entity.DayZMod.Bullet.name'/146, l='MpServer', x=698,88, y=4,00, z=180,72], EntityBullet['entity.DayZMod.Bullet.name'/147, l='MpServer', x=698,56, y=4,00, z=180,56], EntityBullet['entity.DayZMod.Bullet.name'/148, l='MpServer', x=698,53, y=4,00, z=180,41], EntityBullet['entity.DayZMod.Bullet.name'/149, l='MpServer', x=698,38, y=4,00, z=180,44], EntityBullet['entity.DayZMod.Bullet.name'/150, l='MpServer', x=698,06, y=4,00, z=180,25], EntityBullet['entity.DayZMod.Bullet.name'/151, l='MpServer', x=698,00, y=4,00, z=180,06], EntityBullet['entity.DayZMod.Bullet.name'/163, l='MpServer', x=701,38, y=4,03, z=183,78], EntityBullet['entity.DayZMod.Bullet.name'/162, l='MpServer', x=701,44, y=4,03, z=183,69], EntityBullet['entity.DayZMod.Bullet.name'/161, l='MpServer', x=701,41, y=4,03, z=183,63], EntityBullet['entity.DayZMod.Bullet.name'/160, l='MpServer', x=701,16, y=4,03, z=183,50], EntityBullet['entity.DayZMod.Bullet.name'/167, l='MpServer', x=701,47, y=4,03, z=183,88], EntityBullet['entity.DayZMod.Bullet.name'/166, l='MpServer', x=701,41, y=4,03, z=183,69], EntityBullet['entity.DayZMod.Bullet.name'/165, l='MpServer', x=701,47, y=4,03, z=183,75], EntityBullet['entity.DayZMod.Bullet.name'/164, l='MpServer', x=701,47, y=4,03, z=183,78], EntityBullet['entity.DayZMod.Bullet.name'/205, l='MpServer', x=714,59, y=5,38, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/204, l='MpServer', x=714,66, y=5,41, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/207, l='MpServer', x=714,56, y=5,34, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/206, l='MpServer', x=714,50, y=5,38, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/201, l='MpServer', x=714,53, y=5,31, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/200, l='MpServer', x=714,56, y=5,38, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/203, l='MpServer', x=714,53, y=5,38, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/202, l='MpServer', x=714,50, y=5,38, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/197, l='MpServer', x=714,22, y=5,22, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/196, l='MpServer', x=714,28, y=5,22, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/199, l='MpServer', x=714,28, y=5,25, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/198, l='MpServer', x=714,31, y=5,31, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/193, l='MpServer', x=714,22, y=5,34, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/192, l='MpServer', x=714,16, y=5,34, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/195, l='MpServer', x=714,25, y=5,34, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/194, l='MpServer', x=714,22, y=5,28, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/212, l='MpServer', x=714,56, y=5,44, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/213, l='MpServer', x=711,03, y=5,44, z=185,00], EntityBullet['entity.DayZMod.Bullet.name'/208, l='MpServer', x=714,56, y=5,47, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/209, l='MpServer', x=714,59, y=5,66, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/210, l='MpServer', x=714,53, y=5,72, z=189,03], EntityBullet['entity.DayZMod.Bullet.name'/211, l='MpServer', x=714,53, y=5,75, z=189,03], EntityClientPlayerMP['ForgeDevName'/321, l='MpServer', x=709,70, y=5,62, z=182,70]]
    Retry entities: 0 total; []
    Server brand: fml,forge
    Server type: Integrated singleplayer server
Stacktrace:
    at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:417)
    at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2567)
    at net.minecraft.client.Minecraft.run(Minecraft.java:983)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:134)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at GradleStart.bounce(GradleStart.java:107)
    at GradleStart.startClient(GradleStart.java:100)
    at GradleStart.main(GradleStart.java:55)
 
Код:
Caused by: java.lang.Error: Unresolved compilation problem:
Эм...
 
laz2727 написал(а):
Код:
Caused by: java.lang.Error: Unresolved compilation problem:
Эм...
Код:
 Cannot refer to a non-final variable i1 inside an inner class defined in a different method
Я как бы и не могу нормально решить эту проблему, умник.
 
Назад
Сверху