Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Controlify (Controller support)

Controlify (Controller support)

Adds the best controller support to Minecraft Java edition!

5.94M
1,016
Utility

Compatibility

Minecraft: Java Edition

1.21.x
1.20.x
1.19.4

Platforms

Fabric
NeoForge
Quilt

Supported environments

Client-side
Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Donate on Patreon

Creators

isxander
isxander Owner

Details

Licensed LGPL-3.0-or-later
Published 2 years ago
Updated 6 days ago
DescriptionGalleryChangelogVersions
All versions1.3.0+1.20

1.3.0+1.20

Download
Report

Changelog

Controlify 1.3 for 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 for making these!

carousel screen

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

Dependencies

dependency-iconYetAnotherConfigLib (YACL) Version 3.0.1+1.20-fabric is required
dependency-iconFabric API Version 0.83.0+1.20 is required
dependency-iconMod Menu Version 7.0.1 is optional

Files

Controlify-1.3.0+1.20.jar(1.78 MiB) Primary
Download

Metadata

Release channel

Release

Version number

1.3.0+1.20

Loaders

Fabric Quilt

Game versions

1.20–1.20.1

Downloads

705

Publication date

June 11, 2023 at 10:04 PM

Publisher

isxander

isxander

Owner

Version ID

Modrinth is open source.

main@4bafae8

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.