Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details

๐ฌ VoidChat
Purpose-built communication for modern Minecraft communities.
VoidChat separates player communication into proximity-based local chat and a server-wide global channel, giving communities clearer conversations without unnecessary complexity.

โจ Features
Everything needed to keep conversations organized without making server management difficult.
- Local chat with a configurable range or whole-world mode
- Global chat using
!message,/global <message>,/g <message>, or the main plugin command - Independent local and global cooldowns with separate bypass permissions
- Per-channel block requirements for local and global chat
- Persistent block progress and global-mute preference
- Anti-Swear detection resistant to colors, separators, accents, leetspeak, and common look-alike characters
- Correct enforcement of legacy and HEX chat colors
- Optional PlaceholderAPI support with protected internal placeholders
- Local Chat Spy, global-channel mute, chat clear, and server-wide chat toggle
- Compatible update selection based on Minecraft version and server engine

โ๏ธ How It Works
VoidChat turns every message into a clear, predictable communication flow.
- A player sends a regular message or selects the global channel.
- VoidChat verifies channel permissions, cooldowns, chat status, and block requirements.
- The message is safely filtered and formatted using the selected local or global format.
- Delivery is scheduled correctly for eligible players and the server console.
๐ Channel Behavior
- A regular message is delivered to players within the configured local range.
- Setting
local-chat-rangeto-1makes local chat reach the sender's entire current world. !message,/global <message>,/g <message>,/voidchat global <message>, and/vc global <message>use the global channel.- Without
voidchat.global, a message beginning with!remains a local message and keeps the!character. - Players with
voidchat.mutecan mute or unmute received global messages with/voidchat muteor/vc mute.

๐ ๏ธ Commands
/vc is an alias for /voidchat and works with every subcommand. /global and /g are standalone shortcuts for global chat.
| Command | Alias | Description | Permission |
|---|---|---|---|
/voidchat |
/vc |
Display the help menu | voidchat.help |
/voidchat help |
/vc help |
Display the help menu | voidchat.help |
/voidchat global <message> |
/vc global <message>, /global <message>, /g <message>, !message |
Send a server-wide message | voidchat.use and voidchat.global |
/voidchat mute |
/vc mute |
Mute or unmute received global messages | voidchat.mute |
/voidchat reload |
/vc reload |
Validate and reload config.yml |
voidchat.reload |
/voidchat admin |
/vc admin |
Toggle Local Chat Spy | voidchat.spy |
/voidchat clear |
/vc clear |
Clear player chat | voidchat.clear |
/voidchat toggle |
/vc toggle |
Enable or disable chat globally | voidchat.toggle |
๐ Permissions
| Permission | Default | Description |
|---|---|---|
voidchat.help |
Everyone | Display the help menu with /voidchat or /voidchat help |
voidchat.use |
Everyone | Use local and global chat; without it, the player cannot send chat messages |
voidchat.global |
Everyone | Send global messages with !message, /global, /g, or the global subcommand |
voidchat.mute |
Everyone | Mute or unmute received global chat with /voidchat mute |
voidchat.admin |
OP | Grant every VoidChat permission listed in this table |
voidchat.reload |
OP | Reload and validate config.yml with /voidchat reload |
voidchat.spy |
OP | Monitor local messages regardless of distance or world with /voidchat admin |
voidchat.clear |
OP | Clear chat for every player with /voidchat clear |
voidchat.toggle |
OP | Globally enable or disable the ability to chat with /voidchat toggle |
voidchat.color |
OP | Use legacy formatting such as &a and HEX colors such as ABEF |
voidchat.bypass |
OP | Bypass the block requirement in local and global chat |
voidchat.localbypass |
OP | Bypass the local-chat cooldown |
voidchat.globalbypass |
OP | Bypass the global-chat cooldown |
voidchat.admin automatically grants every VoidChat permission listed above.

โก Configuration
Control chat range, channel cooldowns, access requirements, filtering, formats, administrative bypass behavior, and every system message through config.yml.
The example below shows only a small part of
config.yml. The complete configuration includes all messages, help-menu lines, update settings, moderation responses, formatting options, and the full Anti-Swear list.
update-check: true
admin-bypass-chat-toggle: true
# Set either value to 0 to disable that cooldown
local-message-cooldown: 3
global-message-cooldown: 30
# Use -1 for the sender's entire current world
local-chat-range: 100.0
blocks-required: 10
chat-requirement-enabled: true
chat-requirement:
apply-to-local: true
apply-to-global: true
anti-swear:
banned-words:
- "badword1"
- "badword2"
global-format: "&a&lGLOBAL &r&8ยป&7 %player%: %message%"
local-format: "&e&lLOCAL &r&8ยป&7 %player%: %message%"
Configuration values are validated during startup and reload. Invalid or unsafe values are rejected instead of being silently applied.

๐จ Formatting & Integrations
Players with voidchat.color can use legacy & formatting and HEX colors written as &#RRGGBB. Formatting codes from players without that permission are removed.
When PlaceholderAPI is installed, its placeholders can be used inside local-format and global-format. VoidChat resolves the format before inserting the player's message, preventing chat text from invoking arbitrary PlaceholderAPI placeholders.
VoidChat uses %name% notation for its internal values:
%prefix%%player%%message%%blocks_required%%time_remaining%%version%%url%
PlaceholderAPI remains optional and VoidChat continues to work without it.
๐งน Anti-Swear Behavior
Filtering normalizes case and accents, ignores inserted separators and Minecraft color codes, and detects common substitutions such as 0/o, 4/a, and 5/s. Matched characters are censored while the original message layout and permitted formatting are retained.

๐ Privacy & Data
| Feature | Description |
|---|---|
| bStats | Sends anonymous server and plugin usage statistics. It can be disabled in plugins/bStats/config.yml. |
| Update Checker | Reads the public version.json catalog when update-check is enabled. |
| PlaceholderAPI | Optional local integration used only when PlaceholderAPI is installed. |
| Local Storage | Stores UUIDs, last-known names, remaining block requirements, and global-mute preferences in plugins/VoidChat/data.yml. |
| Server Console | Local and global chat output is also delivered to the server console. |
Player settings and progress are stored locally in data.yml.

๐ฌ Support
Questions, bug reports, or feature requests? Join the official Discord server and we'll be happy to help.
Discord: https://discord.gg/jdWeSJbcKx

โค๏ธ Thank You
Every message builds a community.
Thank you for making VoidChat a part of yours.


