MC Toolkit

Anleitungen / Bauen & Ressourcen

HUD-Elemente mit einem Ressourcenpaket ausblenden und in der Größe anpassen

Hotbar, Fadenkreuz und XP-Leiste stecken alle in einem einzigen Texturatlas. Hier erfährst du, wie du Teile davon unsichtbar machst, was sich nicht verschieben lässt und welcher Font-Trick für eigenen HUD-Text funktioniert.

Es gibt keine Konfiguration zum Ausblenden der Hotbar. Was es gibt, ist eine Textur – und wenn man einen Teil davon transparent macht, verschwindet er optisch, während alles weiterhin funktioniert.

Alles liegt in einem Ordner

assets/minecraft/textures/gui/sprites/hud/

Moderne Versionen teilen den alten widgets.png-Atlas in einzelne Sprites auf: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png und so weiter. Ersetzt man eines davon durch ein vollständig transparentes PNG mit denselben Abmessungen, wird es ausgeblendet.

Dieselben Abmessungen sind wichtig für alles, was du zeichnest. Sprites werden standardmäßig gestreckt, um ihren Platz auszufüllen, sodass eine kleinere Leinwand mit sichtbarer Grafik verschmiert herauskommt. Ein vollständig transparentes Sprite wird bei jeder Größe ausgeblendet – es gibt nichts zu verschmieren.

Was du tun kannst und was nicht

Kannst:

  • jedes Element ausblenden, indem du sein Sprite transparent machst
  • alles neu gestalten – andere Herzen, ein minimalistisches Fadenkreuz, eine thematische Hotbar
  • die scheinbare Größe ändern, indem du kleineren Inhalt in eine gleich große Leinwand zeichnest

Kannst nicht:

  • ein Element verschieben. Die Positionen sind fest im Code verankert; nur die Grafik ist Daten.
  • die Hotbar-Slots unabhängig vom Rahmen ausblenden – sie sind ein einziges Sprite.
  • ändern, was ein Slot tut. Das ist rein kosmetisch, und der Gegenstand ist weiterhin auswählbar.

Der letzte Punkt verdient eine klare Aussage: Eine ausgeblendete Hotbar ist immer noch eine Hotbar. Das ist keine Inventarbeschränkung, und ein Spieler kann die Slots weiterhin nutzen.

Die Nine-Slice-Falle

Manche GUI-Sprites sind nine-sliced (Neun-Scheiben-Skalierung) – Ecken fixiert, Kanten gestreckt. Im HUD betrifft das nur den Hintergrund der Locator-Leiste; die meisten Buttons und Boxen anderswo in gui/sprites/ sind es. Eine .mcmeta neben dem PNG deklariert die Ränder:

{ "gui": { "scaling": { "type": "nine_slice", "width": 200, "height": 20,
  "border": { "left": 2, "top": 2, "right": 2, "bottom": 2 } } } }

Ersetzt man ein solches Sprite, ohne die mcmeta anzupassen, wird es falsch gestreckt. Kopiere im Zweifelsfall die Vanilla-.mcmeta zusammen mit deinem PNG.

Eigener HUD-Text über Fonts

Der wirklich mächtige Trick: Definiere einen Font-Provider, dessen Glyphen Bilder sind, und gib diese Zeichen dann mit /title oder einer Bossbar aus. Der Text wird als deine Grafik gerendert.

assets/minecraft/font/default.json

Lege ihn im minecraft-Namespace ab, und deine Provider werden mit dem Standard-Font von Vanilla zusammengeführt. Behalte stattdessen deinen eigenen Namespace, und jede Textkomponente, die ihn verwendet, muss das mit "font":"my_pack:default" angeben.

{ "providers": [
  { "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
    "chars": [""] }
] }

Verwende private-use Codepoints ( aufwärts), damit nichts mit echtem Text kollidiert. Dann zeichnet /title @a actionbar {"text":""} dein Bild auf die Action Bar.

So zeigen Server eigene Gesundheitsbalken, Währungssymbole und Fortschrittsanzeigen ohne Mod auf dem Client – nur mit einem Ressourcenpaket.

Negativraum-Fonts

Definiere eine Glyphe mit negativer advances, und du kannst den Cursor rückwärts bewegen und Bilder übereinanderlegen. Das ist die Technik hinter Server-HUDs, die wie richtige Benutzeroberflächen aussehen. Es ist fummelig, und es ist die einzige Möglichkeit, irgendetwas zu positionieren.

Blende HUD-Elemente aus oder gestalte sie neu und baue Font-Provider mit den Codepoints, die dir im HUD Customizer & Font Pack Maker zugewiesen werden.

HUD-Anpassung und Schriftpakete →

Weitere Anleitungen

Alle ansehen →