Skip to main content

Prerequisites

Before installing BetterHud, ensure your server meets these requirements:
  • Java 21 or higher (Eclipse Adoptium recommended)
  • One of the supported platforms:
    • Bukkit/Spigot/Paper 1.20.4 - 1.21.11 (with Folia support)
    • Velocity 3.3 - 3.4
    • Fabric Server 1.21.11

Download BetterHud

Choose your preferred download source:

SpigotMC

Download from SpigotMC

Hangar

Download from PaperMC Hangar

Modrinth

Download from Modrinth
You can also download the latest release directly from GitHub Releases.

Platform-Specific Installation

1

Download the plugin

Download BetterHud-bukkit-[version].jar from your preferred source.
2

Place in plugins folder

Copy the JAR file to your server’s plugins/ directory.
# Navigate to your server directory
cd /path/to/your/server

# Place the plugin in the plugins folder
cp BetterHud-bukkit-*.jar plugins/
3

Restart your server

Restart your server to load the plugin.
BetterHud has no required dependencies for Bukkit servers.
4

Verify installation

Check that BetterHud loaded successfully:
/plugins
You should see BetterHud in green in the plugin list.

Optional Dependencies

While not required, these plugins enhance BetterHud functionality:
  • PlaceholderAPI: Use placeholders in your HUD elements
  • Skript: Create HUD logic using Skript syntax

First-Time Setup

After installation, BetterHud will automatically generate its configuration files:
plugins/BetterHud/
├── config.yml           # Main configuration
├── huds/               # HUD definitions
├── layouts/            # Layout configurations
├── images/             # Image definitions
├── texts/              # Text element definitions
├── popups/             # Popup configurations
└── compasses/          # Compass marker definitions
On first startup, BetterHud will create default example HUDs to help you get started.

Resource Pack Generation

BetterHud automatically generates resource packs for your HUD elements:
1

Auto-generation

When the server starts, BetterHud scans your configuration files and generates a resource pack.
2

Distribution

The resource pack is automatically sent to players when they join.
You can configure the pack type in config.yml (zip, folder, or none).
3

Build location

By default, resource packs are built to BetterHud/build/.

Configuration Options

Key settings in config.yml:
# Resource pack settings
pack-type: zip              # zip, folder, or none
build-folder-location: "BetterHud/build"
clear-build-folder: true    # Set to false if using Oraxen

# Self-hosting options
enable-self-host: false
self-host-ip: "*"
self-host-port: 8163
If you use Oraxen or other resource pack plugins, set clear-build-folder: false and configure resource pack merging.

Verifying Installation

Run these checks to ensure BetterHud is working correctly:
1

Check plugin status

/plugins
BetterHud should appear in green.
2

Test HUD command

/betterhud help
This should display available BetterHud commands.
3

View default HUD

Join the server as a player. You should see the default test HUD with health and hunger bars.

Building from Source

If you want to build BetterHud from source:
# Clone the repository
git clone https://github.com/toxicity188/BetterHud.git
cd BetterHud

# Build all platform JARs
./gradlew build

# Or build specific platforms:
./gradlew pluginJar      # Bukkit plugin
./gradlew velocityJar    # Velocity plugin
./gradlew fabricJar      # Fabric mod
Building from source requires Java 21 Eclipse Adoptium.
Built JARs will be located in build/libs/.

Troubleshooting

  1. Check that pack-type is set to zip in config.yml
  2. Verify the resource pack generated successfully in the build folder
  3. Ensure players have resource packs enabled in their client settings
  4. Check console for any resource pack generation errors
  1. Verify you downloaded the correct JAR for your platform
  2. Check that you have Java 21 or higher
  3. For Fabric: Ensure Fabric API is installed
  4. Review the server console for error messages
  1. Check if you’re playing on Bedrock Edition (set disable-to-bedrock-player: false if needed)
  2. Verify the default HUD is configured in config.yml
  3. Ensure the resource pack was accepted by the client
  4. Try /betterhud reload to reload configurations

Next Steps

Quick Start Guide

Now that BetterHud is installed, learn how to create your first custom HUD!

Build docs developers (and LLMs) love