grondag / facility

GNU Lesser General Public License v3.0
1 stars 1 forks source link

Scrolling in an empty crate causes a crash #4

Closed haykam821 closed 4 years ago

haykam821 commented 4 years ago

If one scrolls in a crate while its list of items is empty (either because it is empty or all the items have been filtered by the search), the game will crash with the following error:

java.lang.ArrayIndexOutOfBoundsException: -36
    at it.unimi.dsi.fastutil.objects.ObjectArrayList.get(ObjectArrayList.java:311)
    at grondag.fermion.gui.control.TabBar.get(TabBar.java:410)
    at grondag.fermion.gui.control.TabBar.drawContent(TabBar.java:152)
    at grondag.fermion.gui.control.ItemStackPicker.drawContent(ItemStackPicker.java:68)
    at grondag.fermion.gui.control.AbstractControl.drawControl(AbstractControl.java:91)
    at grondag.facility.client.ItemStorageScreen.drawControls(ItemStorageScreen.java:157)
    at grondag.fermion.gui.AbstractSimpleContainerScreen.render(AbstractSimpleContainerScreen.java:88)
    at net.minecraft.class_757.method_3192(class_757.java:604)
    at net.minecraft.class_310.method_1523(class_310.java:989)
    at net.minecraft.class_310.method_1514(class_310.java:619)
    at net.minecraft.client.main.Main.main(Main.java:204)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:193)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:138)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
    at org.multimc.EntryPoint.main(EntryPoint.java:34)

This error can be reproduced on Minecraft 1.15.2 Pre-Release 2 with Facility 0.3.98.

grondag commented 4 years ago

Fixed in Fermion. Will be included in 0.4.

https://github.com/grondag/fermion/commit/af61f0e0fa992f507bafd94ea6b12f50d34f9b39