New Features
- Bot (uses a Discord Bot Token, powered by JDA). Required for inbound and supports embeds.
- Discord Integration: bridge Minecraft global chat (and join/leave/server-switch/PMs) to Discord, with optional Discord -> Minecraft inbound bridge.
- Two transports, choose per event:
- Webhook (no library; pure HTTP). Outbound only. Per-channel webhook URL with custom username and avatar.
- Inbound role gate: restrict who in a Discord channel can bridge to MC by Discord role IDs. Empty list = everyone in the channel.
- Per-server channel routing: map each proxy server to a different Discord channel/webhook; falls back to a default route.
- Player head avatars via Crafatar when using webhooks.
- Markdown <-> MiniMessage translation between Discord and MC.
- Mention sanitizer: prevents Everyone/here abuse, replaces <@id> with Name.
Configuration
- New file: plugins/nexusshout/discord.yml, fully documented inline.
- All Discord settings live there so credentials and routing can be managed independently (and easily excluded from version control).
Dependencies
- JDA 5.2.1 (relocated; shaded).
- OkHttp 4.12.0 (relocated; shaded).
Notes
- The bot needs the MESSAGE CONTENT and SERVER MEMBERS privileged intents only when inbound is enabled (toggle these in the Discord Developer Portal).
- Built-in safety: inbound messages are pushed via a dedicated path that does not loop back into Discord.
Default configuration available at https://github.com/Nexus-Craft/NexusShout-Resources
1.5.0 Changelog
Default config.yml and locale files:
https://github.com/Nexus-Craft/NexusShout-Resources
New Features
- Global Private Messaging: Added
/nmsg(aliases:/nms) and/nr(aliases:/nreply) for cross-server communication (disabled by default to avoid conflicts).- UNTESTED Vanish Integration: Privacy support for PremiumVanish and SayanVanish. Vanished players appear "not found" to senders without bypass permissions (
nshout.vanish.see).
Security & Moderation
- Mute Support: Private messages strictly respect LiteBans and LibertyBans mutes (or you can add the commands to LiteBans/LibertyBans config mute blacklist).
- Anti-Abuse: Applied global Anti-Spam and Anti-Flood filters to private messaging.
- Access Control: Added configurable permissions and separate cooldowns for private messages in
config.yml.
Configuration & System
Localization
- Smart Config Updater: Completely refactored the auto-updater to support nested configuration paths, ensuring new features are added safely without breaking existing configs.
- Locale Auto-Updater: The plugin now automatically appends missing translation keys to your locale files while preserving your custom edits and comments.
- Live Command Reload: Command registration is now dynamic; toggling features or changing aliases in
config.ymlapplies instantly via/nshoutreloadwithout needing a proxy restart.
- Full Language Support: Added private messaging, error, and moderation messages to all 18 supported languages (includingpm-mutednotifications).
Bug Fixes
- Event Priority: Added a configurable
chat-listener-priorityoption toconfig.ymlto resolve conflicts with low-level packet modification plugins.- Global Chat Leak: Fixed an issue where blocked global messages (e.g., due to cooldown or permission checks) would leak to the backend server.
1.4.1 Changelog
Fixes
- Fixed a critical bug in the config auto-updater where it would fail to copy the content of new configuration sections (like anti-flood/anti-spam settings) or insert them incorrectly nested inside other sections.
1.4.0 Changelog
New Features
- Anti-Flood: Prevents players from sending messages with excessive repetitive characters (e.g., "loooooool").
- Anti-Spam: Prevents players from sending similar messages consecutively using Levenshtein distance check.
- Mute Support: Integrated with LiteBans and LibertyBans to block muted players from using global chat. You can also adds the blacklist command on LiteBans/LibertyBans config to prevent muted players from executing the commands.
Configuration
- Added anti-flood section: max-consecutive-chars (default: 5)
- Added anti-spam section: similarity-threshold (default: 0.85)
- Added hooks section: Toggle litebans and libertybans integration
- Config auto-updater: Automatically adds new sections to existing config.yml
Localization
- Added anti-abuse and mute messages for all 18 supported languages
1.3.1 Changelog
New Features
- Start with Global Chat: Addedcommands.start-with-global-chatoption (default:false).
- Iftrue, players automatically join with Global Chat enabled.
Changes
- Improved config auto-updater.
1.3.0 Changelog
New Features
- Persistent Global Chat Toggle: Type
/gchat(no args) to toggle global chat mode on/off- Config Auto-Update: New settings are automatically added to existing configs
Configuration
- Addedcommands.enable-chat-toggleoption (default: true)
Localization
- Added the toggle messages for all 18 supported languages
