Welcome to Controller Remap (Beta)

This is a mod for Minecraft Java Edition that allows you to use a PS4 or Xbox One controller or even a custom controller with custom mappings!

Since version 1.3 I have decoupled the joystick controller classes and their API into their own project in which you can use. The project can be found here

Download

This mod is for 1.13 and 1.14 The reason is because of what new updated libraries 1.13+ bring that allow this to even be possible. GLFW allows controllers to be used is only included in LWJGL3 which is only available Minecraft 1.13+

Version releases can be found here: https://github.com/Fernthedev/controller-remap/releases

Latest release: GitHub release

Usage

In order to use the controller, you must first make sure you are using the correct controller button mapping. The mapping tells the mod what buttons are which due to PS4/Xbox or a custom controller using their own set of button ids. To do this, open the controller settings (found in options or pressing down D-PAD) and move the slider until you find the setting appropiate for the controller.

Features

*Does not work very well due to Minecraft’s hard coded keyboard/mouse usage. Things such as inventory item movement etc. do not exactly work.

Known Bugs or missing features

Mappings

Mappings are JSON files that tell the mod what buttons are on your controller through their respective IDs. The default mappings (and where they should be stored) can be found in the config folder, inside of the mappings folder. There is a template file (which is the same as the Xbox One mapping) for use as a base for creating your controller mapping. This is how it looks:

Format:

Button :: ButtonID (GLFW/LWJGL button ID)

You can get the button ids using this (not created by me)

{
  "buttonMapping": {
    "A": 0,
    "B": 1,
    "X": 2,
    "Y": 3,
    "BUMPER_LEFT": 4,
    "BUMPER_RIGHT": 5,
    "EXTRA_BUTTON": 6,
    "START_BUTTON": 7,
    "LEFT_STICKER": 8,
    "RIGHT_STICKER": 9,
    "DPAD_UP": 10,
    "DPAD_RIGHT": 11,
    "DPAD_DOWN": 12,
    "DPAD_LEFT": 13
  },
  "axesMapping": {
    "HORIZONTAL_LEFT_STICKER": 0,
    "VERTICAL_LEFT_STICKER": 1,
    "VERTICAL_RIGHT_STICKER": 2,
    "HORIZONTAL_RIGHT_STICKER": 3,
    "LEFT_TRIGGER": 4,
    "RIGHT_TRIGGER": 5
  },
  "name": "XboxOne"
}

Support or Contact

Create an issue for bug reports, feature requests or help in general.