NeaChat-Premium — Premium Chat Engine for Paper 1.21+
The most visually immersive chat system for modern Minecraft servers.
NeaChat-Premium transforms your server's chat from plain text into a rich, interactive experience powered by native Minecraft sprites, Adventure API, and MiniMessage formatting. No resource packs. No client-side mods. Everything renders using Minecraft's own texture atlas — the exact same icons players see in their inventory, crafting table, and achievements.
Why NeaChat-Premium?
Most chat plugins give you colored text. NeaChat-Premium gives you a visual language.
Every chat message becomes a canvas: player heads rendered inline, Minecraft item and block sprites embedded directly in text, interactive hover cards that reveal full player profiles, and click events that trigger commands — all without a single resource pack file.
Your players will hover over a rank tag and see a fully designed profile card with stats, kills, deaths, playtime, clan info, and economy balance — decorated with real Minecraft item icons. They'll type a word like ":diamond:" and see the actual 100% color-vibrant diamond block texture appear in their message. They'll type
[item] and their enchanted Netherite sword or custom block will render as a clickable sprite with full tooltip.This is not a chat formatter. This is a chat experience.
Core Features
Advanced Format System
- Unlimited chat formats with priority-based assignment (
HIGHER_FIRSTorLOWER_FIRST) - Each format is a multi-part composition: player head, tags, rank badge, nickname — each segment independently configurable
- Per-part hover tooltips: design full profile cards with sprites, stats, gradients, and custom layouts
- Per-part click events:
SUGGESTcommands,RUNcommands,OPEN_URL, orCOPY_TO_CLIPBOARD - Per-format chat colors: each rank gets its own message color (hex, gradient, or legacy)
- Full MiniMessage support:
<gradient>,<rainbow>,<hover>,<click>,<font>,<reset>, and more - Full legacy color code support (
&a,&#FF0000,&x&F&F...) alongside MiniMessage — mix freely
Multilingual Emoji Engine & Interactive GUI
- Virtual Interactive GUI Menu (
/emoji): A sleek multi-tab inventory GUI with page pagination, instant head skin loading (zero console lag), category filters, and interactive click-to-copy mechanics - Dedicated
emojis/Localization Folder: Comes pre-packaged with YAML translation files:
es_CO.yml(Spanish keywords::oro:,:diamante:,:hierro:)
en_US.yml(English keywords::gold:,:diamond:,:iron_ingot:)
pt_BR.yml(Portuguese keywords::ouro:,:espada:,:armadura:)
- Configurable Language Modes (
config.yml):
-SERVERMode: Forces a unified emoji language server-wide (emoji-language: es_CO)
-PLAYERMode: Dynamically resolves emoji keywords according to each client's Minecraft language! - Color Isolation (Glitch-Free Sprites): Emojis render in their authentic 100% full-color resolution using clean component encapsulation — they never get tinted or faded by chat formatting colors!
- Per-player toggle: players can turn emojis off with a single command or GUI button
Universal Item Showcase ([item])
- Show Anything in Hand: Supports both items AND blocks! Netherite swords, enchanted books, or custom blocks — all display instantly
- Dual Atlas Resolution: Automatically detects whether an item belongs to the
itemsorblocksatlas (<sprite:items:...>or<sprite:blocks:...>) - Native Inventory Tooltip: Hovering reveals the complete item card (display name, enchantments, lore, durability, and custom model data)
- Toggleable Economy Integration: Optional Vault integration charges players to showcase items, with a simple toggle (
vault-enabled: false) to make showcase free - Custom Items Registry: map custom materials or ItemsAdder IDs in
config.yml
Native Minecraft Sprites (14 Atlases Loaded)
- Renders real textures directly from 14 built-in Paper/Minecraft texture atlases:
blocks,items,gui,particles,paintings,map_decorations,banner_patterns,shield_patterns,armor_trims,beds,chest,decorated_pot,shulker_boxes,signs - Smart Filtering: only loads sprites ≤16×16px that can actually render as chat glyphs — no broken purple/black squares
- Atlas browser command:
/neachat sprites [atlas] [filter] [page]— browse every available sprite with live preview and pagination
Mention System & Toast Notifications
- Automatic detection: type any online player's name in chat and it becomes a mention — no
@symbol required (configurable) - Toast notifications: the mentioned player receives a native Minecraft achievement toast ("PlayerX mentioned you")
- Sound notifications: configurable sound plays for the mentioned player
- Anti-spam: cooldown system prevents notification flooding
- Per-player preferences: players choose their notification type (ALL, SOUND, TOAST, NONE) or disable mentions entirely
Totem Broadcast System
- When any player activates a Totem of Undying, a styled message broadcasts to all online players
- The message includes the real totem sprite from the items atlas rendered inline
- Configurable sound plays for every recipient
- World blacklist: silence totem broadcasts in specific worlds (arenas, dungeons, etc.)
- Per-player toggle: respects player preferences
Player Head Rendering
- Displays the player's actual skin head inline in chat using
<head:PlayerName> - Works in format display strings and tooltip lines
- Renders the 3D head as a chat glyph — instantly recognizable
Optional Integrations
| Plugin | What it enables |
|---|---|
| PlaceholderAPI | Use any PAPI placeholder in formats, tooltips, and display strings |
| LuckPerms | Automatic prefix/suffix/group detection, permission-based format assignment |
| Vault | Economy charging for [item] display, balance placeholders |
| ItemsAdder | Native :emoji: syntax support — ItemsAdder emojis work alongside native sprites |
| Floodgate / Geyser | Bedrock player detection — automatically formats messages safely for Bedrock clients |
| ViaVersion | Cross-version compatibility |
Configuration Structure
Code:
plugins/NeaChat-Premium/
├── config.yml # Main settings, language mode, Vault toggles, custom items
├── formats.yml # Multi-part chat formats, profile hover cards, click actions
├── mentions.yml # Mention highlight, sound, toast, and cooldown settings
├── totem.yml # Totem broadcast template, sound, world blacklist
├── lang/ # Plugin system messages (es_CO, en_US, pt_BR)
├── emojis/ # Emoji keywords per language (es_CO, en_US, pt_BR)
└── player_settings.yml # Auto-saved per-player preferences
Commands & Permissions
Commands
| Command | Permission | Aliases | Description |
|---|---|---|---|
/neachat reload | neachat.admin | /nchat, /nwchat | Reload all configuration files instantly |
/neachat info | neachat.admin | /nchat, /nwchat | Show plugin version, loaded formats, and hook status |
/neachat sprites [atlas] [filter] [page] | neachat.admin | /nchat, /nwchat | Browse all available sprites with live preview and pagination |
/emoji | — | /emojis | Open the interactive GUI emoji menu |
/nwoff | — | /emojioff | Toggle emojis and totem broadcasts on/off for yourself |
Permissions
| Permission | Description | Default |
|---|---|---|
neachat.admin | Access to admin commands (/neachat, /nchat) | op |
neachat.color | Use & color codes in messages | false |
neachat.hexcolor | Use &#RRGGBB hex colors in messages | false |
neachat.format | Use &l, &o, &n etc. in messages | false |
neachat.minimessage | Use MiniMessage tags in messages | false |
neachat.emojis | Use emoji keywords in chat | true |
neachat.item | Use [item] to showcase items or blocks | true |
neachat.format.<name> | Grants a specific chat format | false |
Technical Specifications
| Spec | Detail |
|---|---|
| Platform | Paper 1.21+ (native Paper API & Adventure Component Engine) |
| Java | Java 21+ |
| Threading | 100% Async-safe chat processing; thread-safe ConcurrentHashMap for settings |
| Performance | Pre-parsed component caching for ultra-fast throughput on heavy servers |
Quick Start
1. Drop
NeaChat-Premium.jar into your plugins/ folder2. Start the server — all config files generate automatically
3. Edit
formats.yml to design your chat formats4. Edit files in
emojis/ to customize emoji keywords5. Execute
/neachat reload (or /nchat reload) — changes apply instantly, no restart needed!
We'll continue updating it to support the latest versions of Minecraft.
Best regards!