Installation
Version:
1.0.5 — Multi-language support added.
Language files are stored in: src/main/resources/lang/
- Place the .jar inside your plugins folder
- Restart or start your server
- ⚙️ Edit config.yml and the language files inside lang/ as needed
- Note: messages.yml is deprecated. Use lang/<code>.yml instead
- Apply changes with /sgchat reload (no restart required)
⚙️ Configuration Structure
config.yml
Includes chat formats, custom placeholders, join/quit messages, MOTD, anti-spam, mute system, and group-based formats.
Key sections:
- custom-placeholders
- check-update
- chat.enable-format
- chat.format
- chat.enable-group-formats
- chat.group-formats
- join.enabled / join.message
- quit.enabled / quit.message
- motd.message
- Anti-spam & mute settings (blocked-words, warnings-before-mute, mute-duration, etc.)
messages.yml
Contains all system messages:
- ❌ Errors
- ⚠️ Warnings
- ✅ Confirmations
- Command outputs
Does
NOT include chat formats, join/quit messages, or MOTD.
If enable-mute: false, the plugin will
only block banned words, without sending warnings or auto-muting players.
Custom Placeholders
Define custom placeholders inside config.yml:
custom-placeholders:
server: "&6My Server"
website: "&bwww.example.com"
discord: "&9discord.gg/example"
Use them in:
- Chat: &7[{server}] {displayname}: {message}
- Join: &aWelcome to {server}! Join our Discord: {discord}
- MOTD: Visit our website: {website}
Reload with /sgchat reload.
Commands & Permissions
Command
Permission
Description
/sgchat sgchat.admin Shows help and subcommands
/sgchat reload sgchat.admin Reloads configuration
/msg <player> <message> sgchat.msg Send a private message
/r <message> sgchat.msg Reply to last private message
/mute <player> [time] [reason] sgchat.mute Temporarily mute a player
/unmute <player> sgchat.unmute Unmute a player
/clear sgchat.clear Clear the chat
Color Code Support
Supported color syntaxes:
- &x&F&F&0&0&0&0
- &#FF0000
- <#FF0000>
- &a, &b, etc.
Behavior & Technical Notes
- Console ASCII banner
- Only main class extends JavaPlugin
- Duplicate-safe event registration
- Fully dynamic reloading
- MOTD is sent only to the joining player
- Optional group-based chat formats
- ⚠️ System messages stored in messages.yml
- Modrinth update checker (toggleable)
✅ Quick Testing Checklist
Try the following:
- Custom placeholders
- Update checker (sgchat.admin)
- /sgchat reload
- /mute player 5m Troll
- /unmute player
- /clear
Compatibility
✔️ Paper
✔️ Spigot
✔️ Compatible forks
✔️ Java 17+
✔️ PlaceholderAPI