V0idWa1k3r / SmartBackpacks

A backpack mod for minecraft that adds backpacks of varying sizes that can be upgraded with various upgrades.
GNU Lesser General Public License v3.0
6 stars 8 forks source link

Disallow ItemStackHandler to assume amount of slots #47

Open DBotThePony opened 5 years ago

DBotThePony commented 5 years ago

This fixes heisenbug with slots amount being incorrect after backpack upgrade

Description: Ticking player

java.lang.RuntimeException: Slot 9 not in valid range - [0,9)
    at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:214)
    at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73)
    at v0id.vsb.capability.Backpack$NBTItemHandler.getStackInSlot(Backpack.java:370)
    at net.minecraftforge.items.SlotItemHandler.getStack(SlotItemHandler.java:73)
    at net.minecraft.inventory.Container.detectAndSendChanges(Container.java:79)
    at net.minecraft.entity.player.EntityPlayerMP.onUpdate(EntityPlayerMP.java:324)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1993)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:832)
    at net.minecraft.world.World.updateEntity(World.java:1955)
    at net.minecraft.world.WorldServer.tickPlayers(WorldServer.java:642)
    at net.minecraft.world.World.updateEntities(World.java:1734)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:613)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:767)
    at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:397)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:668)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526)
    at java.lang.Thread.run(Unknown Source)