hud-ensemble-1.0.0.jar
30 Jan 2026
CurseForge · Hytale mod
Allows multiple CustomUIHud overlays to be stacked simultaneously with API
Quick answer
HUD Ensemble hud-ensemble-1.0.0.jar targets Hytale. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
hud-ensemble-1.0.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Built for HUD Ensemble hud-ensemble-1.0.0.jar. Pick another file and the loader, install side or required mods may change.
Use hud-ensemble-1.0.0.jar. It targets Hytale; another release may target a different game build or dependency set.
This file does not list any required mods. Do not add a library just because a different file uses it.
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Use the “Get this file” button beside hud-ensemble-1.0.0.jar. It opens that exact file at the source.
About this project
HUD Ensemble is a server-side Hytale plugin that enables multi-layer HUD composition per player.
In vanilla behavior, only one CustomUIHud can be active at a time — which means plugins often overwrite each other. HUD Ensemble solves this by composing multiple HUD layers into a single composite HUD so different systems (or different plugins) can display UI at the same time.
Multi-layer HUD
Stack multiple CustomUIHud layers for the same player.
Namespaced layers (no collisions)
Each plugin can use its own namespace via a client handle, preventing accidental ID conflicts.
Fast updates (no rebuild required)
Update UI elements inside an existing layer using updateLayer(...) without rebuilding the whole HUD.
Broadcast helpers
Show/remove layers for all online players (best-effort; scheduled per world-thread).
Cleanup safety
Proper close() removes your layers. A best-effort GC safety net exists if a client becomes unreachable, but it does not replace calling close().
.jar.Recommended:
These commands exist only for testing on a server. For real integrations, use the API (see below).
/hudens demo — enables demo HUD layers/hudens clean — removes demo HUD layersHUD Ensemble provides a public API designed for other server plugins.
Use a client handle to automatically namespace your layer IDs and simplify cleanup.
import com.example.hudensemble.api.HudEnsemble;
import com.example.hudensemble.api.HudEnsembleClient;
public class MyPlugin extends JavaPlugin {
private HudEnsembleClient hud;
@Override
protected void setup() {
hud = HudEnsemble.openClientOrThrow(this);
}
@Override
protected void shutdown() {
if (hud != null) {
hud.close(); // IMPORTANT: cleanup
hud = null;
}
}
}
If HUD Ensemble is not installed or not compatible, openClientOrThrow(...) throws a clear error.
hud.setLayer(player, playerRef, "greeting", new MyHud());
Replace the same layer ID later to update the layer (full rebuild for that layer).
hud.removeLayer(player, "greeting");
hud.clear(player);
If the layer already exists, update UI commands in-place:
hud.updateLayer(player, "greeting", cmd -> {
cmd.set("#Title.Text", "Hello, HUD Ensemble!");
cmd.set("#Counter.Text", "42");
});
Selectors are written normally. HUD Ensemble automatically prefixes them into the correct layer root.
Show a layer for all connected players:
int scheduled = hud.setLayerForAllOnline("watermark", pr -> new MyHud());
Remove a layer for all online players:
int scheduled = hud.removeLayerForAllOnline("watermark");
Clear all layers owned by this client for all online players:
int scheduled = hud.clearForAllOnline();
The returned number is how many players were scheduled for the operation.
CustomUIHud before HUD Ensemble is activated for a player, that HUD can be preserved as a “base layer”.CustomUIHud after the ensemble is active, it will overwrite the composite HUD (this is how setCustomHud works), and HUD Ensemble layers will disappear.HUD Ensemble relies on a bridge to build commands for layering. If the current server version does not support it, the plugin may fall back to a single-HUD mode. In that mode:
HUD Ensemble exposes an API version number so dependent plugins can validate compatibility.
int v = HudEnsemble.getServiceOrThrow().getApiVersion();
Project description from CurseForge.
Recent files
30 Jan 2026
Looking for an older file? The official CurseForge project page is in Resources.