refinedmods / refinedstorage2

Refined Storage is a mass storage mod for Minecraft that offers the player a network-based storage system, allowing them to store items and fluids on a massively expandable device network.
https://refinedmods.com/refined-storage
MIT License
150 stars 15 forks source link

[Fabric] Index Out of Bounds Exception while rendering screen #508

Closed bastirlnd closed 6 months ago

bastirlnd commented 6 months ago

Describe the bug

Exception gets thrown after clicking the search bar and looking for any item. Occassionally also while having an item selected and clicking the search bar.

Tried this with and without shaders, rendering issues unrelated.

On Fabric 1.20.1 with the release for said version (listed below).

Full modlist: modlist.txt

How can we reproduce this bug or crash?

  1. Open crafting terminal
  2. 50/50 of it happening when clicking on the search bar without item or with
  3. Look for any item within the system (I tested it trying to craft quartz enriched iron, head iron on my cursor and looked for nether quartz in the system)

What Minecraft version is this happening on?

Minecraft 1.20.1

What NeoForge or Fabric version is this happening on?

fabric-loader-0.14.25.-1.20.1

What Refined Storage version is this happening on?

refinedstorage2-platform-fabric-2.0.0-milestone.3.0

Relevant log output

## Stacktrace after the initial report

Description: Rendering screen

java.lang.IndexOutOfBoundsException: Index 2 out of bounds for length 2
    at java.base@17.0.8/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base@17.0.8/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base@17.0.8/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base@17.0.8/java.util.Objects.checkIndex(Objects.java:361)
    at java.base@17.0.8/java.util.ArrayList.get(ArrayList.java:427)
    at com.anthonyhilyard.iceberg.util.Tooltips.centerTitle(Tooltips.java:531)
    at MC//net.minecraft.client.gui.DrawContext.handler$hpe000$legendarytooltips$centerTitle(DrawContext.java:16308)
    at MC//net.minecraft.client.gui.DrawContext.drawTooltip(DrawContext.java:626)
    at com.refinedmods.refinedstorage2.platform.fabric.PlatformImpl.renderTooltip(PlatformImpl.java:384)
    at com.refinedmods.refinedstorage2.platform.common.PlatformProxy.renderTooltip(PlatformProxy.java:240)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.renderOverStorageAreaTooltip(AbstractGridScreen.java:355)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.drawMouseoverTooltip(AbstractGridScreen.java:341)
    at com.refinedmods.refinedstorage2.platform.common.screen.AbstractBaseScreen.render(AbstractBaseScreen.java:88)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.render(AbstractGridScreen.java:440)
    at MC//net.minecraft.client.gui.screen.Screen.renderWithTooltip(Screen.java:110)
    at MC//net.minecraft.client.render.GameRenderer.render(GameRenderer.java:945)
    at MC//net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1219)
    at MC//net.minecraft.client.MinecraftClient.run(MinecraftClient.java:802)
    at net.minecraft.client.main.Main.main(Main.java:250)
    at app//net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at app//net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at app//net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

################
## Stacktrace ##
################

-- Head --
Thread: Render thread
Stacktrace:
    at java.base@17.0.8/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base@17.0.8/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base@17.0.8/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base@17.0.8/java.util.Objects.checkIndex(Objects.java:361)
    at java.base@17.0.8/java.util.ArrayList.get(ArrayList.java:427)
    at com.anthonyhilyard.iceberg.util.Tooltips.centerTitle(Tooltips.java:531)
    at MC//net.minecraft.client.gui.DrawContext.handler$hpe000$legendarytooltips$centerTitle(DrawContext.java:16308)
    at MC//net.minecraft.client.gui.DrawContext.drawTooltip(DrawContext.java:626)
    at com.refinedmods.refinedstorage2.platform.fabric.PlatformImpl.renderTooltip(PlatformImpl.java:384)
    at com.refinedmods.refinedstorage2.platform.common.PlatformProxy.renderTooltip(PlatformProxy.java:240)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.renderOverStorageAreaTooltip(AbstractGridScreen.java:355)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.drawMouseoverTooltip(AbstractGridScreen.java:341)
    at com.refinedmods.refinedstorage2.platform.common.screen.AbstractBaseScreen.render(AbstractBaseScreen.java:88)
    at com.refinedmods.refinedstorage2.platform.common.screen.grid.AbstractGridScreen.render(AbstractGridScreen.java:440)
    at MC//net.minecraft.client.gui.screen.Screen.renderWithTooltip(Screen.java:110)
Mixins in Stacktrace: None found

-- Screen render details --
Details:
    Screen name: com.refinedmods.refinedstorage2.platform.common.screen.grid.CraftingGridScreen
    Mouse location: Scaled: (364, 209). Absolute: (1092.000000, 627.000000)
    Screen size: Scaled: (833, 473). Absolute: (2498, 1417). Scale factor of 3.000000
Stacktrace:
    at MC//net.minecraft.client.render.GameRenderer.render(GameRenderer.java:945)
    at MC//net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1219)
    at MC//net.minecraft.client.MinecraftClient.run(MinecraftClient.java:802)
    at net.minecraft.client.main.Main.main(Main.java:250)
    at app//net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at app//net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at app//net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Mixins in Stacktrace:
    net.minecraft.client.main.Main:
        com.jozufozu.flywheel.mixin.ClientMainMixin (flywheel.mixins.json)
        org.vivecraft.mixin.client.main.MainMixin (vivecraft.mixins.json)
bastirlnd commented 6 months ago

Update: also happens on version refinedstorage2-platform-fabric-2.0.0-milestone.3.2. Just tested it.

bastirlnd commented 6 months ago

Also happens if you grab an item from the system and hover over any other item in the system with it. Same Index Out Of Bounds exception.

raoulvdberge commented 6 months ago

Not an RS issue: https://github.com/refinedmods/refinedstorage2/issues/463