SGChat 1.0.6
on Nov 21, 2025Changelog
[1.0.6] - 2025-11-21
Added
- Hover message in the name of the player and message.
Changed
- The
/sgchatcommand now requires thesgchat.reloadpermission (orsgchat.admin) to use administrative actions such as reload. Seeplugin.ymlfor details. hover.enabledis read at plugin startup and requires a server restart to take effect.hover.nameandhover.messageremain reloadable and can be updated with/sgchat reload.
Fixed
- Resolved out-of-order chat disconnects by ensuring chat processing occurs on the main thread and avoiding async resends that could reorder client packets.
Removed / Notes
- Removed the
/sgchat langsand/sgchat validate-langssubcommands. - The plugin no longer falls back to
messages.yml; migrate custom translations tolang/<code>.yml.
SGChat 1.0.5
on Nov 18, 2025Changelog
[1.0.5] - 2025-11-18
Added
- Multi-language support
- Language files moved to
src/main/resources/lang/<code>.yml - Added placeholder language files:
en,es,fr,de,pt,it(placeholders for translations) - Commands and system notifications are now translatable via
lang/*.yml
- Language files moved to
- New
/sgchatsubcommands:/sgchat langs— list available languages inplugins/SGChat/lang//sgchat validate-langs— validate missing keys across language files
Changed
- Messages now use language
prefixautomatically when retrieved via the messages manager - Update checker console and player notifications are now translatable and colored
Fixed
- Ensure translation files are loaded from
plugins/SGChat/lang/and warn when missing (no silent fallback to oldmessages.yml)
Removed / Notes
- The plugin no longer falls back to
messages.yml; please migrate custom translations tolang/<code>.yml.
SGChat 1.0.4
on Nov 15, 2025Changelog
[1.0.4] - 2025-11-15
Added
- Discord webhook integration
- Optional webhook support to send server events to a Discord channel
- Configurable username and avatar for webhooks
- Chat relay to Discord
- Optional: send player chat messages to the configured webhook (
discord.send-chat) - Template configurable via
discord.chat-message-template(placeholders:{player},{displayname},{message},{server})
- Optional: send player chat messages to the configured webhook (
Changed
- Improved Discord embed handling for join/quit notifications
- Embeds are used by default when
discord.use-embedsis enabled
- Embeds are used by default when
Fixed
- Fixed avatar fetch issues in Discord embeds
- Crafatar UUIDs are now handled without hyphens and requests prefer a direct PNG URL
- Added validation/fallback logic when building embed image URLs to reduce broken images
Removed
- Player avatar is no longer automatically attached to join/quit embeds by default (avoids broken/placeholder images)
Config Changes
Added to config.yml (under discord):
# Chat relay: send player chat messages to Discord webhook
send-chat: false
# Template for chat messages sent to Discord (placeholders: {player}, {displayname}, {message}, {server})
chat-message-template: "{displayname}: {message}"
Notes / Upgrade
- After upgrading, review and set
discord.webhook-urland enablediscord.enable: trueto activate integration. - Restart the server after changing Discord-related settings.
Technical
- Uses asynchronous HTTP requests to avoid blocking the server thread when calling webhooks.
- Embed JSON is built with safe escaping and optional author/thumbnail fields.
SGChat 1.0.3
on Oct 25, 2025Changelog
[1.0.3] - 2025-10-24
Added
- Custom placeholders system
- Add your own variables in
custom-placeholderssection of config.yml - Use placeholders anywhere in plugin messages with {placeholder}
- Full color code support in placeholder values
- Dynamic reloading with
/sgchat reload - Examples included in default configuration
- Add your own variables in
Changed
- Improved configuration reload system
- More reliable configuration reloading
- Better handling of custom placeholders updates
- Enhanced error handling during reload
Fixed
- Fixed custom placeholders not updating on reload
- Fixed placeholder values not being saved correctly
- Fixed color codes not processing in placeholder values
Config Changes
Added to config.yml:
# Custom placeholders configuration
custom-placeholders:
server: "&6My Server"
website: "&bwww.example.com"
discord: "&9discord.gg/example"
Technical
- Reworked configuration management system
- Improved config reload mechanism
- Enhanced placeholder processing efficiency
- Added better error handling for config operations
SGChat 1.0.2
on Oct 19, 2025Changelog
[1.0.2] - 2025-10-18
Added
- Added update checker system
- Automatically checks for new versions on Modrinth
- Notifies operators and players with
sgchat.adminpermission when they join - Can be disabled in config using
check-update: false
Fixed
- Fixed
{level}placeholder not working in chat format- Now correctly displays player's experience level in chat messages
- Works with both default and group-specific chat formats
Changed
- Simplified configuration structure
- Removed unnecessary configuration options
- Made update checker configuration more straightforward
Config Changes
Added to config.yml:
# Whether to check for updates (true/false)
check-update: true
Permissions
sgchat.admin- Allows players to receive update notifications (defaults to op)
Technical
- Added Modrinth API integration for version checking
- Improved version comparison logic
- Added automatic update checking on player join
- Optimized permission checks for update notifications
SGChat 1.0.1
on Oct 5, 2025Changelog
[1.0.1] - 2025-10-05
Minor update with fixes, configuration improvements, and new features.
Added
/clearcommand to clear the chat (permission:sgchat.clear).- Functional
/unmutecommand with configurable messages (permission:sgchat.unmute). - Option to specify reason and duration in
/mute <player> [time] [reason]. - ASCII banner displayed in console when the plugin is enabled (shows version, author, and Discord link).
CHANGELOG.mdfile with update history.
Improved
- Centralized all system messages (warnings, errors, confirmations) into
messages.yml. - Chat formats, join/quit messages, and MOTD are now configured from
config.yml. - MOTD is sent only to the joining player (not publicly broadcast).
- Added support to disable per-group formats (
chat.enable-group-formats) and the automatic mute system (chat.enable-mute). - Mute/Unmute messages now display duration and reason to both staff and the muted player.
/sgchatnow displays a list of subcommands and requires thesgchat.adminpermission./sgchat reloadnow reloads bothconfig.ymlandmessages.yml.
Fixed
- Prevented double sending of join/MOTD/quit messages (removed extra class extending
JavaPluginand properly initialized managers). - Fixed issues caused by
Component.toString()— now sends Adventure Components correctly formatted. - Fixed
/unmuteexception caused by missinggetInstance()implementation. - Fixed duplicate listener and command registrations (now handled once via
SGChatPlugin). - Corrected failed message and format conversions for proper display in both console and client.
Removed / Cleanup
- Removed duplicate or misplaced messages and keys from
config.ymlandmessages.yml; cleaned and separated structure.
Update Notes
- Restart the server or use
/sgchat reloadafter updating to apply changes. - Review
config.ymlandmessages.yml, and verify permissions:sgchat.admin→ access to/sgchatsgchat.reload→ reload configurationssgchat.mute/sgchat.unmute→ mute managementsgchat.msg→ private messagingsgchat.clear→ clear chat



