Cannot set output quantity for processing pattern
uecasm opened this issue ยท 3 comments
Issue description:
In the Pattern Grid, I can set the quantity for items in the input grid but not in the output grid.
What happens:
When right-clicking an item in the output grid, the Item Amount popup appears as expected, however after changing the value and clicking Set the quantity is not actually updated.
What you expected to happen:
The quantity of the item should be updated, just as it works for the input grid.
Steps to reproduce:
- Right-click a Pattern Grid.
- Tick Processing mode.
- Add some items to each side (doesn't matter what).
- Right-click the items in the left grid and change the quantity, observe that this works.
- Right-click the items in the right grid and change the quantity, observe that this doesn't work.
Version:
- Minecraft: 1.16.4
- Forge: 35.1.13
- Refined Storage: 1.9.9
- Modpack: FTB DW20 1.1.1
Does this issue occur on a server? not tested
No, using actual items, both directly from RS storage or directly from player inventory.
If I have a stack of 32 items in my inventory and drop this on the right side, then it does update the pattern count to 32 as expected. Ditto if I drop a stack of 16 items there (the count becomes 16 as expected). But if I drop a stack of 16 items there and then right-click it to edit the value to 32, it remains at 16. Doing the same thing in the left grid, it does change to 32.
I just tried running a local build of 1.9.10 prerelease with no other mods (beyond the dependencies) loaded, and could reproduce the issue. It also reported the following trace when trying it, which is probably the cause:
[Server thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Server
java.lang.IndexOutOfBoundsException: Index: 13, Size: 9
at java.util.ArrayList.rangeCheck(ArrayList.java:659) ~[?:1.8.0_271]
at java.util.ArrayList.get(ArrayList.java:435) ~[?:1.8.0_271]
at com.refinedmods.refinedstorage.network.SetFilterSlotMessage.handle(SetFilterSlotMessage.java:67) ~[main/:?]
at com.refinedmods.refinedstorage.network.SetFilterSlotMessage.lambda$handle$0(SetFilterSlotMessage.java:47) ~[main/:?]
at net.minecraftforge.fml.network.NetworkEvent$Context.enqueueWork(NetworkEvent.java:215) ~[forge-1.16.3-34.1.0_mapped_snapshot_20200723-1.16.1.jar:?]
at com.refinedmods.refinedstorage.network.SetFilterSlotMessage.handle(SetFilterSlotMessage.java:43) ~[main/:?]
at net.minecraftforge.fml.network.simple.IndexedMessageCodec.lambda$tryDecode$3(IndexedMessageCodec.java:128) ~[forge-1.16.3-34.1.0_mapped_snapshot_20200723-1.16.1.jar:?]
at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_271]
at net.minecraftforge.fml.network.simple.IndexedMessageCodec.tryDecode(IndexedMessageCodec.java:128) ~[forge-1.16.3-34.1.0_mapped_snapshot_20200723-1.16.1.jar:?]
at net.minecraftforge.fml.network.simple.IndexedMessageCodec.consume(IndexedMessageCodec.java:162) ~[forge-1.16.3-34.1.0_mapped_snapshot_20200723-1.16.1.jar:?]
at net.minecraftforge.fml.network.simple.SimpleChannel.networkEventListener(SimpleChannel.java:80) ~[forge-1.16.3-34.1.0_mapped_snapshot_20200723-1.16.1.jar:?]
at net.minecraftforge.eventbus.EventBus.doCastFilter(EventBus.java:247) ~[eventbus-3.0.3-service.jar:?]
at net.minecraftforge.eventbus.EventBus.lambda$addListener$11(EventBus.java:239) ~[eventbus-3.0.3-service.jar:?]
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:297) ~[eventbus-3.0.3-service.jar:?]
at net.minecraftforge.fml.network.NetworkInstance.dispatch(NetworkInstance.java:84) ~[?:?]
at net.minecraftforge.fml.network.NetworkHooks.lambda$onCustomPayload$1(NetworkHooks.java:76) ~[?:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_271]
at net.minecraftforge.fml.network.NetworkHooks.onCustomPayload(NetworkHooks.java:76) ~[?:?]
at net.minecraft.network.play.ServerPlayNetHandler.processCustomPayload(ServerPlayNetHandler.java:1326) ~[?:?]
at net.minecraft.network.play.client.CCustomPayloadPacket.processPacket(CCustomPayloadPacket.java:42) ~[?:?]
at net.minecraft.network.play.client.CCustomPayloadPacket.processPacket(CCustomPayloadPacket.java:12) ~[?:?]
at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?]
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.run(SourceFile:144) ~[?:?]
at net.minecraft.util.concurrent.RecursiveEventLoop.run(SourceFile:23) ~[?:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:729) ~[?:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:156) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.driveOne(SourceFile:118) ~[?:?]
at net.minecraft.server.MinecraftServer.driveOneInternal(MinecraftServer.java:712) ~[?:?]
at net.minecraft.server.MinecraftServer.driveOne(MinecraftServer.java:706) ~[?:?]
at net.minecraft.util.concurrent.ThreadTaskExecutor.driveUntil(SourceFile:127) ~[?:?]
at net.minecraft.server.MinecraftServer.runScheduledTasks(MinecraftServer.java:692) ~[?:?]
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:641) ~[?:?]
at net.minecraft.server.MinecraftServer.lambda$func_240784_a_$0(MinecraftServer.java:229) ~[?:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_271]