Fabric · Minecraft 26.3 · client-side

A competitive HUD you place yourself.

Seven modules, a live drag-and-drop editor, and a plugin API. Everything is drawn client-side and stored in one config file you can share as a line of text.

Live preview click · WASD · space
CPS0 | 0
FPS244
Ping18 ms
Reach3.14 blocks
Combo0 Combo

Tap to try it

Not a screenshot — the real thing behaves like this in game.

Modules
7 built-in
Runtime
Java 25
Dependencies
Fabric API only
License
MIT

The modules

01 — 07
01

CPS

Left and right click counters with a configurable separator and free-text prefixes and suffixes, so you can render 12 | 4, CPS: 12, or anything else you like.

Left · Right · Separator · Prefix / suffix

Loading CPS demo
02

Keystrokes

Not a fixed WASD block. The bundled designer lets you draw your own layout: add any key or mouse button, resize it, drag its label independently, recolor individual keys, and dress the whole thing in one of eleven designs — Neon, Wedge, Hex, Pixel Bevel and the rest. Any key can carry its own CPS counter.

11 designs · Per-key color · Stackable animations

Loading Keystrokes demo

The Keystrokes Designer

A visual editor for the keystrokes layout with pixel-perfect snapping, context menus, drag-and-drop, per-key colors and unlimited undo and redo. Browse the eleven designs in a gallery whose cards animate themselves, then stack motions and fills on top — and let any single key override any of it. Not a module of its own — it is where the Keystrokes layout above is drawn.

Design gallery · Snapping · Undo / redo

Loading Designer demo
03

Combo

A hit-streak counter with a heatmap. It waits for the server to confirm each hit, shows a combo landed on you as a negative line, freezes for an instant on a kill or a new tier, and saves your best combo — beat it and the counter flashes BEST.

Easy 3/5/7 · Medium 5/8/12 · Hard 10/40/60 · Custom

Loading Combo demo
04

Reach

The exact distance of your last hit, to 2 decimal places. Optionally filters to players only, and can stay on screen with a custom no-hit-yet label instead of disappearing.

Players only · Persistent label

Loading Reach demo
05

Armor

Your armor, main hand and off hand as item icons with durability bars. Vertical or horizontal, hotbar-style slot backgrounds, exact durability numbers, and a red flash when a slot takes damage. Every slot is independently placeable.

Sub-elements · Durability · Damage flash

Loading Armor demo
06

FPS

Frames per second, updated every tick, with custom suffix text, color, scale, rainbow mode and a background — for when you want the number without opening F3.

Suffix · Color · Scale · Rainbow

Loading FPS demo
07

Ping

Server latency in milliseconds, taken from your own player-list entry and refreshed whenever the server sends a latency update. Custom color, scale and background.

Color · Scale · Background

The ping module rendered in game, reading 18 ms

Press Right Shift

The editor is the HUD.

Everything you see in the editor is live. Drag a module — or a single armor slot — to place it exactly. Right-click it for its own settings without leaving the screen.

Read the user guide

Multi-select and align

Align left / center / right, top / middle / bottom, and distribute two or more elements evenly.

Snapping and grid

Snaps to other modules' edges with a magenta guide, gliding into place instead of jumping. Optional 4 / 8 / 16 / 32 pixel grid, arrow-key nudging, and scroll to scale from 50% to 300%.

Prevent overlap

Keeps two modules from ever covering the same pixels, resolving to the nearest free rectangle.

Layouts that travel.

Save the whole HUD under a name, let each server remember its own, or export everything as one EYMHUD1-… string and paste it to a friend. Imports are validated before anything is applied, and a timestamped backup is taken first.

Presets
Named layouts stored as plain JSON in simplecps_presets/.
Per-server
Join a server you have configured and its layout loads silently.
Share codes
The whole HUD, or the whole keystrokes look, as one copyable string.
Fonts
Inter, Rubik, JetBrains Mono, Bebas Neue and the enchanting-table font — HUD only, never chat.

For developers

Register a module, get everything else free.

A module registered through the eymistaken_hud entrypoint gets a settings page, a slot in the editor, and its state carried inside presets, server configs and share codes.

Read the API guide
public class MyPlugin implements EymistakenHudPlugin {
    @Override
    public void registerHudModules(HudModuleManager manager) {
        manager.registerModule(new MyHudModule());
    }

    @Override
    public void registerEvents(EymistakenHudEventBus bus) {
        bus.subscribe(ComboStreakEvent.class, event -> {
            if (event.level() >= 2) playHypeSound();
        });
    }
}