Перейти к содержимому
Mineforgian

Eymistaken's HUD

A highly customizable PvP HUD featuring a Drag & Drop Layout Designer, CPS, Keystrokes, Reach, Armor HUD and Combo display.

Загрузки
10K
Подписчики
9
Обновлён
17 августа 2026 г.
Лицензия
MIT

Опубликован 23 января 2026 г.

Eymistaken's HUD

A modular PvP HUD for Fabric — seven modules, a drag & drop editor, and a plugin API.

Visit the Official Website & User Guide

Module showcases, the Keystrokes Designer guide and the full API documentation live there.

Eymistaken's HUD gives you the competitive overlay of a modded client without the modded client. Everything is drawn client-side, placed exactly where you want it, and stored in a single config file you can share as a string of text.

hero


Why this mod

Everything is movable Drag any module anywhere with a live in-game editor. Snapping, an optional grid, align & distribute tools, and per-element nudging.
Everything is themeable Per-module color, scale, rainbow mode, background color + opacity, custom label text, text outline and five bundled fonts.
Nothing is bloated Zero runtime GUI library dependencies. Client-side only — no server install, no mixin into gameplay logic.
Layouts are portable Save named presets, auto-remember a layout per server, or export the whole HUD as a share code and paste it to a friend.
Extensible A public API lets other mods register their own HUD modules, with their own settings tabs, and subscribe to combat events.

Modules

CPS

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

cps

Keystrokes

A fully custom keystroke display, not a fixed WASD block. The bundled Keystrokes Designer lets you draw your own layout: add any key or mouse button, resize it, drag its label independently, recolor individual keys, and pick a press animation (none, squish, ripple, or both). Any key can carry its own CPS counter.

designer

keystrokes

Combo

A hit-streak counter with a heatmap: the number changes color as your streak climbs, and shakes at the top tier. Three difficulty curves decide where those tiers sit.

Heatmap mode Tier 1 Tier 2 Tier 3 (shake)
Easy 3 hits 5 hits 7 hits
Medium (default) 5 hits 8 hits 12 hits
Hard 10 hits 40 hits 60 hits

It also understands how you fight. Classic mode counts every swing; Modern mode respects the 1.9+ attack cooldown so spam clicking doesn't inflate your streak. You choose whether the combo breaks on any damage taken, whether it survives switching targets, and how long it lingers before timing out.

combo

Reach

Shows the exact distance of your last hit, with decimals. Optionally filters to players only, and can stay on screen with a custom "no hit yet" label instead of disappearing.

reach

Armor

Your armor, main hand and off hand as item icons with durability bars. Lay them out vertically or horizontally, draw them on hotbar-style slot backgrounds, print exact durability numbers, and flash a slot red when it takes damage. Every slot is an independently placeable element — you can scatter them around the screen individually if you want.

armor

FPS & Ping

Lightweight performance readouts with custom label text, color, scale and background — for when you want the numbers without opening F3.

fps&ping


The layout editor

Press Right Shift in game to open the editor. Everything you see is the real HUD, live.

  • Drag any module — or any individual armor slot — to place it exactly.
  • Right-click an element for a context menu of its own settings, straight from the HUD.
  • Multi-select two or more elements to unlock align left/center/right, align top/middle/bottom, and distribute horizontally/vertically.
  • Snapping to other modules' edges, plus an optional pixel grid (4/8/16/32).
  • Prevent Overlap keeps two modules from ever covering the same pixels.
  • Right-click empty space for the global menu: settings, presets, server configs, share codes and a full layout reset.

HUD editor

right click context


The settings screen

A purpose-built settings screen — one page per module, split into tabs, with a search box that finds any setting by name, per-row descriptions and defaults, and a one-click reset on anything you've changed. It holds a single readable size at any Minecraft GUI Scale, and you can nudge that baseline from 50% to 200%.

Open it from ModMenu, or from the editor's global menu.

settings

search


Presets, server configs & share codes

Feature What it does
Named presets Save the entire HUD under a name and switch between them instantly. Stored as plain JSON in simplecps_presets/.
Per-server configs Turn it on and your HUD is simply remembered per server. Join a server you've configured and its layout loads silently; edits there are saved back to it. Single-player shares one config.
Share codes Export your whole HUD — or just a keystrokes layout — as an EYMHUD1-… string. Copy it, send it, paste it. Imports are fully validated before anything is applied, and a timestamped backup is taken first.

global menu


Appearance

Five bundled fonts on top of vanilla — Inter, Rubik, JetBrains Mono, Bebas Neue and the enchanting-table font — applied only to HUD elements and this mod's own screens, never to chat or vanilla menus. Add a thin black outline instead of the vanilla drop shadow, and set color, scale, background and opacity per module.

(Still improving fonts. They are not perfect yet. Sorry.)


Installation

  1. Install Fabric Loader (0.18.4 or newer).
  2. Install Fabric API.
  3. Download Eymistaken's HUD and drop the .jar into your .minecraft/mods folder.

ModMenu is optional and only adds a button to open the settings screen. There is no Cloth Config requirement — the settings screen is built into the mod.

Requirements: Minecraft 26.1–26.2 · Java 25 · Fabric · client-side only.

⚠ Updating from a version older than v1.0.8?

Delete your old simplecps.json config file first to avoid layout issues and to pick up the newer defaults.


For developers

Third-party mods can register their own HUD modules through the eymistaken_hud entrypoint. A registered module gets a settings page, a slot in the drag & drop editor, and its state carried inside presets, server configs and share codes — for free.

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();
        });
    }
}

Modules can declare their own settings tabs, expose sliders/toggles/color pickers/text fields to the editor's right-click menu, and split into independently placeable sub-elements. Full documentation is on the official website.

plugin

A third-party module registered through the API — it gets its own settings page, its own tabs, and a slot in the editor, listed under PLUGINS in the sidebar.


Links

Licensed MIT.

Ченджлог

1.1.1-9Релиз26.1.1, 26.1.2, 26.2 · 17 августа 2026 г.

The module you are editing is now drawn live in the settings screen, so colour, size and layout changes are visible while you make them rather than after you close the menu.

Full documentation for everything below: https://eymistaken.github.io/Eymistaken-s-HUD-Website/


See a module while you set it up

Open any module's page and the right-hand column leads with a PREVIEW card showing that module as it will really appear in game, at its real size. Change a colour, a scale, a background opacity or the text around a counter, and the card updates as you type.

The checkerboard behind it is deliberate. HUD modules are drawn over gameplay, so a flat dark panel would flatter every light colour and hide a low background opacity completely.

Modules that need data the game is not currently producing fall back to stand-in values — click rates, a ping reading, a combo streak, a set of armour and a weapon — so the card still shows something from the main menu with no world loaded.

new preview mode with armor hud new live preview focus mode

The card grows taller to fit its module but never wider, so a large module is cropped at the edges instead of spilling into the settings beside it. When that gets in the way, the button in the card's header expands the preview over the rest of the screen, far enough to hold the module with a little room around it — which is also how you judge how much space it will actually take. Escape or the same button closes it again, and nothing else on the page moves while it is open.

keystrokes preview no focus new preview with keystrokes with focus mode


Fixes

The Configs and Server Configs lists in the HUD Editor no longer close while you are pointing at them. When neither side of the menu had room, the list opened on top of the menu itself, and moving onto it counted as hovering the row underneath.


For developers

Modules can supply their own preview. Return a HudPreview from getPreview() and the card draws whatever you give it; return nothing and no card appears at all. HudPreview.ofModule(this) covers the common case of the module drawing itself, with isPreviewing() as the hook for substituting stand-in data — it is set while your module is measured as well as drawn, so the card is sized for what it shows.

Backwards compatible: existing plugins keep working unchanged and simply show no preview.

Full API documentation, with code examples: https://eymistaken.github.io/Eymistaken-s-HUD-Website/api-guide.html

1.1.1-8Релиз26.1.1, 26.1.2, 26.2 · 8 августа 2026 г.

This release is API only. Plugin modules can now split their settings page into tabs of their own. Nothing changes for players: a HUD built from the same modules looks and behaves exactly as it did in 1.1.1-7.

Full reference: https://eymistaken.github.io/Eymistaken-s-HUD-Website/api-guide.html


Tabs on a plugin module's settings page

HudModule.getSettingsTabs() returns a list of SettingsTab(id, name, settings), and each entry becomes a tab on that module's page alongside the POSITION tab the screen builds from the module's anchor, offsets and scale. It defaults to an empty list, so a module that does not override it keeps the flat SETTINGS tab it has today, down to the ids the screen uses to track per-row state.

Declaring tabs does not discard the two existing setting lists. getContextMenuSettings() leads the first tab, which preserves the rule that everything on the editor's right-click menu also appears on the page, and getSettingsScreenSettings() becomes a trailing SETTINGS tab.

Tabs with nothing to show are dropped rather than drawn empty, and duplicate tab ids — including a module claiming the reserved pos or settings — are renumbered so no tab becomes unselectable. A module that throws from getSettingsTabs() or returns nulls falls back to the flat layout instead of taking the settings screen down with it.

Opening a module's settings from the HUD editor previously looked for a tab literally named settings, which a module with its own tabs need not have; it now lands on the first non-placement tab. Built-in module pages are unaffected.

1.1.1-7Релиз26.1.1, 26.1.2, 26.2 · 27 июля 2026 г.

The settings screen has been rebuilt. It is now drawn by the mod itself rather than by Cloth Config, which is no longer a dependency, and it holds the preset, share code and per-server config tools that were previously only in the HUD Editor's right-click menu.

Full documentation for every feature below lives on the website:


A settings screen built for the HUD

Open it from Mod Menu, or from inside the HUD Editor. Modules are listed down the left with their on/off state, each one's settings are grouped into tabs, and a search box across the top filters every setting in the mod at once.

Anchoring a module is now a three-by-three grid you click rather than a dropdown you cycle. Sliders drag, number fields accept typed values, and hovering any setting shows what it does and what its default is in the panel on the right. Every setting has a reset arrow that appears once you have changed it.

Presets, share codes and Reset All Settings sit in that same right-hand panel, so building a layout and saving it no longer means moving between two different screens.

Changes are saved as you make them; the Cancel button discards everything done since the screen was opened, after a confirmation. The screen stays the same physical size at any Minecraft GUI Scale, and General → Display → Menu Scale adjusts that size if you want it larger or smaller.

New Menu


Picking colours

Colour settings open a picker directly in the row: a saturation and brightness square with a hue bar under it, a live preview with the red, green and blue values beside it, and the ten quick-pick colours below.

The hex field is click-to-copy — left-click copies the code to your clipboard and confirms it, right-click puts the cursor in the field so you can type or paste one.

color


Reaching settings from the editor

Right-clicking a module in the HUD Editor now offers Open Settings at the bottom of its menu, which goes straight to that module's page. Right-clicking empty space has a Settings entry that opens the screen itself. empty space

module right click

Settings that were not reachable before

Prevent Overlap and a Reset HUD Layout action are now in General → Editor alongside the grid options, rather than only in the editor's right-click menu. Key Effect for Keystrokes, which chooses between the squish and ripple press animations, has moved out of the Keystrokes Designer. Combo gained Continue On Target Switch, which decides whether your combo survives when you start hitting something else.

General Menu

Fixes

Resetting a setting now restores the value the mod actually ships with. The old screen listed a handful of defaults that did not match the real ones — CPS and Ping in particular would reset to the wrong anchor and offset.


For developers

Modules can now separate the settings they show in the editor's right-click menu from the ones they show on their settings screen page.

getContextMenuSettings() is unchanged and still drives the right-click menu, but everything it returns is now also listed on your module's own page in the settings screen. That page is generated for you: it appears in the sidebar under Plugins, and its position tab is built from the editor setters your module already implements. Anything that belongs in the full screen and nowhere else goes in the new getSettingsScreenSettings(), which defaults to an empty list — existing plugins keep working with no changes.

Full API documentation, including the merge rules and what the generated page can and cannot do for you

1.1.1-6Релиз26.1.1, 26.1.2, 26.2 · 25 июля 2026 г.

The biggest update since the Minecraft 26.2 port. Your HUD can now be shared with a single line of text, remembered per server, and built with real alignment tools. Everything moves properly too — no more elements snapping around in hard jumps

Full documentation for every feature below lives on the website


Share your setup

Your entire HUD — every module's position, size, colour and setting — can now be packed into one line of text and copied to your clipboard. Paste it into Discord, a forum post, or a message to a friend, and they get your exact layout back with a single click.

Right-click empty space in the HUD Editor for Export Code and Import Code. The Keystrokes Designer has its own Export Layout and Import Layout if you only want to share your key layout without the rest of your HUD.

Importing never loses what you had: your current setup is saved as a backup config first, so a layout you did not end up liking is one click away from being undone. Codes made with a different version of the mod still work, and a code from someone running an addon module you do not have imports cleanly.

You can also keep as many named setups as you like. Save Config takes a snapshot, and the Configs list lets you load, rename or delete them at any time.

Configs


A different HUD for every server

Switch this on and your HUD quietly follows the server you are playing on. Build a compact layout for one server, a full one for another, and each comes back on its own the next time you join. Single-player worlds share one profile.

There is nothing to press and nothing to remember. Whatever your HUD looks like on a server is simply kept for it. If you want to reuse a layout somewhere else, the Server Configs list lets you pick any server's setup and apply it where you are — useful for carrying your PvP layout onto a new server.

The server you are currently on is highlighted in the list, and you can give any of them a friendlier name than its raw address.

Server config


Real editing tools

The HUD Editor grew up. Drag a box across empty space to select several modules at once, then line them up properly:

  • Align the selection to its left, right, top or bottom edge, or match their horizontal or vertical centres
  • Distribute three or more modules so the gaps between them are even

There is also an optional grid you can snap to, with a spacing you choose, and arrow keys nudge a selection one pixel at a time when you need to be exact. Holding Shift while dragging turns snapping off entirely for free placement.

Snapping itself feels completely different now. Modules glide into position instead of jumping, while dragging stays perfectly one-to-one with your cursor — the motion only kicks in for the part you did not do yourself. Modules fade in and out as they appear and disappear, and the editor menus animate open and closed.

Edit tools


Fonts and text style

Five fonts now ship with the mod alongside Minecraft's own: Inter, Rubik, JetBrains Mono, Bebas Neue, and Enchanting Table. JetBrains Mono is worth a look if you dislike your CPS counter shifting width as the numbers change.

There is also a text outline mode that draws a thin black outline on every side of your HUD text instead of the usual drop shadow, which reads far better against snow, sand and other bright terrain.

Your font choice applies to the HUD and the editor screens only. Chat, inventories and every other Minecraft menu are left alone.

fonts


Module updates

Ping and Armor HUD can now be resized like every other module, either with the scroll wheel in the editor or from the settings menu. Armor scales cleanly at any size, slot textures and durability numbers included.


Fixes and stability

Importing a shared setup is now all-or-nothing: if something is wrong with the code, nothing changes at all rather than leaving you half-way. Configs written by a different version of the mod no longer cause problems, and a corrupted or empty config file falls back to defaults instead of stopping the game from starting.

Menus opened near the edge of the screen now stay fully on screen. Resizing a module with the scroll wheel is saved properly, and settings edited in one screen no longer get lost when a config is loaded in another.


For developers

The plugin API gained two significant additions.

Module settings can now travel. Implement saveState() and loadState() on your module and your settings are carried through saved configs, share codes and server configs automatically — the same as the built-in modules. A player who does not have your addon can pass a config along without destroying your settings, and they light up as soon as your mod is installed.

There is now an event bus. Subscribe from your plugin entrypoint to react to things happening inside the HUD. The first event, ComboStreakEvent, fires when a player's combo reaches a higher tier.

Both are backwards compatible — existing plugins keep working without changes.

Full API documentation, including code examples

1.1.1-5Релиз26.1.1, 26.1.2, 26.2 · 8 июля 2026 г.

overall new relocate feature

The elements on the HUD now relocates themselves automatically. This should be a huge upgrade for the people who struggles while trying to locate the elements on the HUD Editor Screen.

1.1.1-4Релиз26.1.1, 26.1.2, 26.2 · 16 июня 2026 г.

Updated to Minecraft 26.2.

The core experience is the same. The mod is useable with both Vulkan and OpenGL. And there is no change with API.

1.1.1-3Релиз26.1, 26.1.1, 26.1.2 · 27 мая 2026 г.

Buggy old vertical armor hud Fixed vertical armor hud

Fixed:

The issue of unsightly lines appearing on the right side of the Armor HUD when in vertical mode has been resolved.

1.1.1-2Релиз26.1, 26.1.1, 26.1.2 · 25 мая 2026 г.

new armor Group magnet snapping is now included in the hud editor screen completely flexible armor hud

Armor HUD is much more flexible now

Now you can completely ungroup the armor hud, and place the elements separately anywhere you want. Also, as you can see on the images, Armor HUD now supports different texture packs. (The texture pack on the image is created by Pyxell, check here)

You can choose multiple elements at once now. Like using a computer.

HUD Editor Screen now supports magnet snapping, which is included in the Keystrokes Designer Screen since v1.0.8.

API

There are many changes with API. See the changes here.

Комментарии

Загружаем…