HomeJavaModshChat
hChat
ModsJava

hChat

A modern and complete chat system for Paper 1.18+ servers.

⬇ Download on Spigot

[​IMG]

hChat
A modern and complete chat system for Paper 1.18+ servers.

Direct messages, mentions, spy mode, ignored players, broadcasts, offline messages,
word filter, multi-language support, dynamic chat tokens, and more.

[​IMG]
[​IMG]
[​IMG]
[​IMG]
[​IMG]

Made with JavaPowered by AdventureMIT License


✨ Features

Feature Description
Private Messages Customizable format with hover tooltips and click-to-reply actions.
@Mentions Configurable sound, highlight color and personal notification.
Spy Mode Monitor private messages with a dedicated permission.
Ignore System Persistent per-player ignore lists that survive reloads.
Multi-language YAML localization with per-player language selection.
PlaceholderAPI Built-in placeholders such as spy status, ignored players, DND, last sender and last seen.
Hex Colors Supports & legacy colors and &#RRGGBB hex colors.
Hover & Click Interactive tooltips and clickable actions throughout chat messages.
Broadcasts Manual /bc broadcasts plus an automatic announcement scheduler.
Word Filter Block, mask or warn when blacklisted words are detected.
Offline Messages Send messages to offline players and deliver them when they join.
Chat Logger Rotating daily private-message logs with configurable retention.
Dynamic Chat Tokens [ping], [item], [coords], [world] and [afk] tokens can be embedded into chat formats.



⚡ Installation

1. Download the latest hChat JAR from the GitHub Releases.

2. Put hChat.jar inside your server's plugins folder.

3. Install the required dependencies:

4. Restart your server.

On first startup, hChat creates:
Code (Text):

plugins/hChat/config.yml
plugins/hChat/lang/lang_en.yml
 
After changing the configuration, use:
Code (Text):
/hchat reload

⌨ Commands

Command Aliases Description Permission
/message <player> <message> /msg, /tell, /w, /m, /whisper Send a private message. hchat.message
/reply <message> /r Reply to the most recent private message. hchat.reply
/broadcast <message> /bc Broadcast a message to the whole server. hchat.broadcast
/ignore <player> Toggle ignoring a specific player. hchat.ignore
/spy Toggle private-message spy mode. hchat.spy
/clear Clear chat for every player. hchat.clear
/hchat reload Reload configuration and language files. hchat.reload
/hchat help Show the in-game help menu. hchat.help
/hchat lang <lang> Change your personal language. hchat.lang


Tab completion is available for hChat subcommands, language codes, online/offline player names and configured channel IDs where applicable.


Permissions

Permission Default Description
hchat.* OP Access to every hChat command and feature.
hchat.message true Allows private-message commands.
hchat.reply true Allows /reply and /r.
hchat.broadcast OP Allows /broadcast and /bc.
hchat.broadcast.color OP Allows color codes inside broadcast messages.
hchat.ignore true Allows /ignore <player>.
hchat.spy OP Allows toggling spy mode.
hchat.spy.all OP Receive every private message without exception.
hchat.clear OP Allows /clear.
hchat.reload OP Allows /hchat reload.
hchat.help true Allows /hchat help.
hchat.lang true Allows /hchat lang <lang>.
hchat.monitor.filter OP Receive warnings when the word filter is triggered.
hchat.bypass-log OP Send private messages without writing them to the chat logger.



⚙ Configuration

hChat generates config.yml automatically. The configuration controls chat formatting, sounds, mentions, broadcasts, offline messages, logging and the word filter.

Code (YAML):

lang
: en
debug
: false

mentions
:
  sound
:
   enabled
: true
   sound
: "entity.experience_orb.pickup"
   volume
: 1.0
   pitch
: 1.0
  colors
:
   enabled
: true
   color
: "&#54A3FF"

direct-messages
:
  sender
:
   format
: "&7[&eYou &7-> &e{receiver}&7] &7{message}"
  receiver
:
   format
: "&7[&e{sender} &7-> &eYou&7] &7{message}"
  clickable-actions
:
   enabled
: true
   reply-command
: "/msg {sender}"

spy-format
: "&e{sender} &7-> &e{target}&7: &7{message}"

broadcast
:
  enabled
: true
  format
:
  - ""
   - "&#2791F5Broadcast:"
   - "{message}"

offline-messages
:
  max-pending
: 10
  sound
:
   enabled
: true
   sound
: "entity.experience_orb.pickup"
   volume
: 1.0
   pitch
: 1.0

logging
:
  private-messages
:
   enabled
: true
   path
: logs
   retention-days
: 30

word-filter
:
  enabled
: true
  words
:
  - "blacklist1"
   - "blacklist2"
  action
: "block"
 
Available word-filter actions:


Placeholders & Dynamic Tokens

Format placeholders

Placeholder Description
{sender} Sender's display name.
{receiver} Recipient's display name.
{target} Target name in spy messages.
{message} The message body.
{player} Player name used by mentions and offline messages.
%player_name% Resolved through PlaceholderAPI.


Dynamic chat tokens

hChat can resolve these tokens directly inside chat formats:

Token Description
[ping] Colored latency indicator with configurable thresholds and optional ms value.
[item] Main-hand item with hover information including name, enchantments, durability and lore.
[coords] Player position as x, y, z.
[world] Current world name.
[afk] Displays an [AFK] prefix when the player is detected as AFK.


Example:
Code (Text):

"[ping] [afk]&7{player}&8: &f{message}"
 

Localization

Language files are stored in:
Code (Text):

plugins/hChat/lang/
 
The plugin includes lang_en.yml and supports additional language files.

Example:
Code (YAML):

# lang_es.yml
no-permission
: "&cYou do not have permission!"
player-only
: "&cOnly players can use this command!"
player-offline
: "&cPlayer is offline!"
mentioned
: "&#ffffffYou were mentioned in chat by &#84FFB8{player}!"
 
Set the server-wide language in config.yml:
Code (YAML):

lang
: es
 
Players can override their own language with:
Code (Text):
/hchat lang <lang>
Personal language preferences are stored in:
Code (Text):

plugins/hChat/storage/player-lang.yml
 

PlaceholderAPI Expansion

When PlaceholderAPI is installed, hChat registers:

Placeholder Description
%hchat_spy_enabled% Spy Mode: Enabled / Disabled.
%hchat_ignored% Whether the player is ignoring anyone.
%hchat_ignored_<name>% Per-player ignore check.
%hchat_ignored_count% Number of currently ignored players.
%hchat_dnd_enabled% DND: Enabled / Disabled.
%hchat_last_sender% Player who most recently sent a private message.
%hchat_last_message_part% First 30 characters of the latest received private message.
%hchat_last_seen% Time since the latest private message was received.



Broadcasts

/broadcast <message> (alias /bc) sends a configurable multi-line announcement to every player.

Broadcasts support placeholders and hex colors. Players with hchat.broadcast.color can use color codes inside the message body.

Scheduled announcements can be configured like this:
Code (YAML):

broadcast
:
  example1
:
   enabled
: true
   message
: "&#F52727This is a recurring broadcast every 10 minutes"
   interval
: 600
   display-in-console
: true
 
Offline Messages

Players can send a private message to someone who is offline:

Code (Text):
/msg Steve Hello!
The message is stored until Steve joins. On login, hChat:
  1. Delivers pending messages in order.
  2. Removes the delivered messages from storage.
  3. Optionally plays the configured notification sound.

The amount of pending messages is controlled by offline-messages.max-pending.


Dependencies

Required

Plugin / Platform Version Purpose
Paper 1.20+ Server API, Adventure and AsyncChatEvent.
PlaceholderAPI 2.11+ Placeholder support and integrations.
LuckPerms 5.4+ Permission management.


Optional

Plugin Purpose
Vault Economy and chat formatting hook.
DiscordSRV Detected at startup; cross-server chat bridge is planned for a future release.


bStats

hChat includes bStats for anonymous plugin statistics. No additional download is required.

Server owners can disable metrics with:
Code (YAML):

metrics
:
  enabled
: false
 

Support & Development

Source code: GitHub

Bug reports: GitHub Issues

Feature requests / discussions: GitHub Discussions

If you find a bug, please include:


License

hChat is released under the MIT License.



hChat
Made with ❤️ by Hauchdev
[​IMG]

hChat is a free Minecraft Java mod. Compatible with Minecraft 1.18, 1.19, 1.20, 1.20.6 and newer. Downloaded 11 times (via Spigot). Download it and open it directly in the game.

Explore more