{"id":14997920,"url":"https://github.com/isxander/controlify","last_synced_at":"2025-04-12T21:27:32.633Z","repository":{"id":65703921,"uuid":"595341850","full_name":"isXander/Controlify","owner":"isXander","description":"The most advanced controller mod for Minecraft.","archived":false,"fork":false,"pushed_at":"2025-04-10T20:36:47.000Z","size":13134,"stargazers_count":192,"open_issues_count":206,"forks_count":45,"subscribers_count":7,"default_branch":"multiversion/dev","last_synced_at":"2025-04-10T21:33:33.581Z","etag":null,"topics":["controller","fabricmc","java","mod","neoforge"],"latest_commit_sha":null,"homepage":"https://www.isxander.dev/mods/controlify","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isXander.png","metadata":{"files":{"readme":".github/README.md","changelog":"changelog.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"isxander"}},"created_at":"2023-01-30T22:08:42.000Z","updated_at":"2025-04-10T20:36:50.000Z","dependencies_parsed_at":"2023-12-07T23:32:28.549Z","dependency_job_id":"7fbe526d-32ba-4c6a-b972-ae4305da94d3","html_url":"https://github.com/isXander/Controlify","commit_stats":{"total_commits":631,"total_committers":17,"mean_commits":37.11764705882353,"dds":0.4849445324881141,"last_synced_commit":"bf137e5a56553e9ec6d06d68eb0d0058be9d2198"},"previous_names":[],"tags_count":98,"template":false,"template_full_name":"isXander/FabricModTemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isXander%2FControlify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isXander%2FControlify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isXander%2FControlify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isXander%2FControlify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isXander","download_url":"https://codeload.github.com/isXander/Controlify/tar.gz/refs/heads/multiversion/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248633734,"owners_count":21136907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["controller","fabricmc","java","mod","neoforge"],"created_at":"2024-09-24T17:33:12.353Z","updated_at":"2025-04-12T21:27:32.577Z","avatar_url":"https://github.com/isXander.png","language":"Java","readme":"\u003cdiv align=\"center\"\u003e\n\n![Controlify - Controller support for Minecraft Java](https://raw.githubusercontent.com/isXander/Controlify/multiversion/dev/assets/controlify-banner.png)\n\n[![Mod Loader - Fabric](https://img.shields.io/badge/Mod%20Loader-Fabric-lightyellow?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDIgNzkuMTYwOTI0LCAyMDE3LzA3LzEzLTAxOjA2OjM5ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOCAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTE2VDE2OjU0OjE3LTA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOS0wNy0yOFQyMToxNzo0OC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MGVkYjFjMmMtZmY4Yy1lNDQxLTkzMWYtNDk1ZDRmMTRjNzYwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowZWRiMWMyYy1mZjhjLWU0NDEtOTMxZi00OTVkNGYxNGM3NjAiIHN0RXZ0OndoZW49IjIwMTgtMTItMTZUMTY6NTQ6MTctMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE4IChXaW5kb3dzKSIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4/HiGMAAAAtUlEQVRYw+XXrQqAMBQF4D2P2eBL+QIG8RnEJFaNBjEum+0+zMQLtwwv+wV3ZzhhMDgfJ0wUSinxZUQWgKos1JP/AbD4OneIDyQPwCFniA+EJ4CaXm4TxAXCC0BNHgLhAdAnx9hC8PwGSRtAFVMQjF7cNTWED8B1cgwW20yfJgAvrssAsZ1cB3g/xckAxr6FmCDU5N6f488BrpCQ4rQBJkiMYh4ACmLzwOQF0CExinkCsvw7vgGikl+OotaKRwAAAABJRU5ErkJggg==)](https://fabricmc.net)\n[![wakatime](https://wakatime.com/badge/user/75903a5e-3254-43c5-b168-b082ed4dfc1b/project/62700873-0895-4dae-8159-86692dcceb33.svg)](https://wakatime.com/badge/user/75903a5e-3254-43c5-b168-b082ed4dfc1b/project/62700873-0895-4dae-8159-86692dcceb33)\n\n[![Modrinth download count](https://img.shields.io/modrinth/dt/DOUdJVEm?logo=modrinth\u0026style=flat-square)](https://modrinth.com/mod/controlify)\n[![CurseForge download count](https://cf.way2muchnoise.eu/full_835847_downloads.svg)](https://curseforge.com/minecraft/mc-mods/controlify)\n\n[![Ko-fi donation page](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/isxander)\n\nA mod that adds the best **controller support** for Minecraft: Java Edition.\n\n\u003c/div\u003e\n\n## Why Controlify?\n\n### User friendly\n\nDespite advanced settings available for power users, Controlify is beginner-friendly. It comes by default with\nbutton guides that appear across the whole game, helping you learn the controller layout. It also automatically detects\nyour controller's make and model, displaying relevant Minecraft-style button textures for a more intuitive experience.\nControlify \"just works\" out of the box, no need to spend tens of minutes getting your controller feeling like any other\ngame, thanks to the sane defaults I have created.\n\n### Feature-rich\n\nControlify strives to support all the added features that may come with your controller.\n\n- It supports gyroscopes natively, allowing for precise movements.\n- It comes with vibration/rumble support, making your gameplay more immersive (this is even missing on Bedrock Edition!)\n- Soon, HD haptics support for DualSense controllers, something never seen outside a Playstation game.\n- Support for non-standard joysticks such as flight sticks, given a small amount of setup.\n\n### Compatibility focus\n\nI, the developer have actively collaborated with fellow mod creators of performance mods like Sodium and Iris to\nensure seamless controller functionality throughout these custom GUIs. This will mean a more friction-free environment\nthat lets you focus on playing the game, instead of battling through the menus.\n\n## Q\u0026A\n\n### Does it support Steam Deck?\n\n**Yes!** Controlify has full support for Steam Deck using a custom controller driver built right in to Controlify!\nYou can utilise gyro, back buttons and touchpads. Controlify also auto-pauses the game when you open the Steam or Quick\nAccess Menu.\n\nThis enhanced Steam Deck support requires Decky Loader to function properly.\n\n### Does it support my controller?\n\nControlify supports most controllers out of the box, any generic gamepad-like controller is bound to work fine, at\nleast in a basic state, giving inputs. Though, more strange and uncommon controllers such as handhelds like the ROG \nAlly may be missing features such as gyroscope.\n\nIf you are having trouble getting your controller working correctly, you can \n[join my discord server](https://short.isxander.dev/discord) or consult \n[the wiki](https://docs.isxander.dev/controlify/users/controller-compatibility-guide) for assistance.\n\n## Features\n\n### Controller vibration\n\nControlify supports controller vibration, which has not been seen before for PC versions of Minecraft,\nincluding Bedrock Windows 10 Edition. Configure the intensity of each vibration source, with\ncomplex vibration patterns for lots of aspects of the game (e.g. when you take damage).\n\n![picture of vibration config](https://cdn.modrinth.com/data/DOUdJVEm/images/8a7809d07d9e1d9e3002007d7e5e13b73ce8fb5b.png)\n\n### Radial menu\n\n![radial menu showcase](https://cdn.modrinth.com/data/DOUdJVEm/images/e56d9be363b2b31440e16018cc01f197848b7ac6.webp)\n\nTo save up some buttons on your controller, dedicate some less-used actions to the radial menu.\nIt is fully customizable through the settings and intuitive to use. Any modded keybind is\ncompatible with this menu.\n\n### Built-in gyro support\n\nControlify has built-in support for controller gyroscopes, allowing you to make fine movements in-game\nwith your controller. 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\nthe compromise.\n\n### Container cursor\n\nJust like in bedrock edition, you can move a cursor across your inventory, and interact\nwith it in a controller-friendly way. With dedicated buttons for quick move, dropping etc. Controlify also comes with cursor snapping, so you don't need to be so precise with cursor movements.\n\n![container cursor screenshot](https://cdn.modrinth.com/data/DOUdJVEm/images/249a2cbaea9b374b33fe67717380e732693dd37a.png)\n\n### Controller identification\n\nControlify has the ability to identify the make and model of your controller automatically,\nand displays relevant button textures for your controller. This is also extendable by resource packs, changing up the button textures in a different style and adding some of your own, more niche controller identifiers.\n\n![demonstration of data-driven identification](https://cdn.modrinth.com/data/DOUdJVEm/images/ec1408d51787b87525b9fb0f2e56b54c5910d384.png)\n\n### Joystick support\n\nYou can connect any joystick to the mod and map it with your own names and textures, with an unlimited amount of inputs per controller.\n\n### Button guide\n\nThere is a simple overlay in-game that displays the buttons you can press\nbased on your player's state and look direction. This is useful for new players, who\nhave not yet memorised the controls.\n\n![image of in-game button guide](https://cdn.modrinth.com/data/DOUdJVEm/images/57c41cee14680c74faf947c5cff355c0af4c35b3.png)\n\nAlso, some GUIs display controller buttons on elements that have a controller shortcut, to easily navigate with a controller like you should be able to.\n\n![image of in-screen button guide](https://cdn.modrinth.com/data/DOUdJVEm/images/511e4182137bb27bbdf95539c8265b9af2038761.webp)\n\n### Containerised Controllers\n\nThis mod is built around the fact that each controller is completely separate, with it's own configuration, bindings etc.\nThis means it will be trivial to add support for split-screen play in the future.\n\n### Built for mod compatibility\n\nGUI operation has been abstracted into a simple API, which allows other mods to easily add support for their own GUIs,\nwithout convoluted support throughout the whole mod's codebase, making it difficult for third parties to integrate.\n\n![demonstration of dabr compat](https://cdn.modrinth.com/data/DOUdJVEm/images/8ee5ec167bc5f8be96da725b10707094559138cb.gif)\n\n*Video recorded using do-a-barrel-roll with a Thrustmaster HOTAS flightstick*\n\n### Automatic controller deadzone calibration\n\nThe deadzone values of your controller are automatically calibrated, \nmeaning you don't have to worry about it.\n\n![image of calibration screen](https://cdn.modrinth.com/data/DOUdJVEm/images/f5f8e2a0a05e61adb95dd919760b424165ca5d14.png)\n\n## What is to come?\n\nA few features in various points in the horizon are:\n\n- Explicit Steam Deck support, with the ability to interface with its gyroscope and be able to handle its extra buttons on the back of the device.\n- A better way to change controller bindings, possibly a custom graphical GUI to pick what buttons do what actions, not the other way around.\n- Split-screen support of some degree.\n\n## Backports?\n\nThis mod is only and will only be available for **1.19.4** and above, this is because in 1.19.4, Mojang\nintroduced arrow key navigation which was easily ported to controller, below 1.19.4, this is not possible.\n\n## License\n\nThis mod is under the [GNU Lesser General Public License, v3.0](/LICENSE).\n","funding_links":["https://ko-fi.com/isxander"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisxander%2Fcontrolify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisxander%2Fcontrolify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisxander%2Fcontrolify/lists"}