[Bug] UI misbehaves with Controlify 2.0.0-beta.6 for MC 1.20.5
tchatain opened this issue ยท 2 comments
Current Behaviour
Since updating to this new version, the UI buttons no longer behave as before. I have experienced this both on a Steam Deck and on a PC using an Xbox controller.
- When playing on a server, if I open the in-game menu, the Disconnect option has an image of the Y button on it. When I hit Y, that button gets focus, but the image on it no longer changes to be the A button. The A button still successfully activates it, though.
- Once disconnected, if I want to back out of the server selection screen, the B button does nothing. I must navigate to the button manually in order to activate it with A.
- On the title screen screen, hitting the B button to quit the game causes a crash. Manually naigating to the Quit button and activating it with A does not cause the same crash. An example crash log (from the Steam Deck) is attached.
Expected Behaviour
Being able to navigate the menus using the same shortcuts as before.
Screenshots
No response
Reproduction Steps
All three scenarios are outlined in the Current Behaviour section.
Logs
---- Minecraft Crash Report ----
// I blame Dinnerbone.
Time: 2024-04-26 11:26:53
Description: Ticking current controller
java.util.NoSuchElementException: No value present
at java.base/java.util.Optional.orElseThrow(Optional.java:377)
at dev.isxander.controlify.screenop.compat.vanilla.TitleScreenProcessor.handleButtons(TitleScreenProcessor.java:19)
at dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:50)
at dev.isxander.controlify.Controlify.tickController(Controlify.java:548)
at dev.isxander.controlify.Controlify.lambda$tick$35(Controlify.java:497)
at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at dev.isxander.controlify.Controlify.lambda$tick$36(Controlify.java:496)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at dev.isxander.controlify.Controlify.tick(Controlify.java:495)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at net.minecraft.class_310.handler$zzm000$fabric-lifecycle-events-v1$onStartTick(class_310.java:3242)
at net.minecraft.class_310.method_1574(class_310.java)
at net.minecraft.class_310.method_1523(class_310.java:1281)
at net.minecraft.class_310.method_1514(class_310.java:888)
at net.minecraft.client.main.Main.main(Main.java:265)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:551)
at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:84)
at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
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/java.util.Optional.orElseThrow(Optional.java:377)
at dev.isxander.controlify.screenop.compat.vanilla.TitleScreenProcessor.handleButtons(TitleScreenProcessor.java:19)
at dev.isxander.controlify.screenop.ScreenProcessor.onControllerUpdate(ScreenProcessor.java:50)
at dev.isxander.controlify.Controlify.tickController(Controlify.java:548)
at dev.isxander.controlify.Controlify.lambda$tick$35(Controlify.java:497)
at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at dev.isxander.controlify.Controlify.lambda$tick$36(Controlify.java:496)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at dev.isxander.controlify.Controlify.tick(Controlify.java:495)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at net.minecraft.class_310.handler$zzm000$fabric-lifecycle-events-v1$onStartTick(class_310.java:3242)
-- Affected controller --
Details:
Controller name: Steam Deck
Controller identification: Steam Deck
Controller type: dev.isxander.controlify.controller.ControllerEntity
Stacktrace:
at dev.isxander.controlify.utils.ControllerUtils.wrapControllerError(ControllerUtils.java:28)
at dev.isxander.controlify.Controlify.lambda$tick$36(Controlify.java:496)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at dev.isxander.controlify.Controlify.tick(Controlify.java:495)
at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
at net.minecraft.class_310.handler$zzm000$fabric-lifecycle-events-v1$onStartTick(class_310.java:3242)
at net.minecraft.class_310.method_1574(class_310.java)
at net.minecraft.class_310.method_1523(class_310.java:1281)
at net.minecraft.class_310.method_1514(class_310.java:888)
at net.minecraft.client.main.Main.main(Main.java:265)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:551)
at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:84)
at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
-- Uptime --
Details:
JVM uptime: 91.872s
Wall uptime: 81.664s
High-res time: 80.629s
Client ticks: 1567 ticks / 78.350s
Stacktrace:
at net.minecraft.class_310.method_1587(class_310.java:2548)
at net.minecraft.class_310.method_54580(class_310.java:983)
at net.minecraft.class_310.method_1514(class_310.java:908)
at net.minecraft.client.main.Main.main(Main.java:265)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.quiltmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:551)
at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:84)
at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:100)
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
-- 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-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-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-message-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, quilt_loader, yet_another_config_lib_v3
-- System Details --
Details:
Minecraft Version: 1.20.5
Minecraft Version ID: 1.20.5
Operating System: Linux (amd64) version 6.1.52-valve16-1-neptune-61
Java Version: 21.0.2, Flathub
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Flathub
Memory: 514497528 bytes (490 MiB) / 1082130432 bytes (1032 MiB) up to 4294967296 bytes (4096 MiB)
CPUs: 8
Processor Vendor: AuthenticAMD
Processor Name: AMD Custom APU 0405
Identifier: AuthenticAMD Family 23 Model 144 Stepping 2
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: VanGogh [AMD Custom GPU 0405]
Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
Graphics card #0 VRAM (MB): 258.00
Graphics card #0 deviceId: 0x163f
Graphics card #0 versionInfo: unknown
Virtual memory max (MB): 8431.21
Virtual memory used (MB): 4316.05
Swap memory total (MB): 1024.00
Swap memory used (MB): 0.00
JVM Flags: 2 total; -Xms512m -Xmx4096m
Fabric Mods:
controlify: Controlify 2.0.0-beta.6+1.20.5
dev_isxander_libsdl4j: libsdl4j 3.693c75e-36
org_hid4java_hid4java: hid4java 0.7.0
org_quiltmc_parsers_gson: gson 0.3.0
org_quiltmc_parsers_json: json 0.3.0
fabric-api: Fabric API 0.97.6+1.20.5
fabric-api-base: Fabric API Base 0.4.40+80f8cf510d
fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.59+e9d2a72b0d
fabric-biome-api-v1: Fabric Biome API (v1) 13.0.24+76551cf60d
fabric-block-api-v1: Fabric Block API (v1) 1.0.20+6dfe4c9b0d
fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.8+80f8cf510d
fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.50+80f8cf510d
fabric-client-tags-api-v1: Fabric Client Tags 1.1.12+7f945d5b0d
fabric-command-api-v1: Fabric Command API (v1) 1.2.45+f71b366f0d
fabric-command-api-v2: Fabric Command API (v2) 2.2.24+80f8cf510d
fabric-commands-v0: Fabric Commands (v0) 0.2.62+df3654b30d
fabric-content-registries-v0: Fabric Content Registries (v0) 8.0.4+b82b23920d
fabric-convention-tags-v1: Fabric Convention Tags 2.0.3+7f945d5b0d
fabric-convention-tags-v2: Fabric Convention Tags (v2) 2.0.0+2b43c5c80d
fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.27+80f8cf510d
fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.1.15+2a2c66b60d
fabric-data-generation-api-v1: Fabric Data Generation API (v1) 19.0.5+7f945d5b0d
fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.68+947939130d
fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.8+e9d2a72b0d
fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.7.6+c5fc38b30d
fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.50+80f8cf510d
fabric-item-api-v1: Fabric Item API (v1) 8.1.1+17e985d60d
fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.38+aae0949a0d
fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.45+80f8cf510d
fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.43+df3654b30d
fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.3.4+c5fc38b30d
fabric-loot-api-v2: Fabric Loot API (v2) 3.0.4+97f703da0d
fabric-message-api-v1: Fabric Message API (v1) 6.0.10+109a837c0d
fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.12+80f8cf510d
fabric-models-v0: Fabric Models (v0) 0.4.11+9386d8a70d
fabric-networking-api-v1: Fabric Networking API (v1) 4.0.7+9342ba640d
fabric-object-builder-api-v1: Fabric Object Builder API (v1) 15.1.3+c5fc38b30d
fabric-particles-v1: Fabric Particles (v1) 4.0.0+c5fc38b30d
fabric-recipe-api-v1: Fabric Recipe API (v1) 5.0.2+c5fc38b30d
fabric-registry-sync-v0: Fabric Registry Sync (v0) 5.0.14+f1240ba70d
fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.12+97f703da0d
fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.12+80f8cf510d
fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.61+df3654b30d
fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.46+73761d2e0d
fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.1.3+2c869ded0d
fabric-rendering-v0: Fabric Rendering (v0) 1.1.64+df3654b30d
fabric-rendering-v1: Fabric Rendering (v1) 4.2.4+b21c00cb0d
fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 4.0.1+74e2f5600d
fabric-resource-loader-v0: Fabric Resource Loader (v0) 1.0.5+c5f2432c0d
fabric-screen-api-v1: Fabric Screen API (v1) 2.0.21+7b70ea8a0d
fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.71+b21c00cb0d
fabric-sound-api-v1: Fabric Sound API (v1) 1.0.21+c5fc38b30d
fabric-transfer-api-v1: Fabric Transfer API (v1) 5.1.6+c5fc38b30d
fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 6.0.10+74e2f5600d
java: OpenJDK 64-Bit Server VM 21
minecraft: Minecraft 1.20.5
quilt_loader: Quilt Loader 0.25.0
mixinextras: MixinExtras 0.3.5
yet_another_config_lib_v3: YetAnotherConfigLib 3.4.1+1.20.5-fabric
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
Launched Version: 1.20.5
Launcher name: PrismLauncher
Backend library: LWJGL version 3.3.3+5
Backend API: AMD Custom GPU 0405 (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.5 (git-7737614720), 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 'quilt'
Universe: 400921fb54442d18
Type: Client (map_client.txt)
Graphics mode: fancy
Render Distance: 10/12 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-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, 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-keybindings-v0, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-message-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, quilt_loader, yet_another_config_lib_v3 (incompatible)
Current Language: en_us
Locale: en_US
CPU: 8x AMD Custom APU 0405
Mod Version
2.0.0-beta.6 for MC 1.20.5
Controller
Steam Deck and Xbox Series X|S Wireless Controller
Bluetooth
- Yes
Operating System
Linux/SteamOS
ARM
- Yes
Additional Information
No response
Just to make sure...
- I have made sure I am using the latest version of Controlify for the latest version of Minecraft.
- I have made sure there are no other issues describing the same problem on the issue tracker.
Fixed in 96ae801