Siphalor / mouse-wheelie

"Small" Minecraft mod focusing on inventory utilities, like scrolling, sorting and auto refilling of items
https://modrinth.com/mod/mouse-wheelie
Apache License 2.0
113 stars 41 forks source link

Game crashes when sorting inventory (sometimes) #187

Closed nuttapillar closed 1 year ago

nuttapillar commented 2 years ago

Version Minecraft 1.19.0, mod version mousewheelie-1.9.1+mc1.19-pre1 Describe the bug Occasionally sorting the inventory causes the game to crash.

To Reproduce

  1. Use this json or craft something.
  2. Bug appears

Expected behavior I expect it to not crash...

Log

``` ---- Minecraft Crash Report ---- // Uh... Did I do that? Time: 4/11/22, 3:56 pm Description: Unexpected error java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 27 at de.siphalor.mousewheelie.client.inventory.sort.InventorySorter.sort(InventorySorter.java:181) at net.minecraft.class_465.mouseWheelie_triggerSort(class_465.java:1910) at de.siphalor.mousewheelie.client.keybinding.SortKeyBinding.onPressedPriority(SortKeyBinding.java:38) at de.siphalor.amecs.impl.KeyBindingManager.lambda$onKeyPressedPriority$5(KeyBindingManager.java:160) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) at de.siphalor.amecs.impl.KeyBindingManager.onKeyPressedPriority(KeyBindingManager.java:160) at net.minecraft.class_312.handler$zzi000$onMouseButtonPriority(class_312.java:548) at net.minecraft.class_312.method_1601(class_312.java:83) at net.minecraft.class_312.method_22686(class_312.java:165) at net.minecraft.class_1255.execute(class_1255.java:103) at net.minecraft.class_312.method_22684(class_312.java:165) at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) at org.lwjgl.system.JNI.invokeV(Native Method) at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403) at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:197) at net.minecraft.class_1041.method_15998(class_1041.java:310) at net.minecraft.class_310.method_1523(class_310.java:1171) at net.minecraft.class_310.method_1514(class_310.java:734) at net.minecraft.client.main.Main.main(Main.java:237) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at de.siphalor.mousewheelie.client.inventory.sort.InventorySorter.sort(InventorySorter.java:181) at net.minecraft.class_465.mouseWheelie_triggerSort(class_465.java:1910) at de.siphalor.mousewheelie.client.keybinding.SortKeyBinding.onPressedPriority(SortKeyBinding.java:38) at de.siphalor.amecs.impl.KeyBindingManager.lambda$onKeyPressedPriority$5(KeyBindingManager.java:160) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) at de.siphalor.amecs.impl.KeyBindingManager.onKeyPressedPriority(KeyBindingManager.java:160) at net.minecraft.class_312.handler$zzi000$onMouseButtonPriority(class_312.java:548) at net.minecraft.class_312.method_1601(class_312.java:83) at net.minecraft.class_312.method_22686(class_312.java:165) at net.minecraft.class_1255.execute(class_1255.java:103) at net.minecraft.class_312.method_22684(class_312.java:165) at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43) at org.lwjgl.system.JNI.invokeV(Native Method) at org.lwjgl.glfw.GLFW.glfwPollEvents(GLFW.java:3403) at com.mojang.blaze3d.systems.RenderSystem.flipFrame(RenderSystem.java:197) -- Affected level -- Details: All players: 15 total; [class_746['Rottenbeard97'/959433, l='ClientLevel', x=2839.32, y=63.00, z=-290.32], class_745['CIT-3982f84229e9'/561242, l='ClientLevel', x=2830.70, y=70.00, z=-315.30], class_745['Captain Sparrow'/885, l='ClientLevel', x=2838.98, y=64.00, z=-279.50], class_745['Gregory'/556986, l='ClientLevel', x=2805.24, y=64.00, z=-260.92], class_745['CIT-3c6c1f63cc2f'/895, l='ClientLevel', x=2876.50, y=69.00, z=-307.50], class_745['Guardsman Ivan'/927, l='ClientLevel', x=2846.16, y=69.00, z=-292.50], class_745['Technoblade'/939, l='ClientLevel', x=2863.02, y=69.00, z=-289.50], class_745['Barkeep Moe'/888, l='ClientLevel', x=2852.50, y=63.00, z=-294.30], class_745['Guardsman Gary'/557616, l='ClientLevel', x=2800.50, y=77.50, z=-293.70], class_745['Mrs Lovett'/557613, l='ClientLevel', x=2804.35, y=77.00, z=-293.70], class_745['CIT-732718456885'/1044427, l='ClientLevel', x=2870.16, y=64.00, z=-265.41], class_745['Barkeep Barney'/556982, l='ClientLevel', x=2829.00, y=76.00, z=-271.00], class_745['CIT-915d8662551a'/561252, l='ClientLevel', x=2814.67, y=76.00, z=-316.22], class_745['Sweeney Todd'/557610, l='ClientLevel', x=2802.50, y=76.00, z=-294.84], class_745['CIT-55a393534caa'/975, l='ClientLevel', x=2848.82, y=69.00, z=-291.80]] Chunk stats: 16384, 4181 Level dimension: minecraft:overworld Level spawn location: World: (-359,125,-200), Section: (at 9,13,8 in -23,7,-13; chunk contains blocks -368,-64,-208 to -353,319,-193), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1) Level time: 72474 game time, 680724275 day time Server brand: Purpur Server type: Non-integrated multiplayer server Stacktrace: at net.minecraft.class_638.method_8538(class_638.java:453) at net.minecraft.class_310.method_1587(class_310.java:2288) at net.minecraft.class_310.method_1514(class_310.java:758) at net.minecraft.client.main.Main.main(Main.java:237) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) -- Last reload -- Details: Reload number: 4 Reload reason: manual Finished: Yes Packs: Default, Fabric Mods, Misa_1.18g, continuity/default, continuity/glass_pane_culling_fix, cullleaves/smartleaves, 1c1c5fe2745aa5549d3ca8f8888dd1685aefa0de, __MoreMcmeta Internal__ -- System Details -- Details: Minecraft Version: 1.19 Minecraft Version ID: 1.19 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.3, Microsoft Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft Memory: 3447269816 bytes (3287 MiB) / 7516192768 bytes (7168 MiB) up to 8589934592 bytes (8192 MiB) CPUs: 8 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz Identifier: Intel64 Family 6 Model 94 Stepping 3 Microarchitecture: unknown Frequency (GHz): 4.01 Number of physical packages: 1 Number of physical CPUs: 4 Number of logical CPUs: 8 Graphics card #0 name: NVIDIA GeForce GTX 1080 Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 4095.00 Graphics card #0 deviceId: 0x1b80 Graphics card #0 versionInfo: DriverVersion=30.0.15.1215 Memory slot #0 capacity (MB): 8192.00 Memory slot #0 clockSpeed (GHz): 2.40 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 8192.00 Memory slot #1 clockSpeed (GHz): 2.40 Memory slot #1 type: DDR4 Memory slot #2 capacity (MB): 8192.00 Memory slot #2 clockSpeed (GHz): 2.40 Memory slot #2 type: DDR4 Memory slot #3 capacity (MB): 8192.00 Memory slot #3 clockSpeed (GHz): 2.40 Memory slot #3 type: DDR4 Virtual memory max (MB): 52615.39 Virtual memory used (MB): 46527.91 Swap memory total (MB): 19935.14 Swap memory used (MB): 969.61 JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M Fabric Mods: ambientsounds: Ambiend Sounds (Fabric) 5.2.0 animatica: Animatica 0.5+1.19 auditory: Auditory 0.0.2-1.19 betteranimalmodels: Cyber's Better Animal Models 1.19-5.6.0 cem: Custom Entity Models 0.7.1 chime: Chime 1.3.0 citresewn: CIT Resewn 1.1.1+1.19 citresewn-defaults: CIT Resewn: Defaults 1.1.1+1.19 clear-skies: Clear Skies 2.0.93 colormatic: Colormatic 3.1.2+mc.1.19 completeconfig: CompleteConfig 2.0.0 completeconfig-base: completeconfig-base 2.0.0 completeconfig-gui-cloth: completeconfig-gui-cloth 2.0.0 completeconfig-gui-coat: completeconfig-gui-coat 2.0.0 continuity: Continuity 2.0.0+1.19 creativecore: CreativeCore (Fabric) 2.7.2 cullleaves: Cull Leaves 2.3.4 midnightlib: MidnightLib 0.5.2 dynamicfps: Dynamic FPS 2.2.0 com_moandjiezana_toml_toml4j: toml4j 0.7.2 dynamicsoundfilters: Dynamic Sound Filters 1.3.0+1.19 eatinganimationid: Eating Animation 1.8.1 editsign: EditSign 2.4.1 effective: Effective 1.2.2 enhancedblockentities: Enhanced Block Entities 0.7.1+1.19 advanced_runtime_resource_pack: Runtime Resource Pack 0.6.2 spruceui: SpruceUI 4.0.0+1.19 entity_texture_features: Entity Texture Features 3.1.4 cloth-config: Cloth Config v6 7.0.72 cloth-basic-math: cloth-basic-math 0.6.1 entityculling: EntityCulling-Fabric 1.5.2-mc1.19 com_logisticscraft_occlusionculling: occlusionculling 0.0.6-SNAPSHOT entityoutliner: Entity Outliner 1.2.5 fabric: Fabric API 0.56.0+1.19 fabric-api-base: Fabric API Base 0.4.9+e62f51a3a9 fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.7+9ff28f40a9 fabric-biome-api-v1: Fabric Biome API (v1) 9.0.13+b2a4a624a9 fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.18+9ff28f40a9 fabric-command-api-v1: Fabric Command API (v1) 1.2.5+f71b366fa9 fabric-command-api-v2: Fabric Command API (v2) 2.1.1+cda9839ba9 fabric-commands-v0: Fabric Commands (v0) 0.2.22+df3654b3a9 fabric-containers-v0: Fabric Containers (v0) 0.1.27+df3654b3a9 fabric-content-registries-v0: Fabric Content Registries (v0) 3.1.0+4a3ec384a9 fabric-convention-tags-v1: Fabric Convention Tags 1.0.8+37622d24a9 fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.3+bd0a0d4aa9 fabric-data-generation-api-v1: Fabric Data Generation API (v1) 5.0.1+2a5b9210a9 fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.27+72da3b3da9 fabric-entity-events-v1: Fabric Entity Events (v1) 1.4.16+9ff28f40a9 fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.26+9ff28f40a9 fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.25+df3654b3a9 fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.19+18990361a9 fabric-item-api-v1: Fabric Item API (v1) 1.5.4+767db26ea9 fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.23+9ff28f40a9 fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.18+9ff28f40a9 fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.16+df3654b3a9 fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.1.0+33fbc738a9 fabric-loot-api-v2: Fabric Loot API (v2) 1.0.1+9e7660c6a9 fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.1+9e7660c6a9 fabric-message-api-v1: Fabric Message API (v1) 1.0.1+513f4a59a9 fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.8+33fbc738a9 fabric-models-v0: Fabric Models (v0) 0.3.15+9ff28f40a9 fabric-networking-api-v1: Fabric Networking API (v1) 1.0.27+7fe97409a9 fabric-networking-v0: Fabric Networking (v0) 0.3.14+df3654b3a9 fabric-object-builder-api-v1: Fabric Object Builder API (v1) 4.0.5+9ff28f40a9 fabric-particles-v1: Fabric Particles (v1) 1.0.8+dc39553aa9 fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.16+92cf9a3ea9 fabric-renderer-api-v1: Fabric Renderer API (v1) 1.0.8+9ff28f40a9 fabric-renderer-indigo: Fabric Renderer - Indigo 0.6.6+9ff28f40a9 fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.18+df3654b3a9 fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.12+9ff28f40a9 fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.5+9ff28f40a9 fabric-rendering-v0: Fabric Rendering (v0) 1.1.20+df3654b3a9 fabric-rendering-v1: Fabric Rendering (v1) 1.10.14+9ff28f40a9 fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.0.9+e62f51a3a9 fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.2.6+9ff28f40a9 fabric-textures-v0: Fabric Textures (v0) 1.0.18+9ff28f40a9 fabric-transfer-api-v1: Fabric Transfer API (v1) 2.0.9+e62f51a3a9 fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.1.1+9e7660c6a9 fabric-language-kotlin: Fabric Language Kotlin 1.8.0+kotlin.1.7.0 org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.7.0 org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.7.0 org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.7.0 org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.7.0 org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.17.3 org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.6.2 org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.6.2 org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.3.3 org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.3.3 org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.3.3 org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.3.3 fabricloader: Fabric Loader 0.14.8 fabricskyboxes: FabricSkyBoxes 0.5.6 farsight: Farsight Mod 1.19-2.0 indium: Indium 1.0.5+mc1.19 iris: Iris 1.2.6-pbr-beta.7-94ab0e08-dirty org_anarres_jcpp: jcpp 1.4.14 java: OpenJDK 64-Bit Server VM 17 lambdynlights: LambDynamicLights 2.1.2+1.19 pride: Pride Lib 1.1.2+1.19 litematica: Litematica 0.12.0 lithium: Lithium 0.8.0 lod: Distant Horizons 1.6.7a fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.5.5+a6d2f785a9 malilib: MaLiLib 0.13.0 mbp: More Block Predicates 1.4 minecraft: Minecraft 1.19 modmenu: Mod Menu 4.0.0 moremcmeta: MoreMcmeta 1.19-3.0.4 mousewheelie: Mouse Wheelie 1.9.1+mc1.19-pre1 amecsapi: Amecs API 1.3.6+mc22w17a coat: Coat 1.0.0-beta.18+mc22w17a tweed4_annotated: tweed4_annotated 1.3.1+mc22w17a tweed4_base: tweed4_base 1.6.0+mc22w17a tweed4_data: tweed4_data 1.2.1+mc22w17a tweed4_data_hjson: tweed4_data_hjson 1.1.1+mc22w17a tweed4_tailor_coat: tweed4_tailor_coat 1.1.3+mc22w17a tweed4_tailor_screen: tweed4_tailor_screen 1.1.1+mc22w17a notenoughanimations: NotEnoughAnimations 1.6.0 presencefootsteps: Presence Footsteps 1.6.0 kirin: Kirin UI 1.11.0 reeses-sodium-options: Reese's Sodium Options 1.4.3+mc1.19-build.43 sodium: Sodium 0.4.2+build.16 org_joml_joml: joml 1.10.4 sodium-extra: Sodium Extra 0.4.5+mc1.19-build.43 caffeineconfig: CaffeineConfig 1.0.0+1.17 sound_physics_remastered: Sound Physics Remastered 1.19-1.0.6 starlight: Starlight 1.1.1+fabric.ae22326 transparent: Transparent 5.1.0 visuality: Visuality 0.5.0 voxelmap: Voxelmap 1.19-1.11.7 worldedit: WorldEdit 7.2.11-SNAPSHOT+6190-7df4d98 worldeditcui: WorldEditCUI 1.19+01 fabric-screen-api-v1: Fabric Screen API (v1) 1.0.24+f05effafa9 Loaded Shaderpack: (off) Launched Version: fabric-loader-0.14.8-1.19 Backend library: LWJGL version 3.3.1 SNAPSHOT Backend API: NVIDIA GeForce GTX 1080/PCIe/SSE2 GL version 3.2.0 NVIDIA 512.15, NVIDIA Corporation Window size: 2560x1440 GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'fabric' Type: Client (map_client.txt) Graphics mode: fancy Resource Packs: vanilla, Fabric Mods, file/Misa_1.18g (incompatible), continuity/default, continuity/glass_pane_culling_fix, cullleaves/smartleaves Current Language: English (US) CPU: 8x Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz **Additional context** Add any other context about the problem here. ```
Derpford commented 2 years ago

I have also encountered this on 1.18.2. Crashlog here: https://gist.github.com/Derpford/fac30d6d67e7c87969925e513919551a

Siphalor commented 2 years ago

I have also encountered this on 1.18.2. Crashlog here: gist.github.com/Derpford/fac30d6d67e7c87969925e513919551a

That's a different issue caused by Nomad Books. I‌ reported it over there.

Siphalor commented 1 year ago

I just now noticed, that this was a duplicate of #171.

So this should already be fixed since version 1.10.0. :+1: