isXander / Controlify

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

[Bug] Pressing left trigger while furnace UI is open crashes the game #252

Closed tynatsuhara closed 6 months ago

tynatsuhara commented 7 months ago

Current Behaviour

Using an xbox one controller, when I press left trigger while a furnace is open, the game crashes. I have no other mods installed. Minecraft version 1.20.4. The logs indicate an IndexOutOfBounds error.

Expected Behaviour

Nothing should happen when left trigger is pressed.

Screenshots

No response

Reproduction Steps

  1. Interact with a furnace
  2. Press left trigger
  3. Be sad

Logs

---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 2024-03-09 16:09:50
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$zig000$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$zig000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6772)

-- Affected controller --
Details:
    Controller name: Wireless Xbox Controller
    Controller identification: ControllerType[friendlyName=Unknown, mappingId=unknown, themeId=unknown, 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$zig000$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: 20.506s
    Wall uptime: 13.062s
    High-res time: 11.952s
    Client ticks: 212 ticks / 10.600s
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['superdupernova'/3385, l='ClientLevel', x=27.21, y=64.00, z=165.90]]
    Chunk stats: 3025, 609
    Level dimension: minecraft:overworld
    Level spawn location: World: (0,74,0), Section: (at 0,10,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: 48573434 game time, 48650754 day time
    Server brand: vanilla
    Server type: Non-integrated multiplayer server
    Tracked entity count: 152

-- 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, yet_another_config_lib_v3, file/jolicraft.zip

-- System Details --
Details:
    Minecraft Version: 1.20.4
    Minecraft Version ID: 1.20.4
    Operating System: Windows 11 (amd64) version 10.0
    Java Version: 17.0.10, Eclipse Adoptium
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
    Memory: 279736944 bytes (266 MiB) / 849346560 bytes (810 MiB) up to 4294967296 bytes (4096 MiB)
    CPUs: 16
    Processor Vendor: AuthenticAMD
    Processor Name: AMD Ryzen 7 5800X 8-Core Processor             
    Identifier: AuthenticAMD Family 25 Model 33 Stepping 0
    Microarchitecture: Zen 3
    Frequency (GHz): 3.80
    Number of physical packages: 1
    Number of physical CPUs: 8
    Number of logical CPUs: 16
    Graphics card #0 name: NVIDIA GeForce RTX 3080 Ti
    Graphics card #0 vendor: NVIDIA (0x10de)
    Graphics card #0 VRAM (MB): 4095.00
    Graphics card #0 deviceId: 0x2208
    Graphics card #0 versionInfo: DriverVersion=31.0.15.5161
    Memory slot #0 capacity (MB): 16384.00
    Memory slot #0 clockSpeed (GHz): 2.67
    Memory slot #0 type: DDR4
    Memory slot #1 capacity (MB): 16384.00
    Memory slot #1 clockSpeed (GHz): 2.67
    Memory slot #1 type: DDR4
    Virtual memory max (MB): 37576.04
    Virtual memory used (MB): 14344.73
    Swap memory total (MB): 4864.00
    Swap memory used (MB): 76.82
    JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms512m -Xmx4096m
    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.4+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.14+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.3+b90db5744f
            fabric-data-generation-api-v1: Fabric Data Generation API (v1) 13.2.3+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.25+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.8+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.64+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.13+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.19+58f8c0124f
            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+e84342304f
            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
        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: NVIDIA GeForce RTX 3080 Ti/PCIe/SSE2 GL version 3.2.0 NVIDIA 551.61, NVIDIA Corporation
    Window size: 3840x2160
    GL Caps: Using framebuffer using OpenGL 3.2
    GL debug messages: 
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Universe: 400921fb54442d18
    Type: Client (map_client.txt)
    Graphics mode: fancy
    Render Distance: 12/12 chunks
    Resource Packs: vanilla, fabric, file/jolicraft.zip (incompatible)
    Current Language: en_us
    Locale: en_US
    CPU: 16x AMD Ryzen 7 5800X 8-Core Processor

Mod Version

1.8.1+1.20.4

Controller

xbox one

Bluetooth

Operating System

Windows

ARM

Additional Information

No response

Just to make sure...

inkitori commented 6 months ago

having the same problem using a switch pro controller and getting the same -2 outofbounds

arnokeesman commented 6 months ago

duplicate of #237, already fixed by #234 do note that the fix happened on Jan 28th and the last release was on Jan 19th

isXander commented 6 months ago

Closing as duplicate