
Controlify 是一个为《我的世界》Java版添加最佳控制器支持的模组。
为什么选择Controlify?
用户友好
尽管有高级设置供专业用户使用,但Controlify对初学者也很友好。它默认提供了按钮指南,显示在整个游戏中,帮助您学习控制器布局。它还会自动检测您控制器的型号,显示相关的Minecraft风格按钮贴图,使体验更加直观。Controlify开箱即用,无需花费大量时间让您的控制器感觉像其他游戏一样,这要归功于我创建的合理默认设置。
功能丰富
Controlify致力于支持所有可能与您的控制器一起使用的功能。
- 它原生支持陀螺仪,允许精准移动。
- 它支持振动/震动,使您的游戏体验更加沉浸(这甚至在基岩版上都没有!)
- 很快,DualSense控制器的HD触觉支持将会到来,这是在Playstation游戏之外从未见过的。
- 支持非标准的摇杆,如飞行杆,只需进行少量设置。
兼容性焦点
作为开发者,我与像Sodium和Iris这样的性能模组的开发者积极合作,以确保在这些自定义GUI中无缝支持控制器功能。这意味着更少的阻力环境,让您专注于玩游戏,而不是在菜单中挣扎。
问答
是否支持Steam Deck?
是的!Controlify已经在Steam Deck上进行了测试,并且完全可用。但是,由于SteamOS的限制,目前只有Steam游戏才能直接与陀螺仪和背部按钮进行交互,虽然[这将在未来几个月内发生变化](
是否支持我的控制器?
Controlify支持大多数控制器,任何通用的类似游戏手柄的控制器都应该能够正常工作,至少在基本状态下提供输入。尽管如此,一些奇怪和不常见的控制器,如ROG Ally等手持式控制器可能会缺少陀螺仪等功能。
如果您在正确设置您的控制器时遇到问题,您可以加入我的Discord服务器或查阅Wiki以获取帮助。
功能
控制器振动
Controlify支持控制器振动,这在PC版本的Minecraft中尚未见过,包括基岩版Windows 10 Edition。您可以配置每个振动源的强度,游戏中的各种方面都有复杂的振动模式(例如,当您受到伤害时)。
径向菜单
为了节省控制器上的一些按钮,将一些不常用的操作分配给径向菜单。通过设置完全可定制,并且易于使用。任何模组绑定都兼容此菜单。
内置陀螺仪支持
Controlify内置支持控制器陀螺仪,允许您在游戏中进行精细移动。这可以与“快速摇杆”结合使用,以便使用控制器进行游戏而无需进行妥协。
容器光标
就像基岩版一样,您可以在库存中移动光标,并以控制器友好的方式与之交互。具有用于快速移动、丢弃等操作的专用按钮。Controlify还配备了光标捕捉功能,因此您不需要对光标移动如此精确。
控制器识别
Controlify具有自动识别您
截图:
2.1.2 for fabric 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.20.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for fabric 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.2 for neoforge 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21.1-fabric
- 1.21.1-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Patreon](https://ko-fi.com/isxander), you will gain access to builds of an early Splitscreen mode.**
## Fixes
- Fix crash when opening inventories in 1.21 and below targets
2.1.1 for fabric 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.20.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for fabric 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.1 for neoforge 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Fixes
- Fix startup crash on literally every target
2.1.0 for fabric 1.20.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for fabric 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.1.0 for neoforge 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 25w14craftmine-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New targets
Add `25w14craftmine` target, [donator only](https://ko-fi.com/isxander) for the time being (this will be the only build to support craftmine)
## GUI features and fixes
- Fix screens with recipe books (including survival inventory) not having button guides or specialised controls like bundles
- Fix other GUI elements being affected by custom HUD scaling
- Wrap-around D-Pad snapping
- Add snapping support to:
- Enchanting table
- Loom
- Stonecutter
- Hold-repeat support for hotbar selection
- Increase the speed of the hold-repeat for D-Pad snapping
- Fix not being able to scroll in the villager trading menu
- Fix big black outline for the vmouse texture in pre 1.21.2 (enabled blending)
## Miscellaneous fixes and changes
- Use the v2 API in Fabric API for adding HUD elements (in >=1.21.5)
- Fix Switch Pro controller texture bumpers and trigger texts (ZL/L and ZR/R) being the wrong way around
- Fix last icon in the in game button guide not being rendered on old targets
- Fix broken pre 1.21.2 in-game keyboard rendering
- Fix being able to control YACL options when they were disabled
- Fix not being able to control the 'No Fly Drifting' option, even in a singleplayer world
2.0.4 for fabric 1.20.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for fabric 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.4 for neoforge 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge projects being completely broken - resource reloaders were registered too late leading to
controller identification, input mappings, input glyphs, etc, from being broken
- Fix mixin error log when opening Sodium GUI.
2.0.3 for fabric 1.20.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.20.6
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.20.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.21.1
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for fabric 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.21.4
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.21.5
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.3 for neoforge 1.21.3
This version has the following targets:
- 1.21.5-fabric
- 1.21.5-neoforge
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Changes
- **Added 1.21.5 target** for both Fabric and NeoForge!
- Drastically improved the performance of the on-screen keyboard
- There is zero performance impact anymore. It used to decrease FPS by 8x (lol)
- Controlify no-longer auto-selects newly connected controllers in order to aid with splitscreen (thanks Mauro for PR)
- Removed explicit immediately-fast support, it works just fine on it's own.
- ImmediatelyFast is still supported and recommended for performance reason, there's just
no code in Controlify to support it anymore.
## Bug fixes
- Fix head disappearing and NaN log spam (thanks Mauro for PR)
- Fix unplugging and re-plugging same controller multiple times causing deletion of its config (thanks Mauro for PR)
- Only display the Bluetooth warning when it would affect the user (thanks Mauro for PR)
- Fix resource reload on NeoForge 1.21.4
2.0.2 for fabric 1.21.4
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.2 for fabric 1.21.3
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.2 for fabric 1.21.1
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.2 for fabric 1.20.6
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.2 for fabric 1.20.4
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.2 for fabric 1.20.1
This version has the following targets:
- 25w04a-fabric (donator only)
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## Bug fixes
- Fix NeoForge builds incorrectly packaging `jarJar` mods. This presented as a mixin crash on all Neo targets.
- Fix identical model controllers being seen as the same controller which resulted in the second one to not be connected
- Fix toggle sprint and toggle sneak options being toggle if any connected controller config is toggle,
regardless of whether it is active, as well as the vanilla toggle setting.
- Fix crash because YACL version constraint was not strict enough
- Fix LCE mode being framerate dependant
- Fix NeoForge versions crashing due to a mixin error
- Fix Enhanced Steam Deck driver sometimes failing to connect to CEF
- Reorganise `vInvertLook` and `isLCE` options into the input component, instead of generic settings
*This update includes localisation updates*
Some new documentation is being written for Controlify.
It includes information on the resource pack features.
[Check it out on moddedmc.wiki](https://moddedmc.wiki/project/controlify/docs)
2.0.1 for neoforge 1.21.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.21.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for neoforge 1.21.3
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.21.3
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for neoforge 1.21.1
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.21.1
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for neoforge 1.20.6
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.20.6
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for neoforge 1.20.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.20.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.1 for fabric 1.20.1
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
*This update includes localisation updates*
## Bug fixes
- Fix Steam Decks not being detected
- Fix low battery warning toast having `%s` where there should have been replacements.
2.0.0 for fabric 1.21.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.21.3
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.21.1
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.20.6
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.20.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.20.1
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0 for fabric 1.21.4
This version has the following targets:
- 25w03a-fabric
- 1.21.4-fabric
- 1.21.4-neoforge
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
**By donating on my [Ko-Fi](https://ko-fi.com/isxander), you will gain access to builds of Controlify for snapshot
builds of Minecraft.**
## New features
- Add deadzone for analogue boat control
- Makes holding the boat directly straight a lot easier.
- Added Legacy Console Edition Mode - makes the look input and vmouse feel and behave like Legacy Console Edition,
for people who prefer it. ([by Permdog99](https://github.com/isXander/Controlify/pull/455))
- Add another server policy: `keyboardLikeMovement`, to make servers enforce this, for anti-cheats.
- Verify downloaded SDL natives with an additional checksum that is contained within the jar, improving security
by preventing the download server from providing a different binary than the one when the jar was built.
- A new, more advanced, scoped logging system is being added throughout the mod to make debugging easier.
## Changes
- A new algorithm is being used to compute the unique ID of each controller
- This comes with the unfortunate side effect of causing all controller-specific configs to be reset, as they're now
treated as new controllers when upgrading from beta 21 or below.
- This algorithm should be more stable, correctly identifying the same physical controller through different
setups, like bluetooth vs wired, or system configuration.
- Give exact battery percentage in low battery notification
- This notification now only appears if the controller is unplugged.
- Remove access wideners and access transformers - no longer needed
- Provide the framework for PojavLauncher support - PojavLauncher needs an update (that is in progress) to make
use of Controlify.
- The amount of jar-in-jar dependencies has been reduced. Instead, Controlify shades and relocates them under its
own package.
- Identify Xbox 360 controller via Wireless Adapter correctly as an Xbox controller (instead of generic) (fix [#403](https://github.com/isXander/Controlify/issue/403))
## Bug fixes
- Fix not being able to break blocks in surivival mode after an out-of-focus client grabs mouse (fix [#436](https://github.com/isXander/Controlify/issue/436))
- This presents when you close any GUI whilst in-game
- Fix Steam Deck controls stopping after the game is suspended (sleeps, or out of focus for a while)
- Fix crash when opening recipe book screens in versions >=1.21.2
- Fix not being able to use the mouse to click on Settings and Use buttons on carousel entries
- Fix crash with Xander's Sodium Options
2.0.0-beta.21 for fabric 1.21.4
This version has the following targets:
- 1.21.4-fabric
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for fabric 1.20.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for fabric 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for neoforge 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for fabric 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for neoforge 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for fabric 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for neoforge 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for fabric 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.21 for neoforge 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all version due to mixin injection error
2.0.0-beta.20 for fabric 1.20.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for fabric 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for neoforge 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for fabric 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for neoforge 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for fabric 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for neoforge 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for neoforge 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.20 for fabric 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix startup crash on all targets lower than 1.21.3
- Fix text hover/click chat offset being a few pixels down
2.0.0-beta.19 for neoforge 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for fabric 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for neoforge 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for fabric 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for neoforge 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for fabric 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for neoforge 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for fabric 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.19 for fabric 1.20.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
- Fix crashes on neoforge targets due to mixin extras module error
2.0.0-beta.18 for neoforge 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for fabric 1.21.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for neoforge 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for fabric 1.20.6
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for neoforge 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for fabric 1.20.4
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for fabric 1.20.1
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for neoforge 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
2.0.0-beta.18 for fabric 1.21.3
This version has the following targets:
- 1.21.3-fabric
- 1.21.3-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## 1.21.2/3 Support!
This update includes support for the latest version of Minecraft, including the new bundle item!
### Bundles
Controlify imitates the controller support for bundles offered by the Bedrock Edition of Minecraft.
By default, use the right stick whilst hovering over a bundle to navigate through the grid of items contained in the
bundle. Use X (or Square for PS users) to remove your selected item from the bundle, and use A (or X for PS users) to
add items to the bundle.
### Sodium
Support for Sodium 0.6 has been added for specifically the 1.21.2/3 target, **including NeoForge!**
Reese's Sodium Options is currently not supported by Sodium 0.6 targets of Controlify, until then,
the unmodded Sodium options is working fine. Reese's support will come soon.
## Gyro improvements
Thanks to the [PR by lukacsi](https://github.com/isXander/Controlify/pull/423), improvements to the gyro options
allow for gyro ratcheting as well as using the gyro button to toggle on/off.
## Changes
- Update to 1.21.3
- Add toggle to disable the enhanced Steam Deck driver in global settings.
- Fix test rumble option not working when not accessed from an in-game context ([#430](https://github.com/isXander/Controlify/pull/430))
- Fix sprint not working and look input getting stuck after tabbing out
- Fix crash on pause menu when mods remove some buttons
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.17
This version has the following targets:
- 1.21-fabric
- 1.21-neoforge
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Fix lockups when loading into worlds with Steam Decks
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.16
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Changes
Added developer option to audit mixins
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.15
This version has the following targets:
- 1.20.6-fabric
- 1.20.6-neoforge
- 1.20.4-fabric
- 1.20.4-neoforge
- 1.21-fabric
- 1.21-neoforge
- 1.20.1-fabric
[](https://short.isxander.dev/bisect)
## Steam Deck Support
The time has finally arrived: explicit Steam Deck support!
With a little bit of initial setup that Controlify will walk you through, Controlify will now be able to:
- Read the back buttons, gyro and touchpads of your Steam Deck
- Intelligently pause the game when you open the Steam or Quick Access Menu.
Controlify does this be hooking into the internal JavaScript console that runs SteamOS. This allows Controlify a
deep integration into SteamOS. Unfortunately, this deep access also comes at the cost that it all needs to be
reverse-engineered.
Here are some features you should expect to see coming to Controlify very soon:
- Native screenshot handling - Taking a screenshot in the game will add it to the media library of the game, as well as bringing out the screenshot preview popup
- Native keyboard handling - Instead of using the (admittedly crappy) built-in on-screen keyboard by Controlify, you will be able to use the Steam Deck one!
## Other Changes
- Target 1.21.1 rather than 1.21.0
- Add FancyMenu compatibility - modpack creators can now assign a custom action that opens the controller list screen
## Bug Fixes
- Fix the global settings not saving when pressing 'Save'
- Fix 'Out of Focus' look input breaking after resuming the game from pause menu
- Fix crash on modded pause screen that deleted certain widgets
- Fix multiple joystick with same HID data not being differentiated (currently hidden behind debug flag)
- Fix Dualshock3 sprite scaling
- Fix startup crash on 1.20.1 build
- Catch "item group has no page" error and log the offending item group, fixes crash
- Fix broken loading of custom controller mappings when a mapping includes a 'I don't have this input' option
Controlify 2.0.0-beta.14 for Fabric 1.20.1
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Fabric 1.20.4
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Neoforge 1.20.4
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Fabric 1.20.6
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Neoforge 1.20.6
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Fabric 1.21
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.14 for Neoforge 1.21
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## New Features
- New radial menu for debug actions.
- Open F3 menus with graphs
- Show/hide chunk boundaries
- Reload chunks
- Reload packs
- Show/hide hitboxes
- Start/stop profiler
- Clear chat
- Add special `controlify.placeholder.controller_active` template localisation key.
- Servers can use this with fallbacks to display a message specifically when a controller is being used, like a button glyph.
- Add a third abstract gui action keybind for developers to use. (Left Stick Press by default).
## Changes
- Add controller shortcuts to the keyboard widget
- Add button shortcuts to Sodium's settings screen.
- Add support for Reese's Sodium Options.
- Finally re-enable Iris compatibility.
- Properly crash the game when Controlify init fails, instead of causing a resource reload rollback
- Better catch errors that happen in `onControlifyInit` entrypoints to allow the game to continue loading.
## Bug Fixes
- Fix extreme FPS drops when using the on-screen keyboard.
- These optimisations greatly depend on the ImmediatelyFast mod, it is now recommended.
- Fix server disconnecting clients without Controlify, with the message IndexOutOfBoundsException.
- Fix crash when changing YACL tabs with the controller.
- Fix key mapping emulations being processed whilst in GUIs, then all being applied at once when the GUI is closed.
Controlify 2.0.0-beta.13 for Fabric 1.20.1
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Fabric 1.20.4
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Neoforge 1.20.4
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Fabric 1.20.6
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Neoforge 1.20.6
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Fabric 1.21
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.13 for Neoforge 1.21
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- **FINALLY FIX CRASHING!**
- The JVM crashes appear to be fully solved, other crashes are unrelated
- Crashes relating to the radial menu *could* be solved, not 100% sure!
Controlify 2.0.0-beta.12 for Fabric 1.20.1
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Fabric 1.20.4
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Neoforge 1.20.4
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Fabric 1.20.6
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Neoforge 1.20.6
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Fabric 1.21
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.12 for Neoforge 1.21
- This version adds the new NeoForge 1.21 target.
- 1.21 targets now have re-enabled mod compatibility with the following mods
- Sodium
- Simple Voice Chat
- Immediately Fast
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
- NeoForge 1.21
## Changes
- Add named bindings to control descriptions
- Fix double-pressing for Radial Menu back button and Sodium tick box controls
- Add 1.21 neoforge target
- Fix back button hint showing as abstract action 1 in create world screen
- Fix toggle key mappings not working (toggle sprint)
- Fallback to default controller glyph set if the specified glyph is not mapped
- Fix crash going into the settings menu for 1.20.4 and below targets
- Add the ability to map 5 more miscellaneous button inputs, for example, Google Stadia Assistant button.
- This is incomplete and the font glyphs are currently missing
Controlify 2.0.0-beta.11 for Fabric 1.20.1
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.11 for Fabric 1.20.4
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.11 for Neoforge 1.20.4
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.11 for Fabric 1.20.6
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.11 for Neoforge 1.20.6
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.11 for Fabric 1.21
This build brings incomplete support for NeoForge for 1.20.6 and 1.20.4.
These builds are missing all networking features.
This version has the following targets:
- Fabric 1.20.1
- Fabric 1.20.4
- NeoForge 1.20.4
- Fabric 1.20.6
- NeoForge 1.20.6
- Fabric 1.21
## Changes
- Fallback to default controller font set if the font mapping file does not exist for the controller's namespace
- Add a controller icon for PSP (thanks \_cheburkot\_)
- Add incomplete support for NeoForge 1.20.4 and 1.20.6
- Fix compatibility with Fabric API 0.100+ on 1.20.6
- Update to the SDL library, this will be redownloaded
- Fix registry sync issue that prevented non-Controlify clients joining Controlify servers.
- Fix the default controller sprite being displayed as purple/black.
Controlify 2.0.0-beta.10 for MC 1.20.1
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Changes
- Rename `ControlifyEntrypoint#onControlifyPreInit` to `onControlifyInit` and call it a lot later.
- The old method has been deprecated but is still called.
- This fixes the Zoomify crash.
- Add some JavaDoc to the new binding API.
- Removed debug logs that were left in by accident.
Controlify 2.0.0-beta.10 for MC 1.20.4
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Changes
- Rename `ControlifyEntrypoint#onControlifyPreInit` to `onControlifyInit` and call it a lot later.
- The old method has been deprecated but is still called.
- This fixes the Zoomify crash.
- Add some JavaDoc to the new binding API.
- Removed debug logs that were left in by accident.
Controlify 2.0.0-beta.10 for MC 1.20.6
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Changes
- Rename `ControlifyEntrypoint#onControlifyPreInit` to `onControlifyInit` and call it a lot later.
- The old method has been deprecated but is still called.
- This fixes the Zoomify crash.
- Add some JavaDoc to the new binding API.
- Removed debug logs that were left in by accident.
Controlify 2.0.0-beta.9 for MC 1.20.1
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Rewritten binding system
The way Controlify consumes inputs from the controller has been completely rewritten.
The aim of this rewrite was to make the system more data-driven and have a more robust API.
`controller.bindings()` is now completely gone. Instead, you access a static supplier for a bind
in `ControlifyBindings` and use that to get the instance of a bind for a controller.
```jshelllanguage
if (ControlifyBindings.JUMP.on(controller).justPressed()) {
// do something!
}
```
Here's an example of how you can create your own `InputBinding`:
```jshelllanguage
public static InputBindingSupplier MY_CUSTOM_BINDING = ControlifyBindingApi.get().registerBinding(builder ->
.id("my_mod", "my_custom_binding")
.category(Component.literal("Cool category"))
.allowedContexts(BindContexts.IN_GAME) // highly recommended - will suppress outputs like justPressed() if incorrect context
.keyEmulation(options.keyJump) // example, optional
.addKeyCorrelation(options.keyAttack) // example, optional
.radialCandidate(RadialIcons.getEffect(MobEffect.JUMP_BOOST))); // example, optional
```
You should have this field in your Controlify entrypoint to ensure that the class is initialised before the
registry is locked.
Remember, defaults are now data-driven, see below for how to use that. For this example, the key would be
`my_mod:my_custom_binding`. If it is not set, your binding will be bound to empty. You can optionally hard-code a
default bind with `.defaultBind` (layered bottom-most) though this is highly recommended against and is only useful
when generating bindings on-the-fly.
**What is a bind context?**
Bind contexts is a new system that suppresses binding outputs if the current context doesn't match.
This prevents problems like binding the same input to, for example, Drop and Gui Back, as it could cause both to trigger.
It also lets Controlify know when binds will conflict, and display them in red in the options so the user knows when
they've done something wrong.
This is something I'd like to expand on in the future, like making some UI to easily filter between contexts.
**What is a key correlation?**
Currently, key correlations don't do anything. Their intended use is to display a button in the Key Bindings vanilla
menu to direct users to bind their controller instead. Calling `keyEmulation` implicitly calls `addKeyCorrelation` with
the same key mapping.
### Controller types are now namespaced
Controller types are now namespaced to allow for more flexibility.
Instead of
```json
"theme": "xbox_one"
```
you now write
```json
"namespace": "controlify:xbox_one"
```
Nothing else has changed for the controller identification file format.
### Data-driven defaults
Resource packs can now define the default input for any binding.
- Can be specific to certain controller types using their namespaces.
- Layered through packs and default namespace (controlify:default)
`assets/controlify/controllers/default_bind/dualsense.json`
*Note: if using a custom namespace, make sure to change `assets/controlify` into your controller ID's namespace.*
```json5
{
"defaults": {
"controlify:jump": {
"button": "controlify:button/touchpad",
// OR
"axis": "controlify:axis/left_stick_up",
// OR
"hat": "controlify:hat/custom_hat",
"target_state": "up",
// OR
"type": "empty",
// ALL ABOVE HAVE AN IMPLICIT TYPE EQUAL TO ITS KEY, e.g. `type: button`
}
}
}
```
Here is an example of overriding the default jump binding, only for DualSense controllers.
All the other defaults not specified in this file will be taken from the default namespace.
These changes are safely loaded between reloading packs (applying packs in the resource pack screen without restart).
A side effect of these changes is that bindings that are set to the default are no longer serialized.
This allows packs that modify defaults to fully apply their changes without having to reset the binds individually.
## Reloadable controller identification
Changes made in `controller_identification.json5` are now properly reloaded.
Controllers which have already been added will be checked to see if their identification has changed
and automatically disconnect/reconnect in order to apply those changes.
## Legacy Console Edition defaults
Using all of the new stuff above, Controlify now includes a built-in pack that applies the Legacy Console Edition
controller defaults to all controllers. This pack will be off by default. In the future, I hope to expand this pack
to add the old-style controller button glyphs.
You can use this by going to the resource packs screen and enabling the "Legacy Console" pack.
## Controlify Event refactor
An effort is being made to port Controlify to architectury (NeoForge support). This means a slow
abstraction away from Fabric API throughout the mod. Controlify was previously using Fabric API's `Event` class
for custom events.
Starting from this version, Controlify Events use a custom API (behind the scenes it still uses the FAPI one!).
The side effect of this is that all events now consume a single record type, containing the old arguments for the callback.
This makes it simpler to abstract the existing forge event bus stuff when the time comes.
Controlify 2.0.0-beta.9 for MC 1.20.4
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Rewritten binding system
The way Controlify consumes inputs from the controller has been completely rewritten.
The aim of this rewrite was to make the system more data-driven and have a more robust API.
`controller.bindings()` is now completely gone. Instead, you access a static supplier for a bind
in `ControlifyBindings` and use that to get the instance of a bind for a controller.
```jshelllanguage
if (ControlifyBindings.JUMP.on(controller).justPressed()) {
// do something!
}
```
Here's an example of how you can create your own `InputBinding`:
```jshelllanguage
public static InputBindingSupplier MY_CUSTOM_BINDING = ControlifyBindingApi.get().registerBinding(builder ->
.id("my_mod", "my_custom_binding")
.category(Component.literal("Cool category"))
.allowedContexts(BindContexts.IN_GAME) // highly recommended - will suppress outputs like justPressed() if incorrect context
.keyEmulation(options.keyJump) // example, optional
.addKeyCorrelation(options.keyAttack) // example, optional
.radialCandidate(RadialIcons.getEffect(MobEffect.JUMP_BOOST))); // example, optional
```
You should have this field in your Controlify entrypoint to ensure that the class is initialised before the
registry is locked.
Remember, defaults are now data-driven, see below for how to use that. For this example, the key would be
`my_mod:my_custom_binding`. If it is not set, your binding will be bound to empty. You can optionally hard-code a
default bind with `.defaultBind` (layered bottom-most) though this is highly recommended against and is only useful
when generating bindings on-the-fly.
**What is a bind context?**
Bind contexts is a new system that suppresses binding outputs if the current context doesn't match.
This prevents problems like binding the same input to, for example, Drop and Gui Back, as it could cause both to trigger.
It also lets Controlify know when binds will conflict, and display them in red in the options so the user knows when
they've done something wrong.
This is something I'd like to expand on in the future, like making some UI to easily filter between contexts.
**What is a key correlation?**
Currently, key correlations don't do anything. Their intended use is to display a button in the Key Bindings vanilla
menu to direct users to bind their controller instead. Calling `keyEmulation` implicitly calls `addKeyCorrelation` with
the same key mapping.
### Controller types are now namespaced
Controller types are now namespaced to allow for more flexibility.
Instead of
```json
"theme": "xbox_one"
```
you now write
```json
"namespace": "controlify:xbox_one"
```
Nothing else has changed for the controller identification file format.
### Data-driven defaults
Resource packs can now define the default input for any binding.
- Can be specific to certain controller types using their namespaces.
- Layered through packs and default namespace (controlify:default)
`assets/controlify/controllers/default_bind/dualsense.json`
*Note: if using a custom namespace, make sure to change `assets/controlify` into your controller ID's namespace.*
```json5
{
"defaults": {
"controlify:jump": {
"button": "controlify:button/touchpad",
// OR
"axis": "controlify:axis/left_stick_up",
// OR
"hat": "controlify:hat/custom_hat",
"target_state": "up",
// OR
"type": "empty",
// ALL ABOVE HAVE AN IMPLICIT TYPE EQUAL TO ITS KEY, e.g. `type: button`
}
}
}
```
Here is an example of overriding the default jump binding, only for DualSense controllers.
All the other defaults not specified in this file will be taken from the default namespace.
These changes are safely loaded between reloading packs (applying packs in the resource pack screen without restart).
A side effect of these changes is that bindings that are set to the default are no longer serialized.
This allows packs that modify defaults to fully apply their changes without having to reset the binds individually.
## Reloadable controller identification
Changes made in `controller_identification.json5` are now properly reloaded.
Controllers which have already been added will be checked to see if their identification has changed
and automatically disconnect/reconnect in order to apply those changes.
## Legacy Console Edition defaults
Using all of the new stuff above, Controlify now includes a built-in pack that applies the Legacy Console Edition
controller defaults to all controllers. This pack will be off by default. In the future, I hope to expand this pack
to add the old-style controller button glyphs.
You can use this by going to the resource packs screen and enabling the "Legacy Console" pack.
## Controlify Event refactor
An effort is being made to port Controlify to architectury (NeoForge support). This means a slow
abstraction away from Fabric API throughout the mod. Controlify was previously using Fabric API's `Event` class
for custom events.
Starting from this version, Controlify Events use a custom API (behind the scenes it still uses the FAPI one!).
The side effect of this is that all events now consume a single record type, containing the old arguments for the callback.
This makes it simpler to abstract the existing forge event bus stuff when the time comes.
Controlify 2.0.0-beta.9 for MC 1.20.6
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Rewritten binding system
The way Controlify consumes inputs from the controller has been completely rewritten.
The aim of this rewrite was to make the system more data-driven and have a more robust API.
`controller.bindings()` is now completely gone. Instead, you access a static supplier for a bind
in `ControlifyBindings` and use that to get the instance of a bind for a controller.
```jshelllanguage
if (ControlifyBindings.JUMP.on(controller).justPressed()) {
// do something!
}
```
Here's an example of how you can create your own `InputBinding`:
```jshelllanguage
public static InputBindingSupplier MY_CUSTOM_BINDING = ControlifyBindingApi.get().registerBinding(builder ->
.id("my_mod", "my_custom_binding")
.category(Component.literal("Cool category"))
.allowedContexts(BindContexts.IN_GAME) // highly recommended - will suppress outputs like justPressed() if incorrect context
.keyEmulation(options.keyJump) // example, optional
.addKeyCorrelation(options.keyAttack) // example, optional
.radialCandidate(RadialIcons.getEffect(MobEffect.JUMP_BOOST))); // example, optional
```
You should have this field in your Controlify entrypoint to ensure that the class is initialised before the
registry is locked.
Remember, defaults are now data-driven, see below for how to use that. For this example, the key would be
`my_mod:my_custom_binding`. If it is not set, your binding will be bound to empty. You can optionally hard-code a
default bind with `.defaultBind` (layered bottom-most) though this is highly recommended against and is only useful
when generating bindings on-the-fly.
**What is a bind context?**
Bind contexts is a new system that suppresses binding outputs if the current context doesn't match.
This prevents problems like binding the same input to, for example, Drop and Gui Back, as it could cause both to trigger.
It also lets Controlify know when binds will conflict, and display them in red in the options so the user knows when
they've done something wrong.
This is something I'd like to expand on in the future, like making some UI to easily filter between contexts.
**What is a key correlation?**
Currently, key correlations don't do anything. Their intended use is to display a button in the Key Bindings vanilla
menu to direct users to bind their controller instead. Calling `keyEmulation` implicitly calls `addKeyCorrelation` with
the same key mapping.
### Controller types are now namespaced
Controller types are now namespaced to allow for more flexibility.
Instead of
```json
"theme": "xbox_one"
```
you now write
```json
"namespace": "controlify:xbox_one"
```
Nothing else has changed for the controller identification file format.
### Data-driven defaults
Resource packs can now define the default input for any binding.
- Can be specific to certain controller types using their namespaces.
- Layered through packs and default namespace (controlify:default)
`assets/controlify/controllers/default_bind/dualsense.json`
*Note: if using a custom namespace, make sure to change `assets/controlify` into your controller ID's namespace.*
```json5
{
"defaults": {
"controlify:jump": {
"button": "controlify:button/touchpad",
// OR
"axis": "controlify:axis/left_stick_up",
// OR
"hat": "controlify:hat/custom_hat",
"target_state": "up",
// OR
"type": "empty",
// ALL ABOVE HAVE AN IMPLICIT TYPE EQUAL TO ITS KEY, e.g. `type: button`
}
}
}
```
Here is an example of overriding the default jump binding, only for DualSense controllers.
All the other defaults not specified in this file will be taken from the default namespace.
These changes are safely loaded between reloading packs (applying packs in the resource pack screen without restart).
A side effect of these changes is that bindings that are set to the default are no longer serialized.
This allows packs that modify defaults to fully apply their changes without having to reset the binds individually.
## Reloadable controller identification
Changes made in `controller_identification.json5` are now properly reloaded.
Controllers which have already been added will be checked to see if their identification has changed
and automatically disconnect/reconnect in order to apply those changes.
## Legacy Console Edition defaults
Using all of the new stuff above, Controlify now includes a built-in pack that applies the Legacy Console Edition
controller defaults to all controllers. This pack will be off by default. In the future, I hope to expand this pack
to add the old-style controller button glyphs.
You can use this by going to the resource packs screen and enabling the "Legacy Console" pack.
## Controlify Event refactor
An effort is being made to port Controlify to architectury (NeoForge support). This means a slow
abstraction away from Fabric API throughout the mod. Controlify was previously using Fabric API's `Event` class
for custom events.
Starting from this version, Controlify Events use a custom API (behind the scenes it still uses the FAPI one!).
The side effect of this is that all events now consume a single record type, containing the old arguments for the callback.
This makes it simpler to abstract the existing forge event bus stuff when the time comes.
Controlify 2.0.0-beta.8 for MC 1.20.1
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Bug fixes
- Fix 1.20.1 specific issue where Controlify never initialised
- Fix issue where Controlify would not initialise in quiet mode
Controlify 2.0.0-beta.8 for MC 1.20.4
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Bug fixes
- Fix 1.20.1 specific issue where Controlify never initialised
- Fix issue where Controlify would not initialise in quiet mode
Controlify 2.0.0-beta.8 for MC 1.20.6
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## Bug fixes
- Fix 1.20.1 specific issue where Controlify never initialised
- Fix issue where Controlify would not initialise in quiet mode
Controlify 2.0.0-beta.7 for MC 1.20.1
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## On-screen keyboard
This build adds a new on-screen keyboard that is currently only available in the chat screen.
This replaces the old functionality of attempting to open the system keyboard which could lead to the game
window being minimized or the keyboard being hidden behind the window.
This feature is currently experimental, and can be disabled per-controller in the settings menu.
The layout is not final and feedback is appreciated while I continue to improve it such as the layout.
Yes, it is planned that this keyboard will automatically appear for any other text input fields in the future.
## Other changes
- Add DualSense mute button light integration with simple voice chat mod.
- Re-enable mod compatibilities on 1.20.6 build. (except Iris for now)
- Update the SDL controller mapping definitions
## Bug fixes
- Fix crash when pressing B on the title screen and other glitches with buttons in menus.
- Fix rumble master volume not doing anything
- Fix DualShock 4 and DualShock 3 icons not working.
Controlify 2.0.0-beta.7 for MC 1.20.4
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## On-screen keyboard
This build adds a new on-screen keyboard that is currently only available in the chat screen.
This replaces the old functionality of attempting to open the system keyboard which could lead to the game
window being minimized or the keyboard being hidden behind the window.
This feature is currently experimental, and can be disabled per-controller in the settings menu.
The layout is not final and feedback is appreciated while I continue to improve it such as the layout.
Yes, it is planned that this keyboard will automatically appear for any other text input fields in the future.
## Other changes
- Add DualSense mute button light integration with simple voice chat mod.
- Re-enable mod compatibilities on 1.20.6 build. (except Iris for now)
- Update the SDL controller mapping definitions
## Bug fixes
- Fix crash when pressing B on the title screen and other glitches with buttons in menus.
- Fix rumble master volume not doing anything
- Fix DualShock 4 and DualShock 3 icons not working.
Controlify 2.0.0-beta.7 for MC 1.20.6
This version has the following builds - make sure you select the right one for your Minecraft version:
- 1.20.1
- 1.20.4
- 1.20.6 (also supports 1.20.5)
## On-screen keyboard
This build adds a new on-screen keyboard that is currently only available in the chat screen.
This replaces the old functionality of attempting to open the system keyboard which could lead to the game
window being minimized or the keyboard being hidden behind the window.
This feature is currently experimental, and can be disabled per-controller in the settings menu.
The layout is not final and feedback is appreciated while I continue to improve it such as the layout.
Yes, it is planned that this keyboard will automatically appear for any other text input fields in the future.
## Other changes
- Add DualSense mute button light integration with simple voice chat mod.
- Re-enable mod compatibilities on 1.20.6 build. (except Iris for now)
- Update the SDL controller mapping definitions
## Bug fixes
- Fix crash when pressing B on the title screen and other glitches with buttons in menus.
- Fix rumble master volume not doing anything
- Fix DualShock 4 and DualShock 3 icons not working.
Controlify 2.0.0-beta.6 for MC 1.20.5
## Bug Fixes
- Fix crash when joining multiplayer
Controlify 2.0.0-beta.5 for MC 1.20.1
- Fix YACL version constraint being set to an unreleased version of YACL
Controlify 2.0.0-beta.5 for MC 1.20.4
- Fix YACL version constraint being set to an unreleased version of YACL
Controlify 2.0.0-beta.5 for MC 1.20.5-rc2
- Fix YACL version constraint being set to an unreleased version of YACL
Controlify 2.0.0-beta.4 for MC 1.20.1
## More supported controllers!
- Added support for Switch Pro controllers and any switch controllers that emulate it.
- A new icon set is also present for switch controllers
- This is *not* support for JoyCons
- Added support for a new firmware of Xbox controllers.
## Bind icons - now powered by fonts!
The button icon rendering system has been completely overhauled. It now utilises the font renderer.
Other mods can now embed these icons within their text components, and servers can now send these through the chat.
```json5
// will display as the missing character square on clients without Controlify
{"key": "controlify:walk_forward", "font": "controlify:inputs"}
// will display 'No controlify here' with clients without Controlify
{"translate": "controlify.placeholder","with":[{"key": "controlify:walk_forward", "font": "controlify:inputs"},"No controlify here!"]}
```
This also allows for resource packs to provide HD icons!
## New button icon set!
Many previous icons have been redrawn. They are now using 16x textures.
- DualSense controllers now have an additional texture for the mute button (this is functional by the way!)
- Xbox Series controllers now have an additional texture for the share button (also functional!)
- Generic controllers now have textures for paddles and an extra miscellaneous button for controllers that support it
- A completely new Switch Pro icon set to go along with Switch Pro controller support.
## Server handshake
Servers with Controlify installed will now initiate a handshake with the player;
- If a client does not have Controlify installed, it will allow them to connect
- If a client has Controlify installed but the protocol is not the same as the server, it will be disconnected
- If a client has Controlify with a matching protocol version, it will allow them to connect
Note: protocol version is not the same thing as mod version. It is only changed when a change is made to the way
packets are sent and received.
Note: the client will not make itself known to a server unless the server implements the handshake protocol.
## Changes
- Controlify will now hard-crash when it fails to create a controller
- This is useful because it will be more obvious to you that there was an issue, rather than Controlify just not detecting it and silently failing. You will be able to submit a crash report to me to get it sorted.
- A new toast is now displayed after an unfixable error occurred and the controller config had to be reset
- Prevent the 'use the mouse' tutorial from appearing when a new world is started in controller mode.
- Switch use-item rumble to be under the 'Interaction' category, rather than 'Player'
## Bug fixes
- Fix a memory leak that retained world data through the 'Loading Terrain' screen. ([#293](https://github.com/isXander/Controlify/issues/293))
- Fix vibration not disabling when 'Allow Vibration' is off ([#263](https://github.com/isXander/Controlify/issues/263))
- Fix 'cannot find SDL3.dll' logs spamming ([#294](https://github.com/isXander/Controlify/issues/294))
- Don't enable the HD Haptics component if on macOS since it's broken
- Fix an error that was causing controller configuration to reset ([#290](https://github.com/isXander/Controlify/issues/290))
Controlify 2.0.0-beta.4 for MC 1.20.4
## More supported controllers!
- Added support for Switch Pro controllers and any switch controllers that emulate it.
- A new icon set is also present for switch controllers
- This is *not* support for JoyCons
- Added support for a new firmware of Xbox controllers.
## Bind icons - now powered by fonts!
The button icon rendering system has been completely overhauled. It now utilises the font renderer.
Other mods can now embed these icons within their text components, and servers can now send these through the chat.
```json5
// will display as the missing character square on clients without Controlify
{"key": "controlify:walk_forward", "font": "controlify:inputs"}
// will display 'No controlify here' with clients without Controlify
{"translate": "controlify.placeholder","with":[{"key": "controlify:walk_forward", "font": "controlify:inputs"},"No controlify here!"]}
```
This also allows for resource packs to provide HD icons!
## New button icon set!
Many previous icons have been redrawn. They are now using 16x textures.
- DualSense controllers now have an additional texture for the mute button (this is functional by the way!)
- Xbox Series controllers now have an additional texture for the share button (also functional!)
- Generic controllers now have textures for paddles and an extra miscellaneous button for controllers that support it
- A completely new Switch Pro icon set to go along with Switch Pro controller support.
## Server handshake
Servers with Controlify installed will now initiate a handshake with the player;
- If a client does not have Controlify installed, it will allow them to connect
- If a client has Controlify installed but the protocol is not the same as the server, it will be disconnected
- If a client has Controlify with a matching protocol version, it will allow them to connect
Note: protocol version is not the same thing as mod version. It is only changed when a change is made to the way
packets are sent and received.
Note: the client will not make itself known to a server unless the server implements the handshake protocol.
## Changes
- Controlify will now hard-crash when it fails to create a controller
- This is useful because it will be more obvious to you that there was an issue, rather than Controlify just not detecting it and silently failing. You will be able to submit a crash report to me to get it sorted.
- A new toast is now displayed after an unfixable error occurred and the controller config had to be reset
- Prevent the 'use the mouse' tutorial from appearing when a new world is started in controller mode.
- Switch use-item rumble to be under the 'Interaction' category, rather than 'Player'
## Bug fixes
- Fix a memory leak that retained world data through the 'Loading Terrain' screen. ([#293](https://github.com/isXander/Controlify/issues/293))
- Fix vibration not disabling when 'Allow Vibration' is off ([#263](https://github.com/isXander/Controlify/issues/263))
- Fix 'cannot find SDL3.dll' logs spamming ([#294](https://github.com/isXander/Controlify/issues/294))
- Don't enable the HD Haptics component if on macOS since it's broken
- Fix an error that was causing controller configuration to reset ([#290](https://github.com/isXander/Controlify/issues/290))
Controlify 2.0.0-beta.4 for MC 1.20.5
## More supported controllers!
- Added support for Switch Pro controllers and any switch controllers that emulate it.
- A new icon set is also present for switch controllers
- This is *not* support for JoyCons
- Added support for a new firmware of Xbox controllers.
## Bind icons - now powered by fonts!
The button icon rendering system has been completely overhauled. It now utilises the font renderer.
Other mods can now embed these icons within their text components, and servers can now send these through the chat.
```json5
// will display as the missing character square on clients without Controlify
{"key": "controlify:walk_forward", "font": "controlify:inputs"}
// will display 'No controlify here' with clients without Controlify
{"translate": "controlify.placeholder","with":[{"key": "controlify:walk_forward", "font": "controlify:inputs"},"No controlify here!"]}
```
This also allows for resource packs to provide HD icons!
## New button icon set!
Many previous icons have been redrawn. They are now using 16x textures.
- DualSense controllers now have an additional texture for the mute button (this is functional by the way!)
- Xbox Series controllers now have an additional texture for the share button (also functional!)
- Generic controllers now have textures for paddles and an extra miscellaneous button for controllers that support it
- A completely new Switch Pro icon set to go along with Switch Pro controller support.
## Server handshake
Servers with Controlify installed will now initiate a handshake with the player;
- If a client does not have Controlify installed, it will allow them to connect
- If a client has Controlify installed but the protocol is not the same as the server, it will be disconnected
- If a client has Controlify with a matching protocol version, it will allow them to connect
Note: protocol version is not the same thing as mod version. It is only changed when a change is made to the way
packets are sent and received.
Note: the client will not make itself known to a server unless the server implements the handshake protocol.
## Changes
- Controlify will now hard-crash when it fails to create a controller
- This is useful because it will be more obvious to you that there was an issue, rather than Controlify just not detecting it and silently failing. You will be able to submit a crash report to me to get it sorted.
- A new toast is now displayed after an unfixable error occurred and the controller config had to be reset
- Prevent the 'use the mouse' tutorial from appearing when a new world is started in controller mode.
- Switch use-item rumble to be under the 'Interaction' category, rather than 'Player'
## Bug fixes
- Fix a memory leak that retained world data through the 'Loading Terrain' screen. ([#293](https://github.com/isXander/Controlify/issues/293))
- Fix vibration not disabling when 'Allow Vibration' is off ([#263](https://github.com/isXander/Controlify/issues/263))
- Fix 'cannot find SDL3.dll' logs spamming ([#294](https://github.com/isXander/Controlify/issues/294))
- Don't enable the HD Haptics component if on macOS since it's broken
- Fix an error that was causing controller configuration to reset ([#290](https://github.com/isXander/Controlify/issues/290))
Controlify 2.0.0-beta.3 for MC 1.20.1
# Additions
- Radial menus for creative hotbar save/load
- Radial menu to select hotbar slot
- Now publishing a secondary offline jar that bundles all the natives inside the JAR
This jar will not ask to load SDL. It will attempt to do so automatically.
# Translations
[Controlify is now on Crowdin](https://crowdin.com/project/controlify), if you'd like to help,
join my discord and ask!
- 100% complete French translation - thanks Myuui!
- 100% complete Mexican Spanish translation - thanks TheLegendofSaram and Zetsphiron!
# Bug Fixes
- Fix water splash rumble being applied when flying through water in spectator mode
- Fix mixed input not working after enabling explicitly in config screen (closes [#267](https://github.com/isXander/Controlify/issues/267))
- Fix radial button not being able to be changed (closes [#275](https://github.com/isXander/Controlify/issues/275))
- Fix disconnecting/reconnecting the same controller being detect as a second controller (closes [#276](https://github.com/isXander/Controlify/issues/276))
- Fix axes not working when rebound in the settings (closes [#274](https://github.com/isXander/Controlify/issues/274))
- Fix in-game drop key conflicting with gui back/exit bind (close [#272](https://github.com/isXander/Controlify/issues/272))
- Optimise some mixins
Controlify 2.0.0-beta.3 for MC 1.20.4
# Additions
- Radial menus for creative hotbar save/load
- Radial menu to select hotbar slot
- Now publishing a secondary offline jar that bundles all the natives inside the JAR
This jar will not ask to load SDL. It will attempt to do so automatically.
# Translations
[Controlify is now on Crowdin](https://crowdin.com/project/controlify), if you'd like to help,
join my discord and ask!
- 100% complete French translation - thanks Myuui!
- 100% complete Mexican Spanish translation - thanks TheLegendofSaram and Zetsphiron!
# Bug Fixes
- Fix water splash rumble being applied when flying through water in spectator mode
- Fix mixed input not working after enabling explicitly in config screen (closes [#267](https://github.com/isXander/Controlify/issues/267))
- Fix radial button not being able to be changed (closes [#275](https://github.com/isXander/Controlify/issues/275))
- Fix disconnecting/reconnecting the same controller being detect as a second controller (closes [#276](https://github.com/isXander/Controlify/issues/276))
- Fix axes not working when rebound in the settings (closes [#274](https://github.com/isXander/Controlify/issues/274))
- Fix in-game drop key conflicting with gui back/exit bind (close [#272](https://github.com/isXander/Controlify/issues/272))
- Optimise some mixins
Controlify 2.0.0-beta.3 for MC 1.20.5-pre1
# Additions
- Radial menus for creative hotbar save/load
- Radial menu to select hotbar slot
- Now publishing a secondary offline jar that bundles all the natives inside the JAR
This jar will not ask to load SDL. It will attempt to do so automatically.
# Translations
[Controlify is now on Crowdin](https://crowdin.com/project/controlify), if you'd like to help,
join my discord and ask!
- 100% complete French translation - thanks Myuui!
- 100% complete Mexican Spanish translation - thanks TheLegendofSaram and Zetsphiron!
# Bug Fixes
- Fix water splash rumble being applied when flying through water in spectator mode
- Fix mixed input not working after enabling explicitly in config screen (closes [#267](https://github.com/isXander/Controlify/issues/267))
- Fix radial button not being able to be changed (closes [#275](https://github.com/isXander/Controlify/issues/275))
- Fix disconnecting/reconnecting the same controller being detect as a second controller (closes [#276](https://github.com/isXander/Controlify/issues/276))
- Fix axes not working when rebound in the settings (closes [#274](https://github.com/isXander/Controlify/issues/274))
- Fix in-game drop key conflicting with gui back/exit bind (close [#272](https://github.com/isXander/Controlify/issues/272))
- Optimise some mixins
Controlify 2.0.0-beta.2 for MC 24w14potato
# Changes
- Only let users change 'Load Natives' option if they are supported on the system
- Fix DualSense `left_stick_up` icon being broken
- Game Mode Switcher - you can now bind a key to open a radial menu to change the current game mode
- Rewritten flick stick to be accurate
- Fix crash when the config can't be read
Controlify 2.0.0-beta.2 for MC 1.20.1
# Changes
- Only let users change 'Load Natives' option if they are supported on the system
- Fix DualSense `left_stick_up` icon being broken
- Game Mode Switcher - you can now bind a key to open a radial menu to change the current game mode
- Rewritten flick stick to be accurate
- Fix crash when the config can't be read
Controlify 2.0.0-beta.2 for MC 1.20.4
# Changes
- Only let users change 'Load Natives' option if they are supported on the system
- Fix DualSense `left_stick_up` icon being broken
- Game Mode Switcher - you can now bind a key to open a radial menu to change the current game mode
- Rewritten flick stick to be accurate
- Fix crash when the config can't be read
Controlify 2.0.0-beta.1+1.20.4
- DualSense HD haptics are reported as working for macOS and Linux,
but does not do anything.
# Overview
## Rewritten controller backend
Every feature of a controller has now been turned into a modular component, each being optional and provided
by the underlying driver. For example, the SDL gamepad driver will add a rumble component, which contains all the
logic for rumble, but GLFW won't.
As well as all that, the way inputs (buttons, axes, hats) are programmed has been completely rewritten to allow for
an extremely modular system, each input has its own identifier, like `controlify:button/south`.
This means custom mappings are not restricted to using only the hardcoded gamepad inputs.
Generic joystick inputs slot into this system nicely using identifiers like `controlify:axis/0/negative`.
Then, you can layer input mappings on top of the driver provided inputs like
`controlify:axis/0/negative -> controlify:axis/left_stick_up`. Or, make your own inputs like
`mypack:button/paddle_left` powered by only resource packs! This mapping process has been greatly simplified with an
in-game mapping wizard that can walk you through creating a mapping (currently only to map to gamepads).
## Controller Mapping Wizard
If your controller is not detected as a gamepad, and instead a regular joystick
(either by a driver issue, or you really are using something like a flight-stick), you will be given the
opportunity to easily map your controller to a regular gamepad layout to allow for the default binds to work
and to get button textures. In the future, I hope to create a platform to automatically share your controller mappings
to be used by other people. You can even create your own resource pack that includes these mappings,
and even custom button textures. If you'd like help on how to do this, [join my discord server](https://short.isxander.dev/discord)
## SDL3
With 2.0, Controlify now utilises SDL3, the new in-development version of SDL that powers the advanced
controller features. Hopefully, this should mean compatibility for more controllers. However, I regret to say
that Steam Deck users will have to continue waiting for native support for back buttons and gyro.
After heavy research and collaboration with the SDL team, we've concluded that due to the nature of Steam Input,
it's impossible to bypass it unless on a driver level, *which is happening*.
A kernel driver for Steam Deck is in the works.
## DualSense HD Haptics
Controlify now has basic support for DualSense controller HD haptics. You will feel subtle vibrations when interacting
with menus throughout the game. There is currently no support for adaptive triggers but this is trivial to add in the
future. No haptic effects yet exist for gameplay, this involves sound design which I am not very good at. You can disable
HD haptics in the vibration group in the settings menu.
# Changelog
- Add checksums to controller natives to prevent crashing when the SDL download was aborted, then tried to load next launch
- Fix virtual mouse being jittery
- New rumble effect for landing in water
- Reduce the amount of rumble sources into simpler categories
- Reimplemented controller type default mapping with the new system
- Add a bluetooth warning screen that appears on first launch to suggest using USB for features such as HD haptics.
This only appears on controllers where a feature is limited by bluetooth. For now, just DualSense.
- Add HD haptic support for navigating through gui elements
- Refactor of look input code
- Add deadzone visualizer into the deadzone settings
- Rewrite controller code completely
- Increase unknown controller submission name to 64 chars
- Adjust way controller UIDs are created to prevent same controllers being identified differently between launches
- Add an option to adjust the radial menu timeout ([#254](https://github.com/isXander/Controlify/pull/254))
- Fix range of chat keyboard height being 800%
- More resilient bind rendering to prevent seeing missing textures
Controlify 1.8.1+1.20.4
## Bug Fixes
- Fix crash when opening Sodium options when Reese's Sodium Options is installed.
Controlify 1.8.0+1.20.4
## Joystick Gamepad Emulation
Controlify now supports joystick gamepad emulation. Some controllers may not be picked up correctly
as a gamepad, so now you can emulate a gamepad by teaching Controlify what each input on your controller
corresponds to on a gamepad.
This will automatically appear if Controlify detects that your controller is not a gamepad.
This is a common issue, where all the button textures show as purple/black squares.
## Additions
- Add new rumble effect when walking on soul sand or any other block that slows you down.
- Add recipe book navigation *by Arno Keesman* ([#222](https://github.com/isXander/Controlify/pull/222))
- Add a button that links to the wiki when the controller carousel screen is empty (no controllers detected).
## Changes
- Improved functionality of changing a binding. They should be picked up a lot better now, and darkens
the rest of the screen around the control.
- Removed MixinExtras from the JAR since it is now included by Fabric Loader.
- Rename 'Auto Deadzone Calibration' to 'Auto Calibration', and duplicate the option into the gyro section.
- Better detection of damage for the rumble effect.
- Rumble is now silenced when the game is paused.
- All rumble effects are cleared when disconnecting.
- Stop reducing aim sensitivity on crossbows since you do not aim when you pull them back.
- Update the internal game controller database to the latest version.
- Add a controller to the known list that was submitted heavily by the 'Submit Unknown Controller' screen.
- Refactor the way Controlify shows the setup screens like calibration and submit unknown controller.
## Bug Fixes
- Fix drop button from triggering if exit gui and drop are the same button.
- Fix VMouse handling triggering whilst in-game, causing the button that toggles it to override other controls,
like changing perspective.
- Fix switching tabs in YACL not focusing the buttons properly.
- Fix Sodium GUI compatibility, controls were not focusing. (THIS DOES NOT APPLY TO REESE'S SODIUM OPTIONS)
- Fixed other mods like FreeCam from breaking input.
## Translations
- French translation by Myuui ([#211](https://github.com/isXander/Controlify/pull/211))
Controlify 1.7.0+1.20.4
Controlify 1.7.0+1.20.3
Controlify 1.7.0+1.20.2
Updated to 1.20.2.
## Changes since 1.7.0-beta.3
### Bug Fixes
- Fix crash when sometimes opening chat screen, even without a controller (#186)
## New Features
- Added D-Pad snapping in container screens
- Keyboard-like movement whitelist and warning toast when joining new servers
- Added bind to open F3 debug screen
- More snap points on recipe book
- Allow users to define a custom SDL natives path (so you can put them in a common dir if you want)
- Add a reset all binds button to controls tab
- Added an SDL download screen that appears with a progress bar when downloading SDL2 for the first time or an update.
## Changes
- Switched to Java Native Access (JNA) from Java Native Interface (JNI) for SDL2 native library.
- This should fix issues on Linux and macOS when loading SDL2.
- This makes adding more features with SDL2 easier in the future.
- Provided `gamecontrollerdb.txt` to SDL and GLFW to (hopefully) improve controller compatibility.
- Controller calibration now detects triggers on joysticks. You must re-calibrate your controller for this to take effect.
- Internal changes to the way controllers are discovered, loaded and managed.
- `delegate_setup` config option has been renamed to `quiet_mode`.
- Pause screen's disconnect shortcut now focuses the button instead of clicking it.
- Add a donate button to the controller carousel screen.
- Modify how analogue inputs are processed whilst ingame or using the virtual mouse to make it feel more "circular"
- Marginally improve performance of Controlify by using optimized hashmaps.
- Pressing back button on server list now focuses on the back button.
## Bug Fixes
- Fix pressing F3-Esc crashing when a controller is active.
- Fix [Immediately Fast](https://modrinth.com/mod/immediatelyfast) compatibility causing extreme log spam.
- Fix generic XInput controllers being identified as 8BitDo an controller.
- Fix NullPointerException when opening radial menu with an invalid action bound.
- Fix crash when discovering controllers without SDL loaded.
- Fix crash when sometimes opening chat screen, even without a controller (#186)
Controlify 1.7.0-beta.3+1.20.2
## New Features
- Added D-Pad snapping in container screens
- Keyboard-like movement whitelist and warning toast when joining new servers
- Added bind to open F3 debug screen
- More snap points on recipe book
- Allow users to define a custom SDL natives path (so you can put them in a common dir if you want)
- Add a reset all binds button to controls tab
## Changes
- Internal changes to the way controllers are discovered, loaded and managed. (this could introduce new bugs)
- `delegate_setup` config option has been renamed to `quiet_mode`.
- Pause screen's disconnect shortcut now focuses the button instead of clicking it.
- Add a donate button to the controller carousel screen.
- Modify how analogue inputs are processed whilst ingame or using the virtual mouse to make it feel more "circular"
- Marginally improve performance of Controlify by using optimized hashmaps.
## Bug Fixes
- Fix hotplugging when using natives.
- Fix SDL download screen progress bar being a missing texture.
- Fix people being unable to write newlines and spaces in signs when using mixed input mode.
- Fix some modded GUIs crashing when attempting to open when Controlify is loaded.
- Fix tridents not causing a vibration.
- Fix rumble not working on joysticks.
- Fix fabric mod json requirement allowing any 1.20 version not 1.20.2 and above.
Controlify 1.7.0-beta.2+1.20
## Changes
- Updated to 1.20.2.
- Pressing back button on server list now focuses on the back button.
## Bug Fixes
- Fix pause menu no longer showing button guides (regression in 1.7.0-beta.1).
- Fix NullPointerException when opening radial menu with an invalid action bound.
- Fix crash when discovering controllers without SDL loaded.
Controlify 1.7.0-beta.1+1.20
This patch focuses on stability and controller compatibility.
## Changes
- Switched to Java Native Access (JNA) from Java Native Interface (JNI) for SDL2 native library.
- This should fix issues on Linux and macOS when loading SDL2.
- This makes adding more features with SDL2 easier in the future.
- Provided `gamecontrollerdb.txt` to SDL and GLFW to (hopefully) improve controller compatibility.
- Controller calibration now detects triggers on joysticks. You must re-calibrate your controller for this to take effect.
- Added an SDL download screen that appears with a progress bar when downloading SDL2 for the first time or an update.
## Bug Fixes
- Fix pressing F3-Esc crashing when a controller is active.
- Fix [Immediately Fast](https://modrinth.com/mod/immediatelyfast) compatibility causing extreme log spam.
- Fix generic XInput controllers being identified as 8BitDo an controller.
Controlify 1.6.0+1.20
## Additions
- Added No Fly Drifting option, can be disabled by the server.
- Add 'Take Screenshot' binding
- Add 'Pick block with NBT' binding
## Changes
- Make all server policies 'allow' by default. If you install Controlify,
you expect it.
## Bug Fixes
- Fix use item rumble getting stuck on death or respawn
- Fix toggle sneak toggling when dismounting or landing from flight
## Language Updates
- Added Vietnamese translation [(#145)](https://github.com/isXander/Controlify/pull/145)
Controlify 1.5.1+1.20
## New Features
- Added Simple Voice Chat support. You can now bind push-to-talk and whisper
to your controller and it will work properly. Radial menus have custom icons
for some SVC actions.
- Added radial menus to the API completely.
## Changes
- Made rumble effects merge together rather than pausing each other when multiple effects
are playing at once.
- Slightly increased the values the auto-deadzone calibration gives you.
## Bug Fixes
- Fixed the radial up/down/left/right bindings not having a localised name.
## Language Updates
- Updated Chinese translation.
Controlify 1.5.0+1.20
## New Features
### Radial Menu

Added a radial menu for quick access to up to 8 common binds that could not fit on
the controller buttons. The menu can be opened by holding down the bind (right d-pad by default),
then selecting with the action you want (right-stick by default) and letting go of the bind.
The menu can be configured in the config screen, as usual.
### Unknown Controller Submission

When your controller is unidentified, a screen will pop up, asking you to send off some
controller data in order for me to add it to the identification database. You can skip this
screen if you want to, and it won't bother you again for that controller.
## Changes
### Controller Handling
A lot of changes and improvements have been made regarding the way Controlify handles controllers:
- Moved to an SDL2-based driver when available, you shouldn't notice any difference, but may support
more controllers than the old GLFW approach.
- XInput devices are now named properly in some cases, instead of just "XInput Controller"
- Upon failure of detection, the controller will continue to load, as an unknown controller.
- Updated the required SDL2 natives version to 2.28.2, hopefully fixing some controller bugs.
- Reduced the delay before the mouse hides itself after use when using Mixed Input mode (from 3 to 2 seconds).
- Added the 'PRINT_VID_PID' debug property which prints the vendor and product ID of any connected controller.
### Configuration Screen
- Updated some controller arts.
- Made the reset button act as an unbind button for controls.
- Added a new "What's New" section to the configuration screen, so it's easier to spot the
new features.
- Fixed controller names not stacking properly when multiple controllers have the same name.
- Credited Andrew Grant for making the controller art on the carousel screen, with a link to his
GitHub.
## Bug Fixes
As usual, a lot of bug fixes have been made:
- Fixed not being able to type in text boxes after focusing them with a controller.
- Fixed controller guides in inventory corresponding to the incorrect binds.
- Fixed rumble not working intermittently.
- Fix server reach-around not respecting config option and always being disallowed.
- Fixed the chat rendering incorrectly when hidden.
- Fixed the controller being disabled when pressing "Maybe Later" on the calibration screen
if the controller was already calibrated.
- Fix mixin remap error when starting up the game.
- Fix missing textures relating to joysticks.
- Fix missing language entry for joystick axis deadzones.
## Controller Database Updates
Changes to the database that Controlify uses to identify controllers at runtime.
- Added more Xbox controller identifications.
- Added 8BitDo SN30 Pro & Ultimate.
## Translations
- Update chinese translation
Controlify 1.4.6+1.20
## Bug Fixes
- Fix hotplug issue whilst in-game.
- Fix crash when depending on Controlify in a loom development environment
1.4.5+1.20
## Bug Fixes
- Fix some movement input not working after hotplugging a controller until you switch worlds
- Improve the feel of keyboard-like movement input
- Use SDL when a controller isn't detected with hid4java
- Fix crash on servers due to loading sounds
- Resolve incompatibility with Fabric Item Group API where custom creative tabs would be cycled through in a random order
1.4.4+1.20
## Bug Fixes
- Fix some binds not being able to be held down.
1.4.3+1.20
## Bug Fixes
- Fix some binds triggering multiple times per tick.
1.4.2+1.20
## New Features
- Added a 'Maybe Later' button to the calibration screen, which will close the screen and not calibrate the controller.
- Added a 'Mixed Input' option which allows you to make any controller behave like the Steam Deck.
- Implement SDL controller identification when `hid4java` is unavailable (on macOS ARM).
## Changes
- Controller rumble is silenced whilst the window is out of focus, rather than the previous behaviour where all
rumble effects were cancelled.
- Optimize rumble driver calls to not send every tick if unnecessary.
## Bug Fixes
- Fix the controller default config syncing with the normal config after a serialization failure.
1.4.1+1.20
## Bug Fixes
- Fix attack and use keys getting stuck down
- Fix crash with QSL to do with registering sounds
1.4.0+1.20
## Additions
- New config option to render ingame button guide HUD at the bottom rather than the top.
- Support for dpad navigation in screens.
- Changed the no gyro supported message to something more suitable for Steam Deck users, directing them to use Steam Input.
## Bug Fixes
- Fix crash when opening journeymap menu with a Steam Deck.
- Fix some vanilla override bindings from not working.
- Fix crash on shutdown when not using SDL mappings with a joystick connected.
- Fix virtual mouse not working properly on most GUIs.
- Fix buttons not auto-focusing on Steam Deck.
- Fix rare crash to do with `delegate_setup` config option.
## Localisation
- Updated Chinese translation.
1.3.2+1.20
## Additions
- Added a toast when a server disables reach-around, and you have it enabled everywhere
## Bug Fixes
- Fixed bug where some controller bindings weren't working on the Steam Deck.
1.3.1+1.20
## Additions
- Added new setting to have a custom scale for the in-game button guide hud. This is relative to the Minecraft
gui scale setting.
- Better Steam Deck handling, allowing simultaneous use of Steam Input features like mouse gyro emulation
and touchpads. This is temporary until the Steam Deck driver is finished.
## Changes
- Reimplement immediately-fast compatibility that was temporarily removed in 1.20 betas. Your button guides should
be a little more performant now.
1.3.0+1.20
## New Features
- Added a config setting `delegate_setup` so modpack authors can move the controller setup to when users
enter the config screen.
### Controller Carousel Screen
This screen appears where the YACL config once was, after opening controller settings. You
can select a controller from the carousel to either edit its settings or set it as the active
controller.
On each entry of the carousel, you can now also see a pixel art icon of the specific controller type,
thanks to [Andrew Grant](https://github.com/Andrew6rant) for making these!

### New Controller Settings Screen
Upon opening an individual controller config, a more refined YACL config screen will appear.
Three categories are available: Basic, Advanced and Controls. Basic contains the most common
settings you will change, advanced holds settings such as gyro and rumble.
With the new settings screen, comes the features of YetAnotherConfigLib v3. Some option descriptions
are now enhanced with gifs and images to better explain what they do. Because the controls groups are now
actually classes as groups, searching the group name will show all controls in that group.
### Greatly improved gyro support
I got my hands on a controller with gyro, so I was able to test and refine the functionality to make
it as intuitive as possible. For starts, it actually works now (I forgot to enable the sensor) and the flick
stick is now a smooth animation rather than just jumping 90 degrees.
### Better controller name detection
If not provided by explicit controller detection, Controlify now uses the name found in the
SDL game controller database, so more controllers should have more accurate names.
### Experimental anti-snapback
Every spring isn't perfect, and can sometimes cause the stick to overshoot the neutral position
when returning to it. This can cause the camera to drift slightly. This feature attempts to mitigate
that. This feature can already be found in DS4Windows, but a more native solution is always better.
To try it out, you need to set a JVM flag in your launcher: `-Dcontrolify.debug.use_snapback=true`,
however, do be warned, this is extremely buggy and can cause the stick to jitter.
### Server-side support
Controlify now has server-side support, meaning it is now recommended to install Controlify on your server.
#### `/vibratecontroller` command
This command allows you to make players' controllers vibrate. You can specify the intensity of both the
low frequency and high frequency motors, and the duration of the vibration.
You can select to either do a simple vibration, or place the vibration in world-space (either bound to an entity or position)
with a range to have the vibration intensity decrease with distance.
```
/vibratecontroller <receivers> <low_freq_intensity> <high_freq_intensity> <duration_ticks> <(static|positioned)> [<range>] [<(position|entity>]
/vibratecontroller @a 0 0.25 200 positioned 10 ~ ~ ~
/vibratecontroller @a 0.75 1 50 static
/vibratecontroller @a 0.75 1 20 positioned 10 @e[type=minecraft:warden,sort=nearest,limit=1]
/execute as @e[type=!minecraft:player] run vibratecontroller @a 1 0 5 positioned 20 @s
```
This comes with a client option in global settings to ignore these server requests to vibrate.
#### Reach-around policy
When Controlify is stored in the server, by default, the reach-around policy is set to `disallow`. You can
allow reach-around placement on your server by setting the `reach_around_policy` config option to `true`.
## Changes
- Removed extra mappings resource pack (merged into base resources)
## Bug Fixes
- Fixed hotplugging not working when no controllers were connected at launch
- Fixed natives not working on Apple Silicon
1.3.0-beta.2+1.20
## Additions
### Controller Carousel Screen
This screen appears where the YACL config once was, after opening controller settings. You
can select a controller from the carousel to either edit its settings or set it as the active
controller.
On each entry of the carousel, you can now also see a pixel art icon of the specific controller type,
thanks to [Andrew Grant](https://github.com/Andrew6rant) for making these!
### New Controller Settings Screen
Upon opening an individual controller config, a more refined YACL config screen will appear.
Three categories are available: Basic, Advanced and Controls. Basic contains the most common
settings you will change, advanced holds settings such as gyro and rumble.
With the new settings screen, comes the features of YetAnotherConfigLib v3. Some option descriptions
are now enhanced with gifs and images to better explain what they do. Because the controls groups are now
actually classes as groups, searching the group name will show all controls in that group.
### Greatly improved gyro support
I got my hands on a controller with gyro, so I was able to test and refine the functionality to make
it as intuitive as possible. For starts, it actually works now (I forgot to enable the sensor) and the flick
stick is now a smooth animation rather than just jumping 90 degrees.
### Better controller name detection
If not provided by explicit controller detection, Controlify now uses the name found in the
SDL game controller database, so more controllers should have more accurate names.
### Experimental anti-snapback
Every spring isn't perfect, and can sometimes cause the stick to overshoot the neutral position
when returning to it. This can cause the camera to drift slightly. This feature attempts to mitigate
that. This feature can already be found in DS4Windows, but a more native solution is always better.
To try it out, you need to set a JVM flag in your launcher: `-Dcontrolify.debug.use_snapback=true`,
however, do be warned, this is extremely buggy and can cause the stick to jitter.
## Bug Fixes
- Fixed the natives onboarding screen getting stuck until a restart
- Fix crash when attempting to load joysticks.
1.2.1+1.19.4
## Bug Fixes
- Updated mixin extras to 0.2.0-beta.8 to resolve some rare crashes (memoryLeakFix)
1.3.0-beta.1+1.20
Updated for Minecraft 1.20
## New Features
- Added a config setting `delegate_setup` so modpack authors can move the controller setup to when users
enter the config screen.
## Changes
- Removed extra mappings resource pack (merged into base resources)
## Beta 1
- Added a config setting `delegate_setup` so modpack authors can move the controller setup to when users
enter the config screen.
- Removed the immediately-fast compatibility temporarily.
- Removed extra mappings resource pack (merged into base resources)
1.2.0+1.19.4
## New Features
- Container button guide - just like bedrock edition
- Button guides and shortcuts for the title screen and pause menu
- Controller bind conflict detection - binds that conflict with each other are highlighted in red
- Battery level warning as a toast. (EXPERIMENTAL)
- Controller vibration & gyro support on macOS
- A toast is now displayed when your primary controller was connected and automatically switched to.
## Changes
- Cursor snapping is now instant
- Only print debug info if non-default
- Removed 'VMouse Escape' bind in favour of GUI back.
- Removed vanilla overrides for: swap hands, inventory, change perspective, show player list.
This means nothing to the user but may reduce bugs.
## Bug Fixes
- Fix rumble reported as unsupported when it's just off
- Fixed a bug where the logs were spammed on Steam Deck devices
- Fix hidden mouse hovering over buttons in the centre of the screen
- Fix rare crash
1.1.1+1.19.4
## Additions
- Binds can now be unbound by pressing the right stick down (configurable bind).
## Changes
- Vibration natives are now onboarded on-demand (when a controller is connected), rather than on startup.
- Add extra details to controller construction crash report.
- Update toasts to be more clear. ([#64](https://github.com/isXander/Controlify/issues/64) by madis0)
- Update vibration onboarding message to be more generic, including Gyro.
## Bug Fixes
- Fix reconnected controllers being unidentified.
- Fix some mod keybindings failing to register as controller binds.
- Fix 'Out Of Focus Input' option not working properly.
- Fix crash with some unmapped joysticks.
- Fix 'GUI Abstract Action 2' bind not saving properly.
1.1.0+1.19.4
A noteable update to Controlify, with a lot of new features.
## New Features
- Controller vibration support for all platforms.
- Gyro support for compatible controllers.
- Reach-around block interaction that imitates Bedrock Edition's exact behaviour.
- Reduce aim sensitivity option. When aiming, the sensitivity is reduced and more fine control is given.
- UI sounds option.
- A toggleable setting enables playing the legacy console edition UI sound when changing the selected component
in GUIs. In the future, this will be expanded to have more sounds.
- Modded keybinds are now automatically registered as controller binds.
- Bindings are now grouped into categories.
- Under-the-hood drivers.
- Compound joysticks, allowing for an infinite amount of inputs. This currently has no UI, and you have to create a joystick mapping resource-pack yourself. This will come in a future update.
- Two abstract gui controller binds are available for mod developers to use in any screen context.
- Button guide in screens, with a new API for mod developers to add their own button guides.
- New registry for screenop API, as an alternative to mixing into UIs, you now register `ScreenProcessor`s and `ComponentProcessor`s on the Controlify entrypoint.
- New builder API for controller bindings, deprecating the old constructor-based approach.
### Controller Vibration
This is a feature that is available on all platforms, Windows, Linux, and Mac.
The current vibrations are:
- Using items (including eating)
- Taking damage
- Ender dragon death
- Anvil use (clang! clang! clang!)
- Explosions
- Their intensity is scaled based on the explosion's distance from the player and power.
- This is a cool custom effect where you feel an initial boom, and then another fading vibration.
- Survival block mining
- The intensity is scaled based on the block's hardness.
- Items breaking
- Fishing rod bite
Vibrations play nicely together, where playing a vibration over a longer vibration does
not cause the longer vibration to stop, but is suppressed until the interrupting vibration is completed.
### Gyro support
Controlify now has built-in support for controller gyroscopes, allowing you to make fine movements in-game.
This can be combined with [flick stick](https://www.reddit.com/r/gamedev/comments/bw5xct/flick_stick_is_a_new_way_to_control_3d_games_with/) to be able to use a controller without
the compromise of using the thumbsticks.
This requires use of a compatible controller, such as a Dualsense controller.
Currently, the Steam Deck is not supported, as it does not expose the gyro data to the OS, however, explicit
support for this device is planned in the future.
### Under-the-hood drivers
Controlify now uses a new driver system, which allows me to combine multiple libraries to create a more
powerful controller interface, with a modular system to mix and match drivers.
This means in the future, I can add more advanced features per-controller, such as Steam Deck touchpad and
back buttons explicitly supported in-game.
### Built-in resource pack for extra mappings
Controlify now has a built-in resource pack, which contains mappings and language files for the
aforementioned joystick.
The split was done to not modify the default language file, which would become huge in size and potentially cause merge
conflicts.
## Changes
There are multiple breaking API changes in this update, but as of writing, I am not aware of any
mods that utilise any of Controlify's APIs. This will not happen in minor updates when this mod is more popular.
- Ingame guide registry now takes a function that provides `IngameGuideContext`, rather than many parameters, this
future-proofs the API if more parameters are added.
- Some ingame guide classes have moved inside the `api` package.
- Partial Chinese translation by [@GodGun968](https://github.com/GodGun968).
### Screen navigation improvements
Moving between components in GUIs feel more like most other games, where when holding the stick in a direction,
it moves once, waits a bit, and then moves through components quickly. Think holding down a key while you type.
### More controller identifications
More controllers are now identified out-of-box, particularly the PS3 and Dualsense controllers.
Along with that, DualSense, PS3 and Steam Deck now have textures.
### Improved crash handling
Where possible, Controlify now generates Minecraft crash reports with details of the controller which
caused the crash.
### Improved joystick mapping
Allows the mapping of joysticks to be more flexible, allowing for more complex mappings. This has been
battle-tested with a Thrustmaster TM.16000M FCS HOTAS joystick.
## Bug Fixes
- Fixed a bug where some in-game binds worked in containers. ([#35](https://github.com/isXander/Controlify/issues/35))
- Fix controllers not being detected half the time on startup.
- Fix unidentified controllers not being able to save configs.
- Fixed a bug where closing the pause menu or similar menu would cause you to trigger in-game inputs if
bound to the same button
- Fixed YetAnotherConfigLib not being declared as a fabric dependency, causing crashes if not present.
1.1.0-beta.4+1.19.4
1.1.0-beta.3+1.19.4
## New Features
### Gyro support
Controlify now has built-in support for controller gyroscopes, allowing you to make fine movements in-game.
This can be combined with [flick stick](https://www.reddit.com/r/gamedev/comments/bw5xct/flick_stick_is_a_new_way_to_control_3d_games_with/) to be able to use a controller without
the compromise of using the thumbsticks.
This requires use of a compatible controller, such as a Dualsense controller.
Currently, the Steam Deck is not supported, as it does not expose the gyro data to the OS, however, explicit
support for this device is planned in the future.
### UI sounds
A toggleable setting enables playing the legacy console edition UI sound when changing the selected component
in GUIs. In the future, this will be expanded to have more sounds.
### Under-the-hood drivers
Controlify now uses a new driver system, which allows me to combine multiple libraries to create a more
powerful controller interface, with a modular system to mix and match drivers.
This means in the future, I can add more advanced features per-controller, such as Steam Deck touchpad and
back buttons explicitly supported in-game.
### Improved joystick mapping
Allows the mapping of joysticks to be more flexible, allowing for more complex mappings. This has been
battle-tested with a Thrustmaster TM.16000M FCS HOTAS joystick.
### Built-in resource pack for extra mappings
Controlify now has a built-in resource pack, which contains mappings and language files for the
aforementioned joystick.
The split was done to not modify the default language file, which would become huge in size and potentially cause merge
conflicts.
### Improved crash handling
Where possible, Controlify now generates Minecraft crash reports with details of the controller which
caused the crash.
## Changes
### Screen navigation improvements
Moving between components in GUIs feel more like most other games, where when holding the stick in a direction,
it moves once, waits a bit, and then moves through components quickly. Think holding down a key while you type.
### More controller identifications
More controllers are now identified out-of-box, particularly the PS3 and Dualsense controllers.
Along with that, Dualsense, PS3 and Steam Deck now have textures.
### Vibration natives downloading changes
The vibration natives are now downloaded from my maven repository, allowing for better version control
and syncing with the mod version.
## Bug Fixes
- Fixed a bug where closing the pause menu or similar menu would cause you to trigger in-game inputs if
bound to the same button
- Fixed YetAnotherConfigLib not being declared as a fabric dependency, causing crashes if not present.
## API Changes
### Sources JAR now published
The sources JAR is now published to the maven repository, allowing you to debug Controlify and view documentation in your IDE.
### Controller binding API refactor
Controller binding API has had a minor refactor that will cause incompatibilities with mods.
### YACL option binding generator
Bindings now allow you to create a YACL option, to add to your own config GUIs.
1.1.0-beta.2+1.19.4
## New Vibrations
- **Explosions** now cause a vibration.
Their intensity is scaled based on the explosion's distance from the player and power.
This is a cool custom effect where you feel an initial boom, and then another fading vibration.
- **Survival block mining** now causes a vibration. The intensity is scaled based on the block's hardness.
- **Item break** now causes a vibration.
- **Fishing rod fish bite** now causes a vibration.
## Vibration Changes
A new continuous vibration effect has been added. This allows for more complex
vibrations over a non-specific duration. This means an overhaul of some vibrations:
- Bow draw vibration now feels like a real bow draw with a slight wobble on max charge (like the animation).
- Crossbow load vibration now matches the animation.
- Eating vibration now matches the animation.
Also, vibrations now play nicely together, where playing a vibration over a longer vibration does
not cause the longer vibration to stop, but pause.
## Bug Fixes
- Fix the health vibration sometimes not playing.
- Fix controllers not being detected half the time on startup.
- Fix unidentified controllers not being able to save configs.
1.1.0-beta.1+1.19.4
A noteable update to Controlify, with a lot of new features.
## New Features
- Controller vibration support for all platforms.
- Reach-around block interaction that imitates Bedrock Edition's exact behaviour.
- Reduce aim sensitivity option. When aiming, the sensitivity is reduced and more fine control is given.
- Modded keybinds are now automatically registered as controller binds.
- Bindings are now grouped into categories.
- Compound joysticks, allowing for an infinite amount of inputs. This currently has no UI, and you have to create a joystick mapping resource-pack yourself. This will come in a future update.
- Two abstract gui controller binds are available for mod developers to use in any screen context.
- Button guide in screens, with a new API for mod developers to add their own button guides.
- New registry for screenop API, as an alternative to mixing into UIs, you now register `ScreenProcessor`s and `ComponentProcessor`s on the Controlify entrypoint.
- New builder API for controller bindings, deprecating the old constructor-based approach.
### Controller Vibration
This is a feature that is available on all platforms, Windows, Linux, and Mac.
Only a few vibrations are implemented in this beta, but I'd love suggestions for more.
The current vibrations are:
- Using items (including eating)
- Taking damage
- Ender dragon death
- Anvil use (clang! clang! clang!)
## Changes
There are multiple breaking API changes in this update, but as of writing, I am not aware of any
mods that utilise any of Controlify's APIs. This will not happen in minor updates when this mod is more popular.
- Ingame guide registry now takes a function that provides `IngameGuideContext`, rather than many parameters, this
future-proofs the API if more parameters are added.
- Some ingame guide classes have moved inside the `api` package.
- Partial Chinese translation by [@GodGun968](https://github.com/GodGun968).
## Bug Fixes
- Fixed a bug where some in-game binds worked in containers. ([#35](https://github.com/isXander/Controlify/issues/35))
1.0.0+1.19.4
Due to this being the first full release, all features from betas will be listed here.
## Features
- In-game complete controller input
- 4-axis screen operation with thumbsticks
- In-game button guide hud with accompanying mod API
- Cursor snapping to slots in containers (with API)
- Bedrock-like look sensitivity
- Controller mapping interface to change buttons
- "Virtual mouse" fallback for incompatible screens and containers
- Joystick support (limited)
- Auto deadzone detection
- Controller hotplugging
- Resource-pack based controller model identification, button rendering and joystick mapping
- Seperate X/Y axis sensitivity settings
- Axis deadzone configuration
- Accessibility options per-controller, auto jump, toggle sneak, toggle sprint.
- 1.19.4 tab system compatibility
- Steam Deck support
- Chat offset for on-screen keyboards
- Keyboard-like movement setting for over-zealous anti-cheats
- Immediately-fast HUD batching
## Compatibility
- Most vanilla menu support
- YACL support
- Sodium support
- Iris support
- Explicit immediately-fast support for button guide hud batching
## New since 0.3.0
- Update to 1.19.4 release
- Rewritten controller identification system to be more reliable and to support Steam Deck
- Add icon to Mod Menu
- Fix virtual mouse spawning top-left when it should spawn in the middle
- Chat offset for on-screen keyboards
- Add compatibility for navbars for all screens, rather than just create world
- Controller switch confirmation toast
- Keyboard-like movement setting for over-zealous anti-cheats
- Fix binding API breaking with generics
- Fix YACL cycling using incorrect bindings
0.3.0+1.19.4
This milestone includes a lot of community suggestions and joystick support (though multiple of these cannot be used at once *yet*)
- Joystick support - completely modular with resource pack mapping system.
- Controller deadzone auto-calibration system
- More button guides
- Swap hands bind
- Shift click bind
- Better error handling for controller identification service
- Improve controller looking
- Improve controller snapping
- Auto jump per-controller
- Steamdeck identification
- Sodium support ([this build](https://discord.com/channels/602796788608401408/1078028514390974565) and onwards)
- Current controller is now saved between loads
- New 1.19.4-pre1 create world screen tab compatibility
0.2.0+1.19.4
- In-game dynamic button guide hud with accompanying API
- Controller cursor snapping for containers
- Rewrite of player look input to feel more snappy and bedrock-like
- Fix toggle sneak not working
- Fix controller bindings not saving in some scenarios

0.1.0+1.19.4
- In-game complete controller input
- Controller Mapping
- Joystick screen navigation
- Virtual Mouse Support in any GUI
- Controller hotplugging
- Common vanilla menu compatibility
- YACL compatibility
- Controller model identification
- Controller button theming
- Separate X/Y look sensitivity control
- Controller deadzone configuration
- Controller Accessibility (auto jump + sneak)
收录