Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
Sentinel-TextDisplays
Per-player Text Displays for Spigot & Paper
Real text_display entities — scalable text, HEX colors & gradients, multi-page holograms,
click actions, per-viewer placeholders, an in-game editor and a developer API.
One plugin that does the whole job.
✨ Why it's different
These are genuine minecraft:text_display entities (added in 1.19.4) — not armor-stand
holograms — rendered per player via packets. The same display greets every player by their own
name, shows their own balance, their own page. No entity ever exists server-side: nothing ticks,
nothing spawns, and only players in range receive anything.
- Per-viewer placeholders —
%player_name%, balances, ping… each player gets their own resolved text. - True text scaling — real
text_displaysizing, per axis. Tiny labels to billboard-sized titles. - Zero entity cost — everything is packets; cost tracks what players can see, not what exists.
🎨 Style every detail
- Colors without limits — legacy
&-codes,&#RRGGBBhex and smooth<gradient>fades. - Emojis & glyphs — ItemsAdder and Nexo glyphs render right inside the text.
- Billboard & background — four facing modes; default, transparent or any ARGB background.
- Light & visibility — brightness override, opacity, shadow, see-through, alignment, line width.
- Per-display ranges — display-range, update-range, update-interval and a view permission per display.
📖 Pages & click actions
One display, many pages — and every player browses independently. Four click types
(LEFT, RIGHT, SHIFT_LEFT, SHIFT_RIGHT) each run their own action chain, with permission
gates and a per-player cooldown — no second plugin.
| Action | Does |
|---|---|
MESSAGE · COMMAND · CONSOLE |
Chat / run as player / run as console |
SOUND · TELEPORT · CONNECT |
Play a sound / teleport / send to a server |
NEXT_PAGE · PREV_PAGE · PAGE |
Page navigation — turn a display into a menu |
PERMISSION |
Gate — stops the rest of the chain |
🖱️ Point, click, done
A clean in-game GUI editor covers everything — create, lines, pages, click actions, appearance
and settings. Type text in chat, tune numbers with +/- buttons. Prefer commands? The full /td
command tree mirrors it, with tab-completion and a familiar DecentHolograms-style file format
underneath (so most hologram files drop right in).
Command overview
/td create <name> [text] Create a display where you stand
/td edit <name> · /td gui Open the in-game editor
/td line add|set|remove ... Edit text lines
/td page add|addaction ... Pages & click actions
/td scale <name> <x> [y] [z] True text size
/td billboard|background|opacity|alignment|brightness ...
/td displayrange|updaterange|updateinterval|viewpermission ...
/td clone|rename|move|teleport|enable|disable|reload
Permission: displays.admin (default: op). Type /td help in-game for the full, categorized list.
⚡ Light by design
- Fully packet-based — no entities exist server-side; nothing ticks, ever.
- Diff-based updates — text is only re-sent to a player when their resolved text actually changed.
- One light jar — only PacketEvents required, nothing else bundled.
- Spigot / Paper 1.19.4 – 1.21.x, Java 17 – 21.
🧩 Requirements
- Required: PacketEvents (free, installed separately)
- Optional (auto-detected): PlaceholderAPI · ItemsAdder · Nexo
Players need nothing — everything is server-side packets.
🛠️ Developer API
A documented static API plus cancellable Bukkit events (click, page change, create, delete). Spawn temporary, memory-only displays, drive pages per player, and handle clicks entirely in code.
Display d = TextDisplaysAPI.createTemporaryDisplay("shop", loc, "&b&lShop");
@EventHandler
void onClick(DisplayClickEvent e) {
if (e.getDisplay() == d) { e.setCancelled(true); shop.open(e.getPlayer()); }
}
📚 Full API docs & wiki → github.com/dimazbtw/Sentinel-TextDisplays
💬 Docs & support
- Documentation — full setup, every command, the file format and the API on the Wiki.
- Support — questions or issues? Reach me on Discord: @notdimaz. Please open a ticket before a review — almost everything is a quick fix.
Sentinel-TextDisplays · PACKET-NATIVE · SPIGOT / PAPER · 1.19.4 – 1.21.x


