isXander / Controlify

Another controller mod - for fabric!
https://www.isxander.dev/mods/controlify
GNU Lesser General Public License v3.0
126 stars 24 forks source link

[Bug] Game fully crashes after attempting to use the inventory #258

Closed GodzillaGuy2000 closed 3 months ago

GodzillaGuy2000 commented 4 months ago

Current Behaviour

The game plays normal right up until I try to use the inventory functionality; at which point, it outright crashes the entire game.

Expected Behaviour

I'm expecting to be able to grab items from any given slot normally

Screenshots

No response

Reproduction Steps

  1. Open inventory
  2. Press L2 (Left Trigger) anywhere in the inventory menu

Logs

---- Minecraft Crash Report ----
// There are four lights!

Time: 2024-03-20 19:29:15
Description: Ticking current controller

java.lang.IndexOutOfBoundsException: Index -2 out of bounds for length 0
    at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base/java.util.Objects.checkIndex(Objects.java:361)
    at java.base/java.util.ArrayList.get(ArrayList.java:427)
    at dev.isxander.controlify.screenop.compat.vanilla.RecipeBookScreenProcessor.handleScreenVMouse(RecipeBookScreenProcessor.java:53)
    at dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:51)
    at dev.isxander.controlify.Controlify.tickController(Controlify.java:498)
    at dev.isxander.controlify.Controlify.lambda$tick$27(Controlify.java:458)
    at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:37)
    at dev.isxander.controlify.Controlify.lambda$tick$28(Controlify.java:457)
    at java.base/java.util.Optional.ifPresent(Optional.java:178)
    at dev.isxander.controlify.Controlify.tick(Controlify.java:456)
    at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
    at net.minecraft.class_310.handler$zii000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6772)
    at net.minecraft.class_310.method_1574(class_310.java)
    at net.minecraft.class_310.method_1523(class_310.java:1289)
    at net.minecraft.class_310.method_1514(class_310.java:888)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
    at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
    at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:266)
    at java.base/java.util.Objects.checkIndex(Objects.java:361)
    at java.base/java.util.ArrayList.get(ArrayList.java:427)
    at dev.isxander.controlify.screenop.compat.vanilla.RecipeBookScreenProcessor.handleScreenVMouse(RecipeBookScreenProcessor.java:53)
    at dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:51)
    at dev.isxander.controlify.Controlify.tickController(Controlify.java:498)
    at dev.isxander.controlify.Controlify.lambda$tick$27(Controlify.java:458)
    at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:37)
    at dev.isxander.controlify.Controlify.lambda$tick$28(Controlify.java:457)
    at java.base/java.util.Optional.ifPresent(Optional.java:178)
    at dev.isxander.controlify.Controlify.tick(Controlify.java:456)
    at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
    at net.minecraft.class_310.handler$zii000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6772)

-- Affected controller --
Details:
    Controller name: Steam Deck
    Controller identification: ControllerType[friendlyName=Steam Deck, mappingId=unmapped, themeId=steam_deck, forceJoystick=false, dontLoad=false]
    Controller type: dev.isxander.controlify.controller.gamepad.GamepadController
Stacktrace:
    at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:37)
    at dev.isxander.controlify.Controlify.lambda$tick$28(Controlify.java:457)
    at java.base/java.util.Optional.ifPresent(Optional.java:178)
    at dev.isxander.controlify.Controlify.tick(Controlify.java:456)
    at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
    at net.minecraft.class_310.handler$zii000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6772)
    at net.minecraft.class_310.method_1574(class_310.java)
    at net.minecraft.class_310.method_1523(class_310.java:1289)
    at net.minecraft.class_310.method_1514(class_310.java:888)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Uptime --
Details:
    JVM uptime: 33.800s
    Wall uptime: 23.381s
    High-res time: 22.095s
    Client ticks: 223 ticks / 11.150s
Stacktrace:
    at net.minecraft.class_310.method_1587(class_310.java:2564)
    at net.minecraft.class_310.method_54580(class_310.java:995)
    at net.minecraft.class_310.method_1514(class_310.java:908)
    at net.minecraft.client.main.Main.main(Main.java:265)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:87)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Affected level --
Details:
    All players: 1 total; [class_746['ZGoenMusic'/291, l='ClientLevel', x=27.54, y=70.00, z=57.05]]
    Chunk stats: 4096, 961
    Level dimension: minecraft:overworld
    Level spawn location: World: (0,64,0), Section: (at 0,0,0 in 0,4,0; chunk contains blocks 0,-64,0 to 15,319,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
    Level time: 801 game time, 801 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
    Tracked entity count: 187

-- Last reload --
Details:
    Reload number: 1
    Reload reason: initial
    Finished: Yes
    Packs: vanilla, fabric, controlify, fabric-api, fabric-api-base, fabric-api-lookup-api-v1, fabric-biome-api-v1, fabric-block-api-v1, fabric-block-view-api-v2, fabric-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, fabric-containers-v0, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-crash-report-info-v1, fabric-data-attachment-api-v1, fabric-data-generation-api-v1, fabric-dimensions-v1, fabric-entity-events-v1, fabric-events-interaction-v0, fabric-events-lifecycle-v0, fabric-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-message-api-v1, fabric-mining-level-api-v1, fabric-model-loading-api-v1, fabric-models-v0, fabric-networking-api-v1, fabric-object-builder-api-v1, fabric-particles-v1, fabric-recipe-api-v1, fabric-registry-sync-v0, fabric-renderer-api-v1, fabric-renderer-indigo, fabric-renderer-registries-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-rendering-v0, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-sound-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, modmenu, sodium, yet_another_config_lib_v3

-- System Details --
Details:
    Minecraft Version: 1.20.4
    Minecraft Version ID: 1.20.4
    Operating System: Linux (amd64) version 6.1.52-valve16-1-neptune-61
    Java Version: 17.0.9, Flathub
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Flathub
    Memory: 1866153544 bytes (1779 MiB) / 3401580544 bytes (3244 MiB) up to 8589934592 bytes (8192 MiB)
    CPUs: 8
    Processor Vendor: AuthenticAMD
    Processor Name: AMD Custom APU 0932
    Identifier: AuthenticAMD Family 23 Model 145 Stepping 0
    Microarchitecture: unknown
    Frequency (GHz): -0.00
    Number of physical packages: 1
    Number of physical CPUs: 4
    Number of logical CPUs: 8
    Graphics card #0 name: Device
    Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
    Graphics card #0 VRAM (MB): 258.00
    Graphics card #0 deviceId: 0x1435
    Graphics card #0 versionInfo: unknown
    Virtual memory max (MB): 8431.19
    Virtual memory used (MB): 6010.20
    Swap memory total (MB): 1024.00
    Swap memory used (MB): 0.00
    JVM Flags: 2 total; -Xms512m -Xmx8192m
    Fabric Mods: 
        controlify: Controlify 1.8.1+1.20.4
            dev_isxander_libsdl4j: libsdl4j 2.28.2-11
            org_hid4java_hid4java: hid4java 0.7.0
            org_quiltmc_quilt-json5: quilt-json5 1.0.3
        fabric-api: Fabric API 0.96.11+1.20.4
            fabric-api-base: Fabric API Base 0.4.36+78d798af4f
            fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.49+82b1bb3e4f
            fabric-biome-api-v1: Fabric Biome API (v1) 13.0.16+78d798af4f
            fabric-block-api-v1: Fabric Block API (v1) 1.0.16+3e2216cb4f
            fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.4+78d798af4f
            fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.46+78d798af4f
            fabric-client-tags-api-v1: Fabric Client Tags 1.1.7+78d798af4f
            fabric-command-api-v1: Fabric Command API (v1) 1.2.41+f71b366f4f
            fabric-command-api-v2: Fabric Command API (v2) 2.2.20+78d798af4f
            fabric-commands-v0: Fabric Commands (v0) 0.2.58+df3654b34f
            fabric-containers-v0: Fabric Containers (v0) 0.1.86+df3654b34f
            fabric-content-registries-v0: Fabric Content Registries (v0) 5.0.15+78d798af4f
            fabric-convention-tags-v1: Fabric Convention Tags 1.5.10+78d798af4f
            fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.23+78d798af4f
            fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.1.4+b90db5744f
            fabric-data-generation-api-v1: Fabric Data Generation API (v1) 13.2.4+5c0133444f
            fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.61+78d798af4f
            fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.1+09fc25014f
            fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.7.1+389931eb4f
            fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.74+df3654b34f
            fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.46+78d798af4f
            fabric-item-api-v1: Fabric Item API (v1) 2.2.0+d6f2b0844f
            fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.26+58f8c0124f
            fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.41+78d798af4f
            fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.39+df3654b34f
            fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.3.0+a67ffb5d4f
            fabric-loot-api-v2: Fabric Loot API (v2) 2.1.9+78d798af4f
            fabric-message-api-v1: Fabric Message API (v1) 6.0.5+78d798af4f
            fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.65+78d798af4f
            fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.8+78d798af4f
            fabric-models-v0: Fabric Models (v0) 0.4.7+9386d8a74f
            fabric-networking-api-v1: Fabric Networking API (v1) 3.1.7+2e5ac5484f
            fabric-object-builder-api-v1: Fabric Object Builder API (v1) 13.0.14+080016e44f
            fabric-particles-v1: Fabric Particles (v1) 1.1.7+78d798af4f
            fabric-recipe-api-v1: Fabric Recipe API (v1) 2.0.20+78d798af4f
            fabric-registry-sync-v0: Fabric Registry Sync (v0) 4.0.19+58f8c0124f
            fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.4+78d798af4f
            fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.4+78d798af4f
            fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.53+df3654b34f
            fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.42+73761d2e4f
            fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.1.1+e761c6694f
            fabric-rendering-v0: Fabric Rendering (v0) 1.1.56+df3654b34f
            fabric-rendering-v1: Fabric Rendering (v1) 3.2.0+6fd945a04f
            fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.14+78d798af4f
            fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.20+df798a894f
            fabric-screen-api-v1: Fabric Screen API (v1) 2.0.17+78d798af4f
            fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.55+78d798af4f
            fabric-sound-api-v1: Fabric Sound API (v1) 1.0.17+78d798af4f
            fabric-transfer-api-v1: Fabric Transfer API (v1) 4.0.11+eb30349a4f
            fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 5.0.14+78d798af4f
        fabricloader: Fabric Loader 0.15.7
            mixinextras: MixinExtras 0.3.5
        java: OpenJDK 64-Bit Server VM 17
        minecraft: Minecraft 1.20.4
        modmenu: Mod Menu 9.0.0
        sodium: Sodium 0.5.8+mc1.20.4
        yet_another_config_lib_v3: YetAnotherConfigLib 3.3.2+1.20.4
            com_twelvemonkeys_common_common-image: common-image 3.10.0
            com_twelvemonkeys_common_common-io: common-io 3.10.0
            com_twelvemonkeys_common_common-lang: common-lang 3.10.0
            com_twelvemonkeys_imageio_imageio-core: imageio-core 3.10.0
            com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.10.0
            com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.10.0
            org_quiltmc_parsers_gson: gson 0.2.1
            org_quiltmc_parsers_json: json 0.2.1
    Launched Version: 1.20.4
    Launcher name: PrismLauncher
    Backend library: LWJGL version 3.3.2-snapshot
    Backend API: AMD Radeon Graphics (radeonsi, vangogh, LLVM 17.0.6, DRM 3.54, 6.1.52-valve16-1-neptune-61) GL version 4.6 (Core Profile) Mesa 24.0.2 (git-a3df5eab6c), AMD
    Window size: 1280x800
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: 
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'
    Universe: 400921fb54442d18
    Type: Integrated Server (map_client.txt)
    Graphics mode: fancy
    Render Distance: 16/16 chunks
    Resource Packs: fabric
    Current Language: en_us
    Locale: en_US
    CPU: 8x AMD Custom APU 0932
    Server Running: true
    Player Count: 1 / 8; [class_3222['ZGoenMusic'/291, l='ServerLevel[New World]', x=27.54, y=70.00, z=57.05]]
    Data Packs: vanilla, fabric, fabric-convention-tags-v1
    Enabled Feature Flags: minecraft:vanilla
    World Generation: Stable

Mod Version

1.8.1+1.20.4

Controller

Steam Deck

Bluetooth

Operating System

Linux/SteamOS

ARM

Additional Information

Java: 17.0.9, Flathub Minecraft: 1.20.4 Fabric API: 0.96.11+1.20.4 Yet Another Config Lib: 3.3.2+1.20.4 Mod Menu: 9.0.0

Just to make sure...

arnokeesman commented 4 months ago

same as #237 and #252 already fixed by #234 keep this issue open I guess, until the fix finally gets released