- Action-Specific Webhook Routing: Added a structured webhooks section inside config.yml allowing server owners to define category overrides (e.g., separate webhooks for ban, mute, warn, voiceban, etc.). Actions seamlessly fallback to global default URL configurations if overrides are omitted.
- Embed Punishment Metrics: Dynamically queries the database on each punishment event to fetch the target player's total cumulative stats (Total Bans, Mutes, Warnings, and Voice Bans). These statistics are formatted and embedded at the bottom of the Discord message.
- Channel ID Support: Integrates custom "channel_id" metadata fields into the webhook JSON post request, allowing bot bridges to route events to corresponding Discord channels.
- Database Queries Integration: Added tracking methods in the DatabaseManager interface. Implemented local file scanning in YamlDatabase and executed optimized COUNT(*) queries in MySQLDatabase to aggregate player data.
- Validated Builds: Restructured, compiled, and built the three editions (Normal, Enterprise, and GUI Enterprise) successfully with no compilation errors.
Added Voice-Ban System (Simple Voice Chat Integration)
- Voice Ban Functionality: Restricts players from speaking through Simple Voice Chat if they are voice-banned. Intercepts voice packets, blocking voice transmission.
- Layout Warning Prompts: Displays warning titles on-screen and prints layout descriptions in chat when banned players attempt to speak or join the server (rate-limited to prevent text spam).
- Predefined Layouts Configuration (voicebanlayouts.yml): Includes all 47 voice-ban reason layouts (general abuse, soundboard spam, toxic language, staff disrespect, etc.).
- GUI Dashboard Integration:
- Added Voice Ban Player action button inside the target player control GUI.
- Added Active Voice Bans List button in the main Staff Panel to manage and lift bans.
- Updated Server Punishment Statistics display to track active voice bans.
- Database & Storage Engine: Configured local YAML logging (bansystem/voicebans.yml) and MySQL server logging (coffee_voice_bans table) to store active voice bans.
- Commands: Added /voiceban <player> <layout> [duration] and /unvoiceban <player> commands (with aliases /vban and /unvban).
- Multi-Version Building: Fully added and validated compilation across all three plugin editions (Normal, Enterprise, and GUI Enterprise).
CoffeeOffend Update Changelog (v1.1.0)
- Mute System: Added /mute <player> <layout> [time] and /unmute <player>. Blocks public chat and private messaging commands (e.g. /msg, /tell).
- Simple Voice Chat Hook: Automatically blocks voice chat packets for muted players (safe-loading integration).
- Warning System: Added /warn <player> <layout>. Triggers chat alerts, sounds, and full-screen titles. Automatically triggers mutes/bans when configurable warning thresholds are met.
- Offline Queue: Mutes and warnings issued to offline players are displayed on-screen when they next log in.
- Split Layouts: Divided configurations into offendlayouts.yml, mutelayouts.yml, and warnlayouts.yml.
- Inventory GUI Fix: Resolved UUID resolution bugs on offline/cracked networks, fixing the empty inventory inspect screens in /offends.
- Java 17 Compilation: Lowered compilation target to Java 17 and removed JVM preview dependency. Fixes the startup error that caused the plugin to show up red in /plugins.
