0.12.12 update creates incompatibility with Inventory profiles next mod
VindSole opened this issue · 4 comments
The 0.12.12 update made the mod Inventory profiles next not behave correctly. using the option Move matching items in a container doesn't work and outputs "java.lang.IllegalStateException: Unequal before and after item counts" in chat. 0.12.11 and before worked correctly.
[15:01:39] [Render thread/INFO]: [STDERR]: java.lang.IllegalStateException: Unequal before and after item counts
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.inventory.sandbox.ItemPlanner.tracker(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.inventory.AdvancedContainer.tracker(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.inventory.AdvancedContainer$Companion.tracker(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.inventory.AdvancedContainer$Companion.tracker$default(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.inventory.GeneralInventoryActions.doMoveMatch(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.gui.inject.SortingButtonCollectionWidget$InitWidgets.moveAllToContainer$lambda$11(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.IPNButtonWidget.init$lambda$2(ButtonWidget.kt:45)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.IPNButtonWidget.onClick(ButtonWidget.kt:55)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.IPNButtonWidget.mouseClicked(ButtonWidget.kt:64)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.gui.inject.base.TexturedButtonWidget.mouseClicked(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.IWidgetEventTarget$DefaultImpls.mouseClicked(Widget.kt:368)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.IWidget$DefaultImpls.mouseClicked(Widget.kt:157)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.gui.widgets.Widget.mouseClicked(Widget.kt:46)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.ipnext.gui.inject.InsertWidgetHandler.mouseClicked(Unknown Source)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.input.GlobalScreenEventListener.onMouseClicked(GlobalScreenEventListener.kt:77)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.anti_ad.mc.common.input.GlobalScreenEventListener.onMouse(GlobalScreenEventListener.kt:196)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_312.handler$dfo000$libipn$onScreenMouseButton(class_312.java:3062)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_312.method_1601(class_312.java:107)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_312.method_22686(class_312.java:196)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_1255.execute(class_1255.java:108)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_312.method_22684(class_312.java:196)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.lwjgl.glfw.GLFWMouseButtonCallback$Container.invoke(GLFWMouseButtonCallback.java:81)
[15:01:39] [Render thread/INFO]: [STDERR]: at bre2el.fpsreducer.handler.glfw.InputEventHandler$MouseButtonEventHandler.invoke(InputEventHandler.java:133)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.lwjgl.system.JNI.invokeV(Native Method)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3438)
[15:01:39] [Render thread/INFO]: [STDERR]: at com.mojang.blaze3d.systems.RenderSystem.pollEvents(RenderSystem.java:150)
[15:01:39] [Render thread/INFO]: [STDERR]: at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:168)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_1041.method_15998(class_1041.java:303)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_310.method_1523(class_310.java:1307)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.class_310.method_1514(class_310.java:882)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.minecraft.client.main.Main.main(Main.java:256)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
[15:01:39] [Render thread/INFO]: [STDERR]: at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
[15:01:39] [Render thread/INFO]: [STDERR]: at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
[15:01:39] [Render thread/INFO]: [System] [CHAT] 15:01 java.lang.IllegalStateException: Unequal before and after item counts
also seeing this.
believe this to be the issue
An experimental API for deriving item stack components based on the user-provided components has been added (check OwoItem#deriveStackComponents). The current implementation only re-derives components when Item#postProcessComponents gets invoked and is subject to change
yeah, we already noticed this and fixed it, though I think glisco hasn't pushed the fix?
the problem is DerivedComponentMap's equals
and hashCode
methods taking into account the delegate, changing it to just pass through to the base fixes it
The fix for this has now been released in 0.12.13
Thanks for reporting!