Sophisticated Storage

Sophisticated Storage

28M Downloads

Crash when shift-click crafting a stack of something

MaxWasUnavailable opened this issue · 4 comments

commented

Hasn't happened before the latest update. Might be a weird edge case / random occurence.

  • sophisticatedcore-1.20.1-0.6.11.578.jar
  • sophisticatedstorage-1.20.1-0.10.11.766.jar
  • sophisticatedbackpacks-1.20.1-3.20.3.1034.jar
java.lang.IndexOutOfBoundsException: Index 10 out of bounds for length 10
	at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) ~[?:?] {}
	at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) ~[?:?] {}
	at jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266) ~[?:?] {}
	at java.util.Objects.checkIndex(Objects.java:361) ~[?:?] {re:mixin}
	at java.util.ArrayList.get(ArrayList.java:427) ~[?:?] {re:mixin}
	at net.p3pp3rf1y.sophisticatedcore.upgrades.crafting.CraftingUpgradeContainer$2.m_142406_(CraftingUpgradeContainer.java:84) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.p3pp3rf1y.sophisticatedcore.common.gui.UpgradeContainerBase.onTakeFromSlot(UpgradeContainerBase.java:100) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.p3pp3rf1y.sophisticatedcore.common.gui.StorageContainerMenuBase.lambda$quickMoveStack$11(StorageContainerMenuBase.java:644) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at java.util.Optional.ifPresent(Optional.java:178) ~[?:?] {re:mixin}
	at net.p3pp3rf1y.sophisticatedcore.common.gui.StorageContainerMenuBase.m_7648_(StorageContainerMenuBase.java:644) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.p3pp3rf1y.sophisticatedcore.common.gui.StorageContainerMenuBase.m_150430_(StorageContainerMenuBase.java:1011) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.minecraft.world.inventory.AbstractContainerMenu.m_150399_(AbstractContainerMenu.java:294) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:highlighter.mixins.json:AbstractContainerMenuMixin,pl:mixin:APP:placebo.mixins.json:AbstractContainerMenuInvoker,pl:mixin:APP:create_connected.mixins.json:contraption.AbstractContainerMenuMixin,pl:mixin:APP:immersiveengineering.mixins.json:accessors.ContainerAccess,pl:mixin:APP:mindfuldarkness.common.mixins.json:client.accessor.AbstractContainerMenuAccessor,pl:mixin:APP:eidolon.mixins.json:AbstractContainerMenuMixin,pl:mixin:APP:aether.mixins.json:common.accessor.AbstractContainerMenuAccessor,pl:mixin:APP:relics.mixins.json:MixinAbstractContainerMenu,pl:mixin:A}
	at net.p3pp3rf1y.sophisticatedcore.common.gui.StorageContainerMenuBase.m_150399_(StorageContainerMenuBase.java:398) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.p3pp3rf1y.sophisticatedcore.client.gui.StorageScreenBase.handleInventoryMouseClick(StorageScreenBase.java:771) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.p3pp3rf1y.sophisticatedcore.client.gui.StorageScreenBase.m_6597_(StorageScreenBase.java:760) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.minecraft.client.gui.screens.inventory.AbstractContainerScreen.m_6375_(AbstractContainerScreen.java:329) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:apotheosis.mixins.json:client.AbstractContainerScreenMixin,pl:mixin:APP:highlighter.mixins.json:AbstractContainerScreenMixin,pl:mixin:APP:attributeslib.mixins.json:client.AbstractContainerScreenMixin,pl:mixin:APP:findme-common.mixins.json:MixinSlotRenderer,pl:mixin:APP:balm.mixins.json:AbstractContainerScreenAccessor,pl:mixin:APP:mousetweaks.mixins.json:AbstractContainerScreenAccessor,pl:mixin:APP:inventoryessentials.mixins.json:AbstractContainerScreenAccessor,pl:mixin:APP:itemborders.mixins.json:AbstractContainerScreenMixin,pl:mixin:APP:quark.mixins.json:client.ContainerScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.p3pp3rf1y.sophisticatedcore.client.gui.StorageScreenBase.m_6375_(StorageScreenBase.java:828) ~[sophisticatedcore-1.20.1-0.6.11.578.jar%23827!/:1.20.1-0.6.11.578] {re:classloading}
	at net.minecraft.client.MouseHandler.m_168084_(MouseHandler.java:92) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:exposure-common.mixins.json:ViewfinderSensitivityMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:plasmovoice.mixins.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:corgilib.mixins.json:client.MixinMouseHandler,pl:mixin:APP:creativecore.mixins.json:MouseHandlerAccessor,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:relics.mixins.json:MixinMouseHandler,pl:mixin:APP:beachparty-common.mixins.json:MouseMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMouseHandler,pl:mixin:APP:seamless_loading_screen-common.mixins.json:MouseMixin,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.gui.screens.Screen.m_96579_(Screen.java:437) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:computing_frames,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:seamless_loading_screen-common.mixins.json:ScreenMixin,pl:mixin:APP:clickadv.mixins.json:ScreenMixin,pl:mixin:APP:yungsmenutweaks.mixins.json:ScreenMixin,pl:mixin:APP:cumulus_menus.mixins.json:client.accessor.ScreenAccessor,pl:mixin:APP:kiwi.mixins.json:client.ScreenMixin,pl:mixin:APP:balm.mixins.json:ScreenAccessor,pl:mixin:APP:aether.mixins.json:client.accessor.ScreenAccessor,pl:mixin:APP:controlling.mixins.json:AccessScreen,pl:mixin:APP:relics.mixins.json:MixinScreen,pl:mixin:APP:patchouli_xplat.mixins.json:client.AccessorScreen,pl:mixin:APP:configured.common.mixins.json:client.ScreenMixin,pl:mixin:APP:quark.mixins.json:client.ScreenMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.MouseHandler.m_91530_(MouseHandler.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:exposure-common.mixins.json:ViewfinderSensitivityMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:plasmovoice.mixins.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:corgilib.mixins.json:client.MixinMouseHandler,pl:mixin:APP:creativecore.mixins.json:MouseHandlerAccessor,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:relics.mixins.json:MixinMouseHandler,pl:mixin:APP:beachparty-common.mixins.json:MouseMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMouseHandler,pl:mixin:APP:seamless_loading_screen-common.mixins.json:MouseMixin,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.MouseHandler.m_168091_(MouseHandler.java:189) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:exposure-common.mixins.json:ViewfinderSensitivityMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:plasmovoice.mixins.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:corgilib.mixins.json:client.MixinMouseHandler,pl:mixin:APP:creativecore.mixins.json:MouseHandlerAccessor,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:relics.mixins.json:MixinMouseHandler,pl:mixin:APP:beachparty-common.mixins.json:MouseMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMouseHandler,pl:mixin:APP:seamless_loading_screen-common.mixins.json:MouseMixin,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
	at net.minecraft.client.MouseHandler.m_91565_(MouseHandler.java:188) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:exposure-common.mixins.json:ViewfinderSensitivityMixin,pl:mixin:APP:supplementaries-common.mixins.json:MouseHandlerMixin,pl:mixin:APP:plasmovoice.mixins.json:MixinMouseHandler,pl:mixin:APP:mixins.cofhcore.json:MouseHandlerMixin,pl:mixin:APP:corgilib.mixins.json:client.MixinMouseHandler,pl:mixin:APP:creativecore.mixins.json:MouseHandlerAccessor,pl:mixin:APP:balm.mixins.json:MouseHandlerAccessor,pl:mixin:APP:relics.mixins.json:MixinMouseHandler,pl:mixin:APP:beachparty-common.mixins.json:MouseMixin,pl:mixin:APP:railways-common.mixins.json:conductor_possession.MixinMouseHandler,pl:mixin:APP:seamless_loading_screen-common.mixins.json:MouseMixin,pl:mixin:APP:smallships-common.mixins.json:zooming.client.MouseHandlerMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at org.lwjgl.glfw.GLFWMouseButtonCallback$Container.invoke(GLFWMouseButtonCallback.java:81) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {}
	at imgui.glfw.ImGuiImplGlfw.mouseButtonCallback(ImGuiImplGlfw.java:123) ~[CorgiLib-forge-1.20.1-4.0.1.1.jar%23607!/:4.0.1.1] {re:classloading}
	at org.lwjgl.glfw.GLFWMouseButtonCallback$Container.invoke(GLFWMouseButtonCallback.java:81) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {}
	at bre2el.fpsreducer.handler.glfw.InputEventHandler$MouseButtonEventHandler.invoke(InputEventHandler.java:133) ~[FpsReducer2-forge-1.20-2.5.jar%23682!/:1.20-2.5] {re:classloading}
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {}
	at org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.1.jar%23153!/:build 7] {}
	at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403) ~[lwjgl-glfw-3.3.1.jar%23141!/:build 7] {re:mixin}
	at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:201) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.oculus.json:MixinGlStateManager,pl:mixin:APP:mixins.oculus.json:MixinRenderSystem,pl:mixin:APP:mixins.oculus.json:statelisteners.MixinRenderSystem,pl:mixin:APP:flywheel.mixins.json:RenderTexturesMixin,pl:mixin:APP:fpsreducer.mixins.json:RenderSystemMixin,pl:mixin:APP:embeddium.mixins.json:workarounds.event_loop.RenderSystemMixin,pl:mixin:A}
	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:219) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:mixins.oculus.json:MixinGlStateManager,pl:mixin:APP:mixins.oculus.json:MixinRenderSystem,pl:mixin:APP:mixins.oculus.json:statelisteners.MixinRenderSystem,pl:mixin:APP:flywheel.mixins.json:RenderTexturesMixin,pl:mixin:APP:fpsreducer.mixins.json:RenderSystemMixin,pl:mixin:APP:embeddium.mixins.json:workarounds.event_loop.RenderSystemMixin,pl:mixin:A}
	at com.mojang.blaze3d.platform.Window.m_85435_(Window.java:274) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:vinery-common.mixins.json:WindowMixin,pl:mixin:APP:immediatelyfast-common.mixins.json:core.MixinWindow,pl:mixin:APP:brewery-common.mixins.json:WindowMixin,pl:mixin:APP:embeddiumextras.mixin.json:borderless.BorderlessWindowMixin,pl:mixin:APP:embeddiumextras.mixin.json:borderless.accessors.MainWindowAccessor,pl:mixin:APP:relics.mixins.json:MixinWindow,pl:mixin:APP:embeddium.mixins.json:workarounds.context_creation.WindowMixin,pl:mixin:APP:mixins.oculus.json:MixinWindow,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1170) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23882!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.2.16.jar:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:flywheel.mixins.json:ClientMainMixin,pl:mixin:APP:smoothboot.mixins.json:client.MainMixin,pl:mixin:A,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {re:mixin}
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.2.16.jar:?] {}
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.2.16.jar:?] {}
	at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.2.16.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}

commented

yeah probably some kind of special case or potentially interaction with one of the other mods you have in the pack because I am unable to recreate however much I try to shift click craft all kinds of stuff.
If you can recreate could you provide me with steps / additional info, perhaps multiple upgrades in the storage / order of upgrades / ...

commented

It happened randomly in the middle of crafting - after having previously crafted other stuff. Couldn't reproduce it when finishing crafting the exact stack that crashed me - so it's probably some weird mod interaction or special case. Sorry I don't have more information to go on 😅

Note that this happened when crafting in the backpack crafting table upgrade, for a diamond backpack with a record player and pickup upgrade. Nothing else relevant I can think of.

commented

I got one more report on this and it looks like some recipe is a bit funky because it tries to leave and item in 10th slot of the crafting grid after crafting. It's a kind of recipe like the one in vanilla that leaves buckets after crafting a cake with buckets of milk but in this case it tries to leave it in invalid slot that doesn't exist in the crafting table. I am guessing vanilla crafting table just ignores any items put into slots like that so they just get deleted. I will likely implement a logic like that and some logging to log what recipe is doing that so that they can fix it as well.

commented

I added that logging + dropping of items that get put into the extra slots a bit ago so this is now fixed