On certain menu buttons that cycle between different options, such as the difficulty on the world creation screen, the game crashes when using a controller.
I have tested this with 2 different controllers (Steam Deck, and Nintendo Switch Pro Controller).
The game should not crash and instead should cycle through the menu option as normal like with mouse and keyboard.
---- Minecraft Crash Report ----
// Don't be sad, have a hug! <3
Time: 2025-10-04 19:05:43
Description: Ticking current controller
java.lang.NullPointerException: Cannot invoke "net.minecraft.class_11907.method_74239()" because "$$0" is null
at knot//net.minecraft.class_5676.method_25306(class_5676.java:60)
at knot//dev.isxander.controlify.screenop.compat.vanilla.AbstractButtonComponentProcessor.overrideControllerButtons(AbstractButtonComponentProcessor.java:23)
at knot//dev.isxander.controlify.screenop.ScreenProcessor.handleComponentButtonOverride(ScreenProcessor.java:208)
at knot//dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:60)
at knot//dev.isxander.controlify.Controlify.tickController(Controlify.java:532)
at knot//dev.isxander.controlify.Controlify.lambda$tick$2(Controlify.java:472)
at knot//dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at knot//dev.isxander.controlify.Controlify.lambda$tick$1(Controlify.java:471)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at knot//dev.isxander.controlify.Controlify.tick(Controlify.java:470)
at knot//net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at knot//net.minecraft.class_310.handler$zkj000$fabric-lifecycle-events-v1$onStartTick(class_310.java:7596)
at knot//net.minecraft.class_310.method_1574(class_310.java)
at knot//net.minecraft.class_310.method_1523(class_310.java:1345)
at knot//net.minecraft.class_310.method_1514(class_310.java:969)
at knot//net.minecraft.client.main.Main.main(Main.java:250)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:506)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
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 knot//net.minecraft.class_5676.method_25306(class_5676.java:60)
at knot//dev.isxander.controlify.screenop.compat.vanilla.AbstractButtonComponentProcessor.overrideControllerButtons(AbstractButtonComponentProcessor.java:23)
at knot//dev.isxander.controlify.screenop.ScreenProcessor.handleComponentButtonOverride(ScreenProcessor.java:208)
at knot//dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:60)
at knot//dev.isxander.controlify.Controlify.tickController(Controlify.java:532)
at knot//dev.isxander.controlify.Controlify.lambda$tick$2(Controlify.java:472)
at knot//dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at knot//dev.isxander.controlify.Controlify.lambda$tick$1(Controlify.java:471)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at knot//dev.isxander.controlify.Controlify.tick(Controlify.java:470)
at knot//net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at knot//net.minecraft.class_310.handler$zkj000$fabric-lifecycle-events-v1$onStartTick(class_310.java:7596)
-- Affected controller --
Details:
Controller name: Switch Controller
Controller identification: Switch Controller
Controller type: dev.isxander.controlify.controller.ControllerEntity
Stacktrace:
at knot//dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at knot//dev.isxander.controlify.Controlify.lambda$tick$1(Controlify.java:471)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at knot//dev.isxander.controlify.Controlify.tick(Controlify.java:470)
at knot//net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at knot//net.minecraft.class_310.handler$zkj000$fabric-lifecycle-events-v1$onStartTick(class_310.java:7596)
at knot//net.minecraft.class_310.method_1574(class_310.java)
at knot//net.minecraft.class_310.method_1523(class_310.java:1345)
at knot//net.minecraft.class_310.method_1514(class_310.java:969)
at knot//net.minecraft.client.main.Main.main(Main.java:250)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:506)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
-- Uptime --
Details:
JVM uptime: 29.890s
Wall uptime: 22.877s
High-res time: 21.527s
Client ticks: 398 ticks / 19.900s
Stacktrace:
at knot//net.minecraft.class_310.method_1587(class_310.java:2434)
at knot//net.minecraft.class_310.method_54580(class_310.java:1038)
at knot//net.minecraft.class_310.method_1514(class_310.java:990)
at knot//net.minecraft.client.main.Main.main(Main.java:250)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:506)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:72)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
-- Last reload --
Details:
Reload number: 2
Reload reason: manual
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-command-api-v2, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, 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-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-language-kotlin, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-loot-api-v3, fabric-message-api-v1, fabric-model-loading-api-v1, 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-rendering-fluids-v1, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-resource-loader-v1, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-serialization-api-v1, fabric-sound-api-v1, fabric-tag-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, immediatelyfast, immersiveoverlays, iris, sodium, yet_another_config_lib_v3, zoomify, file/VanillaTweaks_r630827_MC1.21.x.zip
-- System Details --
Details:
Minecraft Version: 1.21.9
Minecraft Version ID: 1.21.9
Operating System: Windows 11 (amd64) version 10.0
Java Version: 21.0.7, Microsoft
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft
Memory: 251504480 bytes (239 MiB) / 671088640 bytes (640 MiB) up to 2147483648 bytes (2048 MiB)
CPUs: 32
Processor Vendor: GenuineIntel
Processor Name: 13th Gen Intel(R) Core(TM) i9-13900K
Identifier: Intel64 Family 6 Model 183 Stepping 1
Microarchitecture: Raptor Lake
Frequency (GHz): 3.00
Number of physical packages: 1
Number of physical CPUs: 24
Number of logical CPUs: 32
Graphics card #0 name: Intel(R) UHD Graphics 770
Graphics card #0 vendor: Intel Corporation
Graphics card #0 VRAM (MiB): 2048.00
Graphics card #0 deviceId: VideoController1
Graphics card #0 versionInfo: 32.0.101.6987
Graphics card #1 name: NVIDIA GeForce RTX 4090
Graphics card #1 vendor: NVIDIA
Graphics card #1 VRAM (MiB): 24564.00
Graphics card #1 deviceId: VideoController2
Graphics card #1 versionInfo: 32.0.15.6094
Memory slot #0 capacity (MiB): 16384.00
Memory slot #0 clockSpeed (GHz): 4.80
Memory slot #0 type: DDR5
Memory slot #1 capacity (MiB): 16384.00
Memory slot #1 clockSpeed (GHz): 4.80
Memory slot #1 type: DDR5
Virtual memory max (MiB): 38944.00
Virtual memory used (MiB): 24952.69
Swap memory total (MiB): 6400.00
Swap memory used (MiB): 224.62
Space in storage for jna.tmpdir (MiB): available: 249644.22, total: 952852.00
Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): available: 249644.22, total: 952852.00
Space in storage for io.netty.native.workdir (MiB): available: 249644.22, total: 952852.00
Space in storage for java.io.tmpdir (MiB): available: 249644.22, total: 952852.00
Space in storage for workdir (MiB): available: 249644.22, total: 952852.00
JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Debug Flags: 0 total;
Fabric Mods:
controlify: Controlify 2.4.1+1.21.10-fabric
dev_isxander_libsdl4j: libsdl4j 3.2.18.release-3.2.18-79
dev_isxander_steamdeck4j: steamdeck4j 1.1.7
org_hid4java_hid4java: hid4java 0.8.0
fabric-api: Fabric API 0.133.14+1.21.9
fabric-api-base: Fabric API Base 1.0.0+14b92d8987
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.106+d176821587
fabric-biome-api-v1: Fabric Biome API (v1) 16.0.15+14b92d8987
fabric-block-api-v1: Fabric Block API (v1) 1.1.5+d176821587
fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.34+e4fd1b9287
fabric-command-api-v2: Fabric Command API (v2) 2.3.7+328a75ba87
fabric-content-registries-v0: Fabric Content Registries (v0) 10.2.3+b6a2426487
fabric-convention-tags-v1: Fabric Convention Tags 2.1.47+7f945d5b87
fabric-convention-tags-v2: Fabric Convention Tags (v2) 2.15.12+3154c1c887
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.3.18+33df5e6e87
fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.8.27+9bce411b87
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 23.2.21+d8b85ef187
fabric-dimensions-v1: Fabric Dimensions API (v1) 4.0.22+38b9cc1987
fabric-entity-events-v1: Fabric Entity Events (v1) 2.1.12+14b92d8987
fabric-events-interaction-v0: Fabric Events Interaction (v0) 4.0.34+5ba2171287
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.1.0+492293e687
fabric-item-api-v1: Fabric Item API (v1) 11.5.8+9bce411b87
fabric-item-group-api-v1: Fabric Item Group API (v1) 4.2.24+86b3ae5787
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.1.1+b3ba9c4887
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.6.9+33df5e6e87
fabric-loot-api-v2: Fabric Loot API (v2) 3.0.64+3f89f5a587
fabric-loot-api-v3: Fabric Loot API (v3) 2.0.11+d176821587
fabric-message-api-v1: Fabric Message API (v1) 6.1.7+3154c1c887
fabric-model-loading-api-v1: Fabric Model Loading API (v1) 6.0.0+3ffd6ef087
fabric-networking-api-v1: Fabric Networking API (v1) 5.0.12+86b3ae5787
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 21.1.23+9bce411b87
fabric-particles-v1: Fabric Particles (v1) 4.2.1+ed8c182687
fabric-recipe-api-v1: Fabric Recipe API (v1) 8.1.25+d176821587
fabric-registry-sync-v0: Fabric Registry Sync (v0) 6.1.40+679c8c5c87
fabric-renderer-api-v1: Fabric Renderer API (v1) 7.1.1+328a75ba87
fabric-renderer-indigo: Fabric Renderer - Indigo 4.0.19+328a75ba87
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.1.38+86b3ae5787
fabric-rendering-v1: Fabric Rendering (v1) 16.0.1+328a75ba87
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 5.0.28+33df5e6e87
fabric-resource-loader-v0: Fabric Resource Loader (v0) 3.2.2+3388a3b287
fabric-resource-loader-v1: Fabric Resource Loader (v1) 1.0.2+225bca4087
fabric-screen-api-v1: Fabric Screen API (v1) 3.0.3+86b3ae5787
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.149+d176821587
fabric-serialization-api-v1: Fabric Serialization API (v1) 1.0.0+d857c97687
fabric-sound-api-v1: Fabric Sound API (v1) 1.0.45+328a75ba87
fabric-tag-api-v1: Fabric Tag API (v1) 1.2.10+2fa446b287
fabric-transfer-api-v1: Fabric Transfer API (v1) 6.0.15+79ec2c1287
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 6.5.3+41eb434387
fabric-language-kotlin: Fabric Language Kotlin 1.13.6+kotlin.2.2.20
org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.2.20
org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.2.20
org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.2.20
org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.2.20
org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.29.0
org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.10.2
org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.10.2
org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.7.1
org_jetbrains_kotlinx_kotlinx-io-bytestring-jvm: kotlinx-io-bytestring-jvm 0.8.0
org_jetbrains_kotlinx_kotlinx-io-core-jvm: kotlinx-io-core-jvm 0.8.0
org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.9.0
org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.9.0
org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.9.0
fabricloader: Fabric Loader 0.17.2
mixinextras: MixinExtras 0.5.0
immediatelyfast: ImmediatelyFast 1.13.0+1.21.9
net_lenni0451_reflect: Reflect 1.3.4
immersiveoverlays: Immersive Overlays 1.3.2+1.21.9
iris: Iris 1.9.3+mc1.21.9
io_github_douira_glsl-transformer: glsl-transformer 3.0.0-pre3
org_anarres_jcpp: jcpp 1.4.14
org_antlr_antlr4-runtime: antlr4-runtime 4.13.1
java: OpenJDK 64-Bit Server VM 21
minecraft: Minecraft 1.21.9
sodium: Sodium 0.7.0+mc1.21.9
yet_another_config_lib_v3: YetAnotherConfigLib 3.8.0+1.21.9-fabric
com_twelvemonkeys_common_common-image: common-image 3.12.0
com_twelvemonkeys_common_common-io: common-io 3.12.0
com_twelvemonkeys_common_common-lang: common-lang 3.12.0
com_twelvemonkeys_imageio_imageio-core: imageio-core 3.12.0
com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.12.0
com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.12.0
org_quiltmc_parsers_gson: gson 0.2.1
org_quiltmc_parsers_json: json 0.2.1
zoomify: Zoomify 2.14.6+1.21.9
com_akuleshov7_ktoml-core-jvm: ktoml-core-jvm 0.5.2
Loaded Shaderpack: (off)
Launched Version: fabric-loader-0.17.2-1.21.9
Launcher name: minecraft-launcher
Backend library: LWJGL version 3.3.3-snapshot
Backend API: NVIDIA GeForce RTX 4090/PCIe/SSE2 GL version 3.3.0 NVIDIA 560.94, NVIDIA Corporation
Window size: 854x480
GFLW Platform: win32
Render Extensions: GL_ARB_buffer_storage, GL_KHR_debug, GL_ARB_vertex_attrib_binding, GL_ARB_direct_state_access
GL debug messages:
Is Modded: Definitely; Client brand changed to 'fabric'
Universe: 400921fb54442d18
Type: Client (map_client.txt)
Graphics mode: fancy
Render Distance: 24/24 chunks
Resource 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-command-api-v2, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, 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-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-language-kotlin, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-loot-api-v3, fabric-message-api-v1, fabric-model-loading-api-v1, 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-rendering-fluids-v1, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-resource-loader-v1, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-serialization-api-v1, fabric-sound-api-v1, fabric-tag-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, immediatelyfast, immersiveoverlays, iris, sodium, yet_another_config_lib_v3 (incompatible), zoomify, file/VanillaTweaks_r630827_MC1.21.x.zip
Current Language: en_us
Locale: en_US
System encoding: Cp1252
File encoding: UTF-8
CPU: 32x 13th Gen Intel(R) Core(TM) i9-13900K
If it is conflicting with any other mods, here is the list of mods I am using (not including Controlify and it's dependencies):
Fabric API
Fabric Language Kotlin
ImmediatelyFast
Iris
Sodium
Zoomify
Current Behaviour
On certain menu buttons that cycle between different options, such as the difficulty on the world creation screen, the game crashes when using a controller.
I have tested this with 2 different controllers (Steam Deck, and Nintendo Switch Pro Controller).
Expected Behaviour
The game should not crash and instead should cycle through the menu option as normal like with mouse and keyboard.
Screenshots
No response
Reproduction Steps
Logs
Mod Version
2.4.1 for fabric 1.21.10-rc1
Controller
Nintendo Switch Pro Controller, Steam Deck
Bluetooth
Operating System
Windows
ARM
Additional Information
If it is conflicting with any other mods, here is the list of mods I am using (not including Controlify and it's dependencies):
Fabric API
Fabric Language Kotlin
ImmediatelyFast
Iris
Sodium
Zoomify
Just to make sure...