Sentinel - TextDisplays
🟡 Updated this yearPreview

🔍 Analysis
- 🏆 #12 of 33 decoration mods in this game by downloads
📋 About This Mod
<div align="center"> # 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.** !(https://img.shields.io/badge/Minecraft-1.19.4–1.21.x-7c3aed?style=for-the-badge) !(https://img.shields.io/badge/Java-17–21-7c3aed?style=for-the-badge) !(https://img.shields.io/badge/requires-PacketEvents-c026d3?style=for-the-badge) </div> --- ## ✨ 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_display` sizing, 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, `&#RRGGBB` hex 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). <details> <summary><b>Command overview</b></summary> ```text /td create <name> 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> 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. </details> ## ⚡ 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:** (https://modrinth.com/plugin/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. ```java 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 → **(https://github.com/dimazbtw/Sentinel-TextDisplays)** ## 💬 Docs & support - **Documentation** — full setup, every command, the file format and the API on the (https://github.com/dimazbtw/Sentinel-TextDisplays/wiki). - **Support** — questions or issues? Reach me on Discord: **@notdimaz**. Please open a ticket before a review — almost everything is a quick fix. --- <div align="center"> **Sentinel-TextDisplays** · PACKET-NATIVE · SPIGOT / PAPER · 1.19.4 – 1.21.x </div>
# 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.
!(https://img.shields.io/badge/Minecraft-1. 19. 4–1. 21.x-7c3aed?style=for-the-badge) !(https://img.shields.io/badge/Java-17–21-7c3aed?style=for-the-badge) !(https://img.shields.io/badge/requires-PacketEvents-c026d3?style=for-the-badge)
## ✨ 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_display` sizing, 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, `RRGGBB` hex and smooth `
` 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
```text
/td create
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: (https://modrinth.com/plugin/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.
```java 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 → (https://github.com/dimazbtw/Sentinel-TextDisplays)**
## 💬 Docs & support
- Documentation — full setup, every command, the file format and the API on the
- (https://github.com/dimazbtw/Sentinel-TextDisplays/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
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- dimazbtw
- Version
- 1.0.0
- Downloads
- 23
- Endorsements
- 0
- Category
- decoration
- Created
- 6/18/2026
- Updated
- 6/11/2026
- Game Versions
- 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
- Tags
- decoration, library, utility
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does Sentinel - TextDisplays support?
The author lists 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20. Other versions may work but are untested by the author.
What is the latest version of Sentinel - TextDisplays?
Version 1.0.0, published 2026-06-11 with 23 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await