Building
HUD
A HUD asset reskins the overlay drawn over the world: the hearts, the hunger row, armour, air bubbles, the hotbar, the crosshair and the experience bar. It is the thing a player is looking at when no screen is open at all.
That makes it a different animal from a GUI, which is a screen you open — a chest, your inventory, the Escape menu. Those are all reskinned per screen and all live under a pack's GUIs tab. The HUD is the one thing here that is not a screen at all, so it gets a tab of its own.
The HUD is a fixed vocabulary
A pack can change what every one of these looks like. It cannot add a new one. There is no vanilla sprite for a thirst meter, a stamina bar, an ammo counter or a quest tracker, so no resource pack can make one out of these files — see What a pack can't add at the bottom.
One asset, eighty-two files#
Vanilla ships the HUD as a great many small sprites — forty-four hearts alone, once you count poisoned, withered, frozen, absorbing, hardcore and the flash each of them makes when you take a hit. A HUD asset is one thing that replaces up to eighty-two of them, edited afterwards as a single sheet.
A pack holds one HUD, for the same reason it holds one player inventory: each of these replaces a real vanilla file, and two assets writing the same file would fight over it.
What one image call buys#
This is the part worth understanding, because it decides both what a HUD costs and why it looks consistent.
You are not charged per file. You are charged per part, and everything in that part comes out of one drawing:
| Part | One image becomes |
|---|---|
| Hearts | All 44 — full, half and empty, in five moods, with and without the damage flash |
| Hunger | All 6, including the twins drawn while Hunger is on you |
| Armour | All 3 |
| Air | All 3 |
| Hotbar | The tray, its selection box, the offhand slot and the attack indicator |
| Experience bar | Both halves, the groove and the fill |
| Boss bar | All 7 colours, groove and fill — see below |
| Crosshair | Composed, not generated — costs nothing |
So a full HUD is about seven images, which is roughly what a chest menu with six buttons already costs. Untick the parts you want left vanilla and you pay for fewer.
Hunger, armour and the hotbar are ticked when you open the door; the rest are one click away under More parts. Naming one in your description opens that list and ticks it, so you never have to know it was there.
The reason it works this way isn't only price. Forty-four separately generated hearts would come back as forty-four different objects, and a poisoned heart that shares no line with the full one reads as a bug rather than as a status. Deriving them from one drawing is what makes a row of hearts look like a row of the same heart.
Your icons keep vanilla's shape#
A heart is nine pixels across. That is enough room to say "heart" only if it is the shape people already read as one — and the same goes for the drumstick with a bone sticking out of it that means food, and the plate with two shoulder notches that means armour.
So these are not drawn from scratch. Each one is redrawn from vanilla's own sprite: the theme, the palette and the material are yours, and the silhouette is the one the game already taught every player to recognise. It costs nothing extra and it is most of the difference between a themed HUD and a row of smudges.
It also means you do not have to describe the object. "Rusted iron and dried blood" is a better prompt here than "a drumstick made of rusted iron" — the shape is already handled, so spend your words on the look.
The hotbar is solid, where vanilla's is see-through#
Vanilla's hotbar tray is a dark bar you can faintly see the world through. Ours can't be: a generated pack stores flat pixels with no partial transparency, so a themed tray is opaque.
In practice that reads as a heavier hotbar rather than a broken one — it is a look plenty of hand-made packs choose deliberately — and it is kept dark on purpose so it never becomes a bright bar across the bottom of the screen. But it is a real difference from vanilla and it is worth knowing before you generate one.
This is the same limit that keeps the spyglass scope and the notched boss bar overlays out entirely: where see-through is the effect, there is nothing left without it. A tray still holds items.
Moods, and what they are#
The five heart moods are vanilla's own, and a themed HUD gets all of them whether or not you asked:
- Poisoned — that yellow-green, for when something has been eaten
- Withered — near-black
- Frozen — ice blue, in powder snow
- Absorbing — gold, the extra hearts a Golden Apple gives
- Hardcore — a harder edge, on a hardcore world
Hardcore is an approximation
Vanilla's hardcore heart is a genuinely different drawing — jagged, with a spiked rim — rather than a recolour of the normal one. Matching that from a themed icon would need a second image for a variant only hardcore worlds ever render, so what ships is the same heart with more bite in its outline.
The boss bar is seven bars, not one#
Worth calling out separately, because it is the piece a server gets the most out of and it costs a single image.
Vanilla ships the boss bar in seven colours, and a plugin picks which one a given bar uses at runtime. They are not seven near-identical files you have to theme seven times — they are one strip, re-hued for you. Theme the HUD once and a server has a themed objective bar, a themed horde meter and a themed capture bar that don't look alike, with no further work.
The segmented bars stay vanilla
Vanilla's notched bars — the ones split into 6, 10, 12 or 20 segments — are not bars at all. They are a semi-transparent overlay the game lays over the coloured bar, and the Studio's pixel grids have no partial transparency, so a generated one would hide the colour underneath instead of segmenting it. They are left vanilla, which means a notched bar still gets your colours with vanilla's notches drawn over them.
The crosshair is picked, not described#
Vanilla's crosshair stays visible over a snowfield and inside a cave because it is drawn with an inverting blend — it flips whatever is behind it. A resource pack cannot do that. A replacement is drawn normally, so the only thing keeping it readable everywhere is a light shape with a dark outline.
No image model reliably draws that at 15×15, and a crosshair that disappears in daylight is worse than a plain one. So you pick a shape instead:
| Style | What it is |
|---|---|
| Cross | Vanilla's — four arms and a gap in the middle |
| Dot | A single centred pip. The least in the way |
| Brackets | Four corner marks, like a scope's frame |
| Circle | A thin ring with a centre pip |
| Chevron | A downward V, for a shooter's look |
Each is drawn in your HUD's own palette, with the dark outline added for you.
The description ticks the parts#
Every part starts ticked, so choosing is really unticking — and the two controls can disagree. Narrow the list to the hotbar, then write "and make the hunger bar look like roasted meat", and you have asked for hunger in one place and turned it off in the other.
The description wins, visibly. Naming a part in the prompt ticks it back on as you type, and a line under the list says which parts it added. Untick one it added and it stays off — until you edit the description again.
It matches on words, not meaning: hearts, hunger or food, armour, air or bubbles, xp, crosshair or reticle, hotbar, boss bar. It will not read "a survival-horror feel" as hearts, and it deliberately never ticks a part that isn't available to ship.
Screen overlays are a second set#
The layers drawn over the whole screen are their own asset, picked with the same door: the vignette at the edge of your vision and the Nausea swirl. A pack may hold one HUD and one set of overlays, independently.
They are separate for a practical reason as much as a tidy one — they are 256×256 where the biggest HUD sprite is 182×22, and somebody who wants a blood vignette does not want to regenerate their hearts to get it.
The vignette is the single biggest lever a horror or survival pack has, and it is worth knowing how the game draws it: the image is not a picture laid over the world, it is a per-pixel instruction about how much light to take away. So the Studio composes the shape for you — clear through the middle, rising toward the corners — and what your prompt supplies is the colour and texture of the darkness. Ask for soot, rust, dried blood, frost.
The scope and the pumpkin blur are not offered
Vanilla draws the spyglass scope, the pumpkin blur and the underwater tint as soft masks — most of each image is partially transparent. The Studio's pixel grids are either a solid colour or fully clear, with nothing in between, so a generated version of one would not tint the world, it would hide it. They are left vanilla rather than shipped broken.
This is the one that stings, because a scope or a gas-mask visor is exactly what a tactical or horror server asks for. Vanilla's darkened surround is three quarters of what that overlay is, and without it you get a ring with a clear middle — a different feature wearing the same file name.
Editing one#
A generated HUD opens in the pixel editor as one sheet with every sprite laid out at its real size, one gutter apart, in the order they appear on screen. A guide box marks each one.
Those guides matter more here than anywhere else in the Studio. The pieces are small — a heart is nine pixels across — and the gutters between them are not part of any file. A stroke that wanders off a heart and into the gap reaches nothing in the game.
Exporting, and seeing it in game#
A HUD leaves as the vanilla files it replaces, under
assets/minecraft/textures/gui/sprites/hud/ and
assets/minecraft/textures/gui/sprites/boss_bar/, plus the .png.mcmeta
sidecars for the handful of sprites that need one. No font entry, no title, no
plugin.
There is no /hud command and there doesn't need to be one: Sync the pack and
look at the bottom of your screen. Take a hit to see the flash, go underwater
for the air row.
What a pack can't add#
Every sprite above already exists in Minecraft. A pack replaces them. It cannot invent an eighty-third, which means none of these are possible this way:
- a thirst, stamina, sanity, infection or radiation meter
- an ammo counter or a reload indicator
- a quest tracker or an objective panel
- a minimap frame, a currency readout, class icons, cooldown pips
That is a limit of Minecraft's own file list, not of the Studio. Two vanilla pieces are worth repurposing instead, because they cost nothing and a server already controls them:
- The boss bar, above — seven runtime styles off one image.
- The air row and the experience bar are driven by values a plugin can set, so they are the two meters a server can repurpose with no extra work.
On Bedrock#
None of this crosses over. Bedrock draws its HUD from its own assets, so a HUD is Java-only. The rest of your pack converts as normal.