Tutorials

Text & UI

Text and UI command guide: titles, bossbars, scoreboards, teams, sounds, and particles

8 min read · Updated May 15, 2026

Text and UI commands shape what players see and hear. NBTForge separates title, bossbar, scoreboard, team, sound, and particle workflows so feedback commands are easier to tune.

Goal

A player-facing feedback sequence with readable text and UI commands.

Annotated screenshots

NBTForge Text builder with arrows pointing to Text and UI category, title controls, and output
The Text module focuses on title and tellraw-style output without mixing it with entity NBT.
NBTForge Bossbar builder with arrows pointing to bossbar controls and generated command output
Bossbar controls are useful for repeatable status UI and adventure map objectives.

Step-by-step guide

  1. Start with Text when the command displays a title, subtitle, actionbar, or tellraw message.
  2. Use Bossbar when the player needs persistent progress feedback.
  3. Use Scoreboard and Teams for state that other commands will read later.
  4. Use Playsound and Particles to add feedback after the state-changing command has succeeded.
  5. Add the sequence to Project when the order matters.

Keep visible feedback close to logic

A good command workflow usually changes state first, then tells the player what happened. Project lets you keep the state command and the feedback command together.

This is especially helpful for adventure maps where scoreboards, bossbars, and title messages must stay in sync.

Text component safety

Text component syntax changes by version. NBTForge uses the selected version to format compatible text output where the module supports it.

If you import an older command, review the generated text component before copying it back into a newer world.

FAQ

Can I build a full UI sequence in one screen?

Use separate modules for each command, add them to Project, then copy the ordered pack.

Why should bossbars and scoreboards be separate?

Bossbars display information, while scoreboards store and calculate state. Keeping them separate makes command packs easier to debug.