premium banner
Play Minecraft with a controller like on console — smooth analog movement, full UI navigation, customizable bindings and native support for Xbox, PlayStation and Switch gamepads.

Description

BetterController (Fabric, Client-Side)

BetterController brings a premium controller experience to Minecraft Java Edition on Fabric.

It is designed to be responsive, predictable, and fully configurable, while staying client-only (no server install needed).

Features

  • GLFW gamepad / joystick input support
  • Auto controller detection (Xbox / PlayStation / Switch / Generic)
  • JSON-based action + axis remapping
  • Configurable deadzones, sensitivity, trigger threshold
  • Response curves and camera smoothing options
  • Predictable hotbar slot behavior
  • Controller menu navigation foundation and settings screen
  • Optional controller HUD hints (toggleable)

Technical Design

Clean modular architecture:

  • ControllerPoller -> ControllerSnapshot
  • InputTranslator -> GameplayInputFrame
  • MinecraftInputApplier
  • ControllerConfig / ControllerConfigManager
  • GUI navigation hooks for future expansion

Compatibility

  • Minecraft: 1.21.11
  • Loader: Fabric
  • Java: 21
  • Side: Client only

Installation

  1. Install Fabric Loader
  2. Install Fabric API
  3. Put bettercontroller-<version>.jar in your mods folder
  4. Launch Minecraft with Fabric

Configuration

Controller settings are configurable in-game and through JSON config files.

You can customize:

  • button bindings
  • axis mappings (including inversion)
  • deadzones
  • sensitivity and camera behavior