Coder Social home page Coder Social logo

ironexception / controlify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isxander/controlify

0.0 0.0 0.0 7.62 MB

Another controller mod - for fabric!

Home Page: https://docs.isxander.dev/controlify

License: GNU Lesser General Public License v3.0

Java 100.00%

controlify's Introduction

banner

Mod Loader Enviroment wakatime

Modrinth CurseForge

Ko-fi

Another fabric mod to add controller support to Minecraft Java - with a focus on compatibility.

Why Controlify?

Controlify is a mod that focuses on mod compatibility, ease of use, configurability and bleeding edge features.

Controlify comes with a huge range of settings to fine-tune each of your controllers individually, including vibration strength, every single controller input bind (no hardcoding!) and more.

I, the developer, have contributed to popular mods such as Sodium and Iris to get compatibility working in a native-like state, collaborated with do-a-barrel-roll to get elytra flying working seemlessly with controllers (and flight joysticks) and plan to do much more of this in the future.

The mod is also easy to use for beginners, with default-on button guides, so you know how to interact with the game with a new input scheme.

Q&A

Does it support Steam Deck?

Yes! Controlify has been tested on the Steam Deck, and works great. The gyro features built-in to Controlify do not currently work on the Steam Deck, but you can utilise Steam Input's gyro -> mouse emulation to get working gyro.

Does it support insert generic gamepad here?

Yes! Controlify supports most standard gamepad controllers out of the box.

Features

Controller vibration

Controlify supports controller vibration, which has not been seen before for PC versions of Minecraft, including Bedrock Windows 10 Edition. Configure the intensity of each vibration source, with complex vibration patterns for lots of aspects of the game (e.g. when you take damage).

picture of vibration config

Radial menu

radial menu showcase

To save up some buttons on your controller, dedicate some less-used actions to the radial menu. It is fully customizable through the settings and intuitive to use. Any modded keybind is compatible with this menu.

Built-in gyro support

Controlify has built-in support for controller gyroscopes, allowing you to make fine movements in-game with your controller. This can be combined with flick stick to be able to use a controller without the compromise.

Container cursor

Just like in bedrock edition, you can move a cursor across your inventory, and interact with 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.

container cursor screenshot

Controller identification

Controlify has the ability to identify the make and model of your controller automatically, and 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.

demonstration of data-driven identification

Joystick support

You can connect any joystick to the mod and map it with your own names and textures, with an unlimited amount of inputs per controller.

Button guide

There is a simple overlay in-game that displays the buttons you can press based on your player's state and look direction. This is useful for new players, who have not yet memorised the controls.

image of in-game button guide

Also, some GUIs display controller buttons on elements that have a controller shortcut, to easily navigate with a controller like you should be able to.

image of in-screen button guide

Containerised Controllers

This mod is built around the fact that each controller is completely separate, with it's own configuration, bindings etc. This means it will be trivial to add support for split-screen play in the future.

Built for mod compatibility

GUI operation has been abstracted into a simple API, which allows other mods to easily add support for their own GUIs, without convoluted support throughout the whole mod's codebase, making it difficult for third parties to integrate.

demonstration of dabr compat

Video recorded using do-a-barrel-roll with a Thrustmaster HOTAS flightstick

Automatic controller deadzone calibration

The deadzone values of your controller are automatically calibrated, meaning you don't have to worry about it.

image of calibration screen

What is to come?

A few features in various points in the horizon are:

  • 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.
  • A better way to change controller bindings, possibly a custom graphical GUI to pick what buttons do what actions, not the other way around.
  • Split-screen support of some degree.

Backports?

This mod is only and will only be available for 1.19.4 and above, this is because in 1.19.4, Mojang introduced arrow key navigation which was easily ported to controller, below 1.19.4, this is not possible.

License

This mod is under the GNU Lesser General Public License, v3.0.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.