- Compatible API Versions
- 1.1.0
- Sourcecode
- https://github.com/CrieXD1337/EssentialsChat
EssentialsChat 
EssentialsChat is a powerful and flexible chat management plugin for Nukkit servers!
It supports global and local chat, customizable prefixes and nicknames, integration with LuckPerms and Multipass, and advanced chat filtering. Perfect for servers that need enhanced chat control and customization. 
βββββββββββββββββββββββββββββββββββββββββββ
Features
βββββββββββββββββββββββββββββββββββββββββββ
Installation
βββββββββββββββββββββββββββββββββββββββββββ
Configuration
The plugin is highly customizable through its configuration files. Below are the key files and their purposes:
Example Config Snippets
config.yml:
command.yml:
Check the full configuration files in the repository for all available options.
βββββββββββββββββββββββββββββββββββββββββββ
Commands
Note: By default, these permissions are granted to operators (
βββββββββββββββββββββββββββββββββββββββββββ
API
EssentialsChat provides a simple API for developers to integrate with the plugin. Use the
Example Usage
For more details, check the API documentation.
βββββββββββββββββββββββββββββββββββββββββββ
License
This project is licensed under MIT license. Please see the LICENSE file for details.
βββββββββββββββββββββββββββββββββββββββββββ
Support
You can report a bug or suggest a new feature in Issues on github or in my discord @darksunset00
Make your server's chat awesome with EssentialsChat! 

EssentialsChat is a powerful and flexible chat management plugin for Nukkit servers!


βββββββββββββββββββββββββββββββββββββββββββ

- Global and Local Chat:
- Local chat with configurable radius
- Global chat triggered by a symbol (default:
!
)
- Support for default Minecraft chat format
- Local chat with configurable radius
- Prefix and Suffix Customization:
- Seamless integration with LuckPerms and Multipass for prefix/suffix management
/prefix
command to set custom prefixes
- Seamless integration with LuckPerms and Multipass for prefix/suffix management
- Nickname Management:
/nick
command to set custom nicknames
- Optional colored nicknames and duplicate nickname restrictions
/realname
command to find a player's real name
- Chat Filtering:
- Message cooldown to prevent spam
- Maximum message length restriction
- Anti-spam protection for repeated messages
- Configurable punishments: kick, message, or custom command
- Message cooldown to prevent spam
- PlaceholderAPI Integration:
- Use placeholders to customize chat formats
- Use placeholders to customize chat formats
- Highly Configurable:
- Blacklists for nicknames and prefixes
- Customizable message formats and character limits
- Blacklists for nicknames and prefixes
- Debug Mode:
- Detailed logging for developers
- Detailed logging for developers
βββββββββββββββββββββββββββββββββββββββββββ

- Download the Plugin:
- Install Dependencies:
- Required: PlaceholderAPI for placeholder support.
- Optional: LuckPerms or Multipass for prefix/suffix support.
- Place the Jar:
- Drop
EssentialsChat.jar
into yourplugins
folder.
- Drop
- Restart the Server:
- Start or restart your Nukkit server to load the plugin. The default configuration files (
config.yml
,messages.yml
,provider.yml
) will be generated automatically.
- Start or restart your Nukkit server to load the plugin. The default configuration files (
- Configure:
- Edit
config.yml
andmessages.yml
in theplugins/EssentialsChat
folder to customize settings and messages.
- Set the provider in
provider.yml
(luckperms
,multipass
, orfallback
).
- Edit
βββββββββββββββββββββββββββββββββββββββββββ

The plugin is highly customizable through its configuration files. Below are the key files and their purposes:
- config.yml: Main configuration for chat formats, nickname/prefix rules, and chat filtering settings.
- messages.yml: Customizable messages for commands and chat filtering.
- provider.yml: Select the prefix/suffix provider (
luckperms
,multipass
, orfallback
).
Example Config Snippets
config.yml:
YAML:
# - - - - - - - - - - - - - - - #
# GLOBAL SETTINGS #
# - - - - - - - - - - - - - - - #
# Available languages now:
# en - English
# zh - δΈε½δΊΊ
# Language properties file in `/lang` directory
language: en
# Color for OP players. For example, b = Β§b
op-nickname-color: "4"
# Chat formatting settings
chat-formatting:
# Available methods:
# 1 - default, local/global
# 2 - single format (local or global, with placeholders)
# 3 - default Minecraft format (with placeholders)
format-method: 1
# local or global, used in format-method 2
single-chat-type: "global"
# blocks, used in format-method 1
local-chat-radius: 100 # blocks, used in format-method 1
# Local chat settings
# Used in format-method 1 or 2 (if single-chat-type is local)
# If you use ClanSystem plugin - you can use placeholder %clantag% to display clan tag.
local-chat-format: "Β§7[Β§aLΒ§7] Β§r{prefix}Β§r {player}{suffix}Β§r Β§aΒ» Β§8{msg}" # used in format-method 1 or 2
# Global chat settings
# Used in format-method 1 or 2 (if single-chat-type is global)
# Enter this symbol before a message to write a message to the global chat.
global-chat-symbol: "!"
# Formatting
# Used in format-method 1 or 2 (if single-chat-type is global)
global-chat-format: "Β§7[Β§4GΒ§7] Β§r{prefix}Β§r {player}{suffix}Β§r Β§aΒ» Β§f{msg}"
# Default minecraft format
# used in format-method 3
default-chat-format: "Β§r<{prefix}Β§r{player}{suffix}Β§r> Β§f{msg}"
# Do not touch this option :)
debug: false
# Prefix in settings [ESC] and in display name
prefix-in-settings-and-head:
enabled: false
format: "[{prefix}] {player}{suffix}"
# - - - - - - - - - - - - - - - #
# /prefix command #
# - - - - - - - - - - - - - - - #
prefix:
# maximum prefix charters in prefix
max-characters-in-prefix: 15
# minimum charters in prefix
min-characters-in-prefix: 3
# Enabled charters in prefix
allowed-characters: "A-Za-z0-9_-"
# Banned prefixes
prefixes-blacklist:
- admin
- creator
- owner
- moderator
- administrator
# - - - - - - - - - - - - - - - #
# /nick command #
# - - - - - - - - - - - - - - - #
nick:
# Maximum characters allowed in a nickname
max-characters-length: 15
# Minimum characters required in a nickname
min-characters-length: 3
# Allowed characters in nicknames
allowed-characters-in-nick: "A-Za-z0-9_-"
# Allow using color codes in nicknames (e.g., Β§b)
allow-colored-nick: false
# Character before fake nickname
# You also can use 'italic', 'bold' and all characters
fake-nickname-character: "italic"
# Allow a player to set fake nicknames that are already used by another player
allow-duplicate-nicknames: false
# Banned nicknames
nicknames-blacklist:
- admin
- creator
- owner
- moderator
- administrator
# - - - - - - - - - - - - - - - #
# CHAT FILTERING #
# - - - - - - - - - - - - - - - #
chat-filtering:
enabled: true
cooldown-for-messages: 3 # seconds
max-message-characters: 200
max-messages-repetition: 5
# Available methods: Kick, Message, Command
repetition-punishment: "Message"
# Used only if repetition-punishment is Command
# {player} - player's name
punishment-command: 'mute 30 minutes "{player}" Too many repeat'
command.yml:
YAML:
prefix:
name: "prefix"
description: "Set or clear a custom prefix for your name in chat"
aliases: [setprefix, pfx]
permission: essentialschat.commands.prefix
nick:
name: "nick"
description: "Set or clear a custom nickname for your player"
aliases: [nickname, setnick]
permission: essentialschat.commands.nick
realname:
name: "realname"
description: "Look up the real name behind a nickname"
aliases: [rn]
permission: essentialschat.commands.realname
Check the full configuration files in the repository for all available options.
βββββββββββββββββββββββββββββββββββββββββββ

Command | Description | Permission | Usage |
---|---|---|---|
/prefix <prefix|off> | Set or clear your prefix | essentialschat.commands.prefix | /prefix VIP or /prefix off |
/nick <nick|off> | Set or clear your nickname | essentialschat.commands.nick | /nick Nick or /nick off |
/realname <player> | Find a player's real name | essentialschat.commands.realname | /realname Nick |
op
). Configure permissions using LuckPerms or Multipass for other players.βββββββββββββββββββββββββββββββββββββββββββ

EssentialsChat provides a simple API for developers to integrate with the plugin. Use the
EssentialsChatAPI
interface to manage nicknames and prefixes programmatically.Example Usage
Java:
import cn.nukkit.Player;
import me.criex.essentialschat.api.EssentialsChatAPI;
import me.criex.essentialschat.EssentialsChat;
// Get the API instance
EssentialsChatAPI api = EssentialsChat.getAPI();
// Set a player's nickname
api.setNickname(player, "ExampleNick");
// Clear a player's nickname
api.clearNickname(player);
// Get a player's real name from their nickname
String realName = api.getRealName("ExampleNick");
// Set a player's prefix
api.setPrefix(player, "&b[Magic]");
// Clear a player's prefix
api.clearPrefix(player);
// Get a player's prefix or suffix
String prefix = api.getPrefix(player);
String suffix = api.getSuffix(player);
βββββββββββββββββββββββββββββββββββββββββββ

This project is licensed under MIT license. Please see the LICENSE file for details.
βββββββββββββββββββββββββββββββββββββββββββ

You can report a bug or suggest a new feature in Issues on github or in my discord @darksunset00

