
ZStaffChatPro
The most powerful and customizable staff chat plugin for your server!
ZStaffChatPro 1.16.1 - Changelog
Configuration Overhaul
- Complete config rewrite - All 4 config files (config.yml, messages.yml, discord.yml, filter.yml) rewritten in my style formatting with clear section headers and detailed per-option comments
- Removed global mode -
staff-chat-globalandglobal-channelremoved. Users who want a single channel simply keep one channel in thechannelssection - Removed
features.chat-prefixes- Chat prefix is now controlled per-channel viachat-prefix: "!"(set to""to disable) - Proxy settings grouped -
disabled-serversandserver-aliasesmoved underproxy:section - New prefix style - Default prefix changed to
&8(&cZStaffChatPro&8) &fwith white message text - Cleaner messages - All messages use
{prefix}consistently, enabled/disabled states shown in green/red - Help/About redesigned - Clean indented style with version display, no more
&m---separators
New Features
{server_previous}placeholder - Shows the display name of the previous server in server-change events{server_raw_previous}placeholder - Shows the raw name of the previous server{server_raw}placeholder - Renamed from{server}for clarity"server"stafflist mode - New display mode that groups players by their backend server within each channel (proxy only){version}placeholder in help - Help command now shows plugin version- PlaceholderUtil - New centralized placeholder system. Adding a new placeholder is now a single line of code
Bug Fixes
- Fixed signed chat kick (1.19.1+) - Chat prefixes (
!hello) and toggle mode no longer disconnect players on Velocity/BungeeCord. Uses Bridge plugin messaging to cancel chat on backend instead of proxy-sidedenied() - Fixed "Unknown command" on missing permission - All commands (zscp, stafflist, staffspy, stafftime, staffafk, channel commands) now show proper no-permission message instead of vanilla "Unknown or incomplete command"
- Fixed empty brackets in activity log - Cleanup regex now handles color codes inside brackets (e.g.
&8(&b&8)properly cleaned) - Fixed duplicate AFK messages -
isAfk()no longer has side effects. AFK detection moved to periodiccheckAfkStatus()task (every 10s) - Fixed activity log server name - Activity log now passes server name to channel format, so
({server_alias})in channel format works correctly
Improvements
- Bridge handshake - Proxy now initiates the handshake (sends PING when player connects to backend). No more waiting for backend to send first PING
- Bridge signed chat cancel - New
TYPE_CANCEL_CHATmessage type allows proxy to tell backend Bridge to cancel a chat message (for chat prefixes on 1.19.1+) - Placeholder refactor - LuckPerms placeholders renamed from
{lp_*}to{luckperms_*}for consistency - Reduced AFK throttle - Bridge activity throttle reduced from 30s to 10s, idle threshold from 5s to 3s for faster AFK detection
- Movement listener on Spigot/Folia - Added
PlayerMoveEventlistener for standalone setups (previously only tracked via chat) - Removed bStats global_mode chart - No longer needed after removing global mode
Code Quality
- PlaceholderUtil - Centralized placeholder resolution with
resolve(),buildLuckPermsPlaceholders(),buildServerPlaceholders(),cleanEmptyBrackets() - Simplified platform code - Removed global mode branching from all 4 platform files, ChannelManager, ConfigManager
- Consistent permission handling - All commands check permissions in
execute()instead of relying on platform-level permission gates
Breaking Changes
- Config version bumped (auto-backup + regenerate for existing users)
{server}renamed to{server_raw}{lp_prefix}etc. renamed to{luckperms_prefix}etc.staff-chat-global/global-channelremovedfeatures.chat-prefixesremovedingame-activity-log.sender-nameremoveddisabled-servers/server-aliasesmoved underproxy:
ZStaffChatPro 1.16.1 - Changelog
Configuration Overhaul
- Complete config rewrite - All 4 config files (config.yml, messages.yml, discord.yml, filter.yml) rewritten in my style formatting with clear section headers and detailed per-option comments
- Removed global mode -
staff-chat-globalandglobal-channelremoved. Users who want a single channel simply keep one channel in thechannelssection - Removed
features.chat-prefixes- Chat prefix is now controlled per-channel viachat-prefix: "!"(set to""to disable) - Proxy settings grouped -
disabled-serversandserver-aliasesmoved underproxy:section - New prefix style - Default prefix changed to
&8(&cZStaffChatPro&8) &fwith white message text - Cleaner messages - All messages use
{prefix}consistently, enabled/disabled states shown in green/red - Help/About redesigned - Clean indented style with version display, no more
&m---separators
New Features
{server_previous}placeholder - Shows the display name of the previous server in server-change events{server_raw_previous}placeholder - Shows the raw name of the previous server{server_raw}placeholder - Renamed from{server}for clarity"server"stafflist mode - New display mode that groups players by their backend server within each channel (proxy only){version}placeholder in help - Help command now shows plugin version- PlaceholderUtil - New centralized placeholder system. Adding a new placeholder is now a single line of code
Bug Fixes
- Fixed signed chat kick (1.19.1+) - Chat prefixes (
!hello) and toggle mode no longer disconnect players on Velocity/BungeeCord. Uses Bridge plugin messaging to cancel chat on backend instead of proxy-sidedenied() - Fixed "Unknown command" on missing permission - All commands (zscp, stafflist, staffspy, stafftime, staffafk, channel commands) now show proper no-permission message instead of vanilla "Unknown or incomplete command"
- Fixed empty brackets in activity log - Cleanup regex now handles color codes inside brackets (e.g.
&8(&b&8)properly cleaned) - Fixed duplicate AFK messages -
isAfk()no longer has side effects. AFK detection moved to periodiccheckAfkStatus()task (every 10s) - Fixed activity log server name - Activity log now passes server name to channel format, so
({server_alias})in channel format works correctly
Improvements
- Bridge handshake - Proxy now initiates the handshake (sends PING when player connects to backend). No more waiting for backend to send first PING
- Bridge signed chat cancel - New
TYPE_CANCEL_CHATmessage type allows proxy to tell backend Bridge to cancel a chat message (for chat prefixes on 1.19.1+) - Placeholder refactor - LuckPerms placeholders renamed from
{lp_*}to{luckperms_*}for consistency - Reduced AFK throttle - Bridge activity throttle reduced from 30s to 10s, idle threshold from 5s to 3s for faster AFK detection
- Movement listener on Spigot/Folia - Added
PlayerMoveEventlistener for standalone setups (previously only tracked via chat) - Removed bStats global_mode chart - No longer needed after removing global mode
Code Quality
- PlaceholderUtil - Centralized placeholder resolution with
resolve(),buildLuckPermsPlaceholders(),buildServerPlaceholders(),cleanEmptyBrackets() - Simplified platform code - Removed global mode branching from all 4 platform files, ChannelManager, ConfigManager
- Consistent permission handling - All commands check permissions in
execute()instead of relying on platform-level permission gates
Breaking Changes
- Config version bumped (auto-backup + regenerate for existing users)
{server}renamed to{server_raw}{lp_prefix}etc. renamed to{luckperms_prefix}etc.staff-chat-global/global-channelremovedfeatures.chat-prefixesremovedingame-activity-log.sender-nameremoveddisabled-servers/server-aliasesmoved underproxy:
Bug Fixes:
- Fixed LuckPerms prefix/suffix hex colors (
&#RRGGBBformat) not rendering — showed raw text like#FF0000Nicknameinstead of colored text. Added&#RRGGBB/§#RRGGBBformat support to ColorUtil.
- Fixed LuckPerms prefix/suffix hex colors (
Bug Fixes:
- Fixed LuckPerms prefix/suffix hex colors (
&#RRGGBBformat) not rendering — showed raw text like#FF0000Nicknameinstead of colored text. Added&#RRGGBB/§#RRGGBBformat support to ColorUtil.
- Fixed LuckPerms prefix/suffix hex colors (
New Features:
-
Separate Discord Config — Discord configuration has been moved from
config.ymlto a dedicateddiscord.ymlfile for better organization. The new file has 4 clear top-level sections:webhook,webhook-activity-log,bot, andbot-activity-log. -
Stafflist AFK/Vanish Suffix — Added
stafflist-afk-suffixandstafflist-vanished-suffixto messages.yml, allowing status indicators to be displayed after player names (in addition to the existing prefix options). -
Chat Filter (Anti-Bad-Words) — Added a configurable chat filter in a dedicated
filter.ymlfile. Supports two modes:censor(replaces matched words with configurable replacements for Minecraft and Discord separately) andblock(prevents the message entirely). Supports plain word list with automatic word-boundary matching and raw regex patterns. Players with the bypass permission (zstaffchat.filter.bypass) skip filtering. -
Global Channel Toggle — Added
/zstaffchat toggle <channel>command to globally enable/disable channels. State persists toconfig.yml(survives restarts). Disabled channels block all messages (commands, chat prefixes, toggle mode) and show a configurablechannel-disabledmessage. Requireszstaffchat.togglepermission. Tab completion for channel IDs included. -
Grouped Stafflist Mode — Added
stafflist-modeconfig option (defaultorgrouped). Grouped mode displays rank as a title with players listed individually below, instead of comma-separated on one line. Fully customizable viastafflist-group-titleandstafflist-group-playerin messages.yml.
Improvements:
- Reduced config.yml size by ~250 lines (51% smaller) by moving Discord config to discord.yml
- Discord config now has its own version tracking (
discord-version) - Added /zscp command alias on all platforms
- Added
{prefix}placeholder support in all messages.yml messages — plugin prefix is no longer hardcoded, users can move or remove it from any message - Added Chat Filter status to startup message and
/zstaffchat aboutoutput on all platforms - Added Bridge Addon connection status to
/zstaffchat abouton proxy platforms (shows connected server names) - Added Discord bot name, owner, and server/guild name to
/zstaffchat aboutoutput (shows which bot is connected, who owns it, and to which Discord server) - Added
{server}and{server_alias}placeholder support in Discord bot and webhook message formats (text, embeds, footer, etc.) - Added
{server_alias}placeholder support in channel format (previously only{server}was available) - Empty
{server}placeholders now auto-clean surrounding brackets[]/()and double spaces - Removed dead code: unused methods, interface stubs, redundant logic across the codebase
Bug Fixes:
- Fixed hex colors ({#RRGGBB}) and gradients not working on BungeeCord — all commands and chat messages now use ColorUtil instead of ChatColor.translateAlternateColorCodes
- Fixed Kotlin compiler warnings: deprecated
description.version→pluginMeta.versionon Folia, unused event parameters on Velocity, redundant elvis operator in Folia AfkListener, unused parameter and redundant initializer in ConfigManager - Fixed
{server}placeholder not working in Discord bot/webhook messages (was missing from placeholder map) - Fixed player not seeing their own join/leave activity messages on proxy (BungeeCord/Velocity) — players without a backend server at login time were being skipped
- Fixed empty
{server}placeholder leaving extra spaces in channel format messages
-
New Features:
-
Separate Discord Config — Discord configuration has been moved from
config.ymlto a dedicateddiscord.ymlfile for better organization. The new file has 4 clear top-level sections:webhook,webhook-activity-log,bot, andbot-activity-log. -
Stafflist AFK/Vanish Suffix — Added
stafflist-afk-suffixandstafflist-vanished-suffixto messages.yml, allowing status indicators to be displayed after player names (in addition to the existing prefix options). -
Chat Filter (Anti-Bad-Words) — Added a configurable chat filter in a dedicated
filter.ymlfile. Supports two modes:censor(replaces matched words with configurable replacements for Minecraft and Discord separately) andblock(prevents the message entirely). Supports plain word list with automatic word-boundary matching and raw regex patterns. Players with the bypass permission (zstaffchat.filter.bypass) skip filtering. -
Global Channel Toggle — Added
/zstaffchat toggle <channel>command to globally enable/disable channels. State persists toconfig.yml(survives restarts). Disabled channels block all messages (commands, chat prefixes, toggle mode) and show a configurablechannel-disabledmessage. Requireszstaffchat.togglepermission. Tab completion for channel IDs included. -
Grouped Stafflist Mode — Added
stafflist-modeconfig option (defaultorgrouped). Grouped mode displays rank as a title with players listed individually below, instead of comma-separated on one line. Fully customizable viastafflist-group-titleandstafflist-group-playerin messages.yml.
Improvements:
- Reduced config.yml size by ~250 lines (51% smaller) by moving Discord config to discord.yml
- Discord config now has its own version tracking (
discord-version) - Added /zscp command alias on all platforms
- Added
{prefix}placeholder support in all messages.yml messages — plugin prefix is no longer hardcoded, users can move or remove it from any message - Added Chat Filter status to startup message and
/zstaffchat aboutoutput on all platforms - Added Bridge Addon connection status to
/zstaffchat abouton proxy platforms (shows connected server names) - Added Discord bot name, owner, and server/guild name to
/zstaffchat aboutoutput (shows which bot is connected, who owns it, and to which Discord server) - Added
{server}and{server_alias}placeholder support in Discord bot and webhook message formats (text, embeds, footer, etc.) - Added
{server_alias}placeholder support in channel format (previously only{server}was available) - Empty
{server}placeholders now auto-clean surrounding brackets[]/()and double spaces - Removed dead code: unused methods, interface stubs, redundant logic across the codebase
Bug Fixes:
- Fixed hex colors ({#RRGGBB}) and gradients not working on BungeeCord — all commands and chat messages now use ColorUtil instead of ChatColor.translateAlternateColorCodes
- Fixed Kotlin compiler warnings: deprecated
description.version→pluginMeta.versionon Folia, unused event parameters on Velocity, redundant elvis operator in Folia AfkListener, unused parameter and redundant initializer in ConfigManager - Fixed
{server}placeholder not working in Discord bot/webhook messages (was missing from placeholder map) - Fixed player not seeing their own join/leave activity messages on proxy (BungeeCord/Velocity) — players without a backend server at login time were being skipped
- Fixed empty
{server}placeholder leaving extra spaces in channel format messages
-
Major Update — New Features, Improvements & Bug Fixes
⚠ Delete your old config.yml and messages.yml before updating.
Server-side Bridge addon for ZStaffChatPro. Install on Spigot/Paper/Folia backends to enable cross-server vanish sync, AFK detection, and player activity tracking on BungeeCord/Velocity proxies.
Download Here https://cdn.modrinth.com/data/IsXrdhkA/versions/OIzUqGkw/ZStaffChat-SpigotAddon-0.0.1.jar
New Features
- Automatic Config Migration — The plugin now tracks config versions internally. When you update, outdated config.yml and messages.yml are automatically backed up (e.g. config.yml.v0.bak) and a fresh default is generated. No more manual config deletion needed.
- Customizable Help Message — /zstaffchat help output is now fully customizable in messages.yml (help-output, help-channel-format) with {channels} placeholder for dynamic channel list.
- In-Game Activity Log — Staff members now receive join/leave/server-change/vanish/AFK notifications directly in-game through the channel system. Configurable per-event toggles and customizable formats in the ingame-activity-log section of config.yml.
- /staffafk Command — Manual AFK toggle command on all platforms (zstaffchat.afk permission). Activity log messages route through the player's highest priority channel.
- Player Activity Bridging — Bridge addon now sends movement data (throttled to 30s per player) to the proxy, enabling accurate AFK detection on BungeeCord/Velocity.
- LuckPerms in Stafflist & Stafftime — {lp_prefix}, {lp_suffix}, {lp_group}, {lp_rank} placeholders now work in stafflist-player-format and stafftime-output on all platforms.
- Customizable Discord Embeds — Full embed support for both bot and webhook mode: custom colors, titles, descriptions, footers, thumbnails, author fields, and timestamps. Also available for activity log events with per-event colors.
- Discord Role Prefixes — Map Discord role IDs to custom in-game prefixes via role-prefixes config. New {discord_role} and {prefix} placeholders in format-to-minecraft.
- Bot Presence — Configure bot status (online/idle/dnd/invisible) and activity (playing/watching/listening/competing) in config.
- JDA 6.3.0 Upgrade — Upgraded Discord bot library from 5.0.0-beta.18 to 6.3.0 with all updated dependencies.
- Modrinth Update Checker — Update checker now uses Modrinth API. Redesigned console output with box-style formatting.
- Unified Startup Banner — All platforms now display a consistent startup message showing plugin version, platform, channel count, Discord status, playtime and AFK status.
- YAML Error Handling — User-friendly error messages when config.yml has syntax errors, instead of raw stack traces.
Improvements
- Migrated library loading to Libby 1.3.1 — no more Unsafe warnings
- Bridge addon: ping/pong mechanism for proxy connection confirmation
- Bridge addon: separate VanishListener to prevent ClassNotFoundException without PremiumVanish
- Bridge addon: idle threshold for faster AFK cancellation on proxy
- Reorganized messages.yml with section headers, detailed placeholder docs, and usage examples
- Graceful JDA shutdown — no more zip file closed errors when stopping the server
Bug Fixes
- Fixed jackson-annotations version mismatch causing potential runtime errors
- Fixed JDA shutdown race condition causing IllegalStateException on server stop
- Removed unused dead code from Bungee/Velocity platforms
Major Update — New Features, Improvements & Bug Fixes
⚠ Delete your old config.yml and messages.yml before updating.
Server-side Bridge addon for ZStaffChatPro. Install on Spigot/Paper/Folia backends to enable cross-server vanish sync, AFK detection, and player activity tracking on BungeeCord/Velocity proxies.
Download Here https://cdn.modrinth.com/data/IsXrdhkA/versions/OIzUqGkw/ZStaffChat-SpigotAddon-0.0.1.jar
New Features
- Automatic Config Migration — The plugin now tracks config versions internally. When you update, outdated config.yml and messages.yml are automatically backed up (e.g. config.yml.v0.bak) and a fresh default is generated. No more manual config deletion needed.
- Customizable Help Message — /zstaffchat help output is now fully customizable in messages.yml (help-output, help-channel-format) with {channels} placeholder for dynamic channel list.
- In-Game Activity Log — Staff members now receive join/leave/server-change/vanish/AFK notifications directly in-game through the channel system. Configurable per-event toggles and customizable formats in the ingame-activity-log section of config.yml.
- /staffafk Command — Manual AFK toggle command on all platforms (zstaffchat.afk permission). Activity log messages route through the player's highest priority channel.
- Player Activity Bridging — Bridge addon now sends movement data (throttled to 30s per player) to the proxy, enabling accurate AFK detection on BungeeCord/Velocity.
- LuckPerms in Stafflist & Stafftime — {lp_prefix}, {lp_suffix}, {lp_group}, {lp_rank} placeholders now work in stafflist-player-format and stafftime-output on all platforms.
- Customizable Discord Embeds — Full embed support for both bot and webhook mode: custom colors, titles, descriptions, footers, thumbnails, author fields, and timestamps. Also available for activity log events with per-event colors.
- Discord Role Prefixes — Map Discord role IDs to custom in-game prefixes via role-prefixes config. New {discord_role} and {prefix} placeholders in format-to-minecraft.
- Bot Presence — Configure bot status (online/idle/dnd/invisible) and activity (playing/watching/listening/competing) in config.
- JDA 6.3.0 Upgrade — Upgraded Discord bot library from 5.0.0-beta.18 to 6.3.0 with all updated dependencies.
- Modrinth Update Checker — Update checker now uses Modrinth API. Redesigned console output with box-style formatting.
- Unified Startup Banner — All platforms now display a consistent startup message showing plugin version, platform, channel count, Discord status, playtime and AFK status.
- YAML Error Handling — User-friendly error messages when config.yml has syntax errors, instead of raw stack traces.
Improvements
- Migrated library loading to Libby 1.3.1 — no more Unsafe warnings
- Bridge addon: ping/pong mechanism for proxy connection confirmation
- Bridge addon: separate VanishListener to prevent ClassNotFoundException without PremiumVanish
- Bridge addon: idle threshold for faster AFK cancellation on proxy
- Reorganized messages.yml with section headers, detailed placeholder docs, and usage examples
- Graceful JDA shutdown — no more zip file closed errors when stopping the server
Bug Fixes
- Fixed jackson-annotations version mismatch causing potential runtime errors
- Fixed JDA shutdown race condition causing IllegalStateException on server stop
- Removed unused dead code from Bungee/Velocity platforms
v1.7.1 - Stafflist Vanish Fix
Bug Fixes
- Stafflist Vanish Visibility - Now uses PremiumVanish/SuperVanish native
canSeeAPI instead of permission check
What Changed
- Previously, /stafflist used
zstaffchat.see-vanishedpermission to determine who can see vanished players - Now it respects PremiumVanish's own visibility logic (vanish levels, see permissions, etc.)
- Console can always see all players
Note: The
zstaffchat.see-vanishedpermission is no longer used for /stafflist when PremiumVanish is installed.Important: If you prefer the old permission-based behavior, stay on version 1.7.0.
- Stafflist Vanish Visibility - Now uses PremiumVanish/SuperVanish native
v1.7.1 - Stafflist Vanish Fix
Bug Fixes
- Stafflist Vanish Visibility - Now uses PremiumVanish/SuperVanish native
canSeeAPI instead of permission check
What Changed
- Previously, /stafflist used
zstaffchat.see-vanishedpermission to determine who can see vanished players - Now it respects PremiumVanish's own visibility logic (vanish levels, see permissions, etc.)
- Console can always see all players
Note: The
zstaffchat.see-vanishedpermission is no longer used for /stafflist when PremiumVanish is installed.Important: If you prefer the old permission-based behavior, stay on version 1.7.0.
- Stafflist Vanish Visibility - Now uses PremiumVanish/SuperVanish native
New Features
- PremiumVanish/SuperVanish Integration - Vanished staff are hidden from /stafflist for non-staff players
- Vanished Prefix - Staff members see [Vanished] prefix for hidden players in /stafflist
- Per-Channel Discord Webhooks - Each channel can have its own webhook URL (staff → #staff, admin → #admin)
Improvements
- Reorganized Discord Config - Clear separation between webhook mode and bot mode settings
- Vanish Status in About - /zstaffchat about now shows PremiumVanish hook status
New Permission
zstaffchat.see-vanished- Allows seeing vanished players in /stafflist
New Config
discord: webhook: channels: staff: "https://discord.com/api/webhooks/..." admin: "https://discord.com/api/webhooks/..." builder: "https://discord.com/api/webhooks/..." New Message - stafflist-vanished-prefix - Prefix for vanished players (default: [Vanished])New Features
- PremiumVanish/SuperVanish Integration - Vanished staff are hidden from /stafflist for non-staff players
- Vanished Prefix - Staff members see [Vanished] prefix for hidden players in /stafflist
- Per-Channel Discord Webhooks - Each channel can have its own webhook URL (staff → #staff, admin → #admin)
Improvements
- Reorganized Discord Config - Clear separation between webhook mode and bot mode settings
- Vanish Status in About - /zstaffchat about now shows PremiumVanish hook status
New Permission
zstaffchat.see-vanished- Allows seeing vanished players in /stafflist
New Config
discord: webhook: channels: staff: "https://discord.com/api/webhooks/..." admin: "https://discord.com/api/webhooks/..." builder: "https://discord.com/api/webhooks/..." New Message - stafflist-vanished-prefix - Prefix for vanished players (default: [Vanished])v1.6.0 - bStats, AFK Detection & Formatting Fix
New Features:
- bStats Integration - Anonymous plugin statistics (ID: 28758)
- AFK Detection - Configurable timeout (default 5 minutes)
- AFK Prefix in Staff List - [AFK] prefix shown for inactive staff in /stafflist
- AFK Time Tracking - Track AFK time in /stafftime command
Improvements:
- HEX Color Formatting - Formatting codes now work with HEX colors:
&l{#FF0000}Bold Red - Gradient Formatting - Formatting codes work inside gradients:
{#FF0000>>#0000FF}&lBold Gradient{/} - All Formatting Supported - Bold, italic, underline, strikethrough, obfuscated with colors
New Config Options:
afk.enabled- Enable/disable AFK detection (default: true)afk.timeout-minutes- AFK timeout in minutes (default: 5)
New Placeholders in /stafftime:
{afk_today}- Today's AFK time{afk_week}- This week's AFK time{afk_total}- Total AFK time
Upgrade Note: For best results, delete your config.yml and messages.yml files to regenerate them with all new options. If you prefer to keep your settings, new config sections will be automatically added at the end of your existing files.
v1.6.0 - bStats, AFK Detection & Formatting Fix
New Features:
- bStats Integration - Anonymous plugin statistics (ID: 28758)
- AFK Detection - Configurable timeout (default 5 minutes)
- AFK Prefix in Staff List - [AFK] prefix shown for inactive staff in /stafflist
- AFK Time Tracking - Track AFK time in /stafftime command
Improvements:
- HEX Color Formatting - Formatting codes now work with HEX colors:
&l{#FF0000}Bold Red - Gradient Formatting - Formatting codes work inside gradients:
{#FF0000>>#0000FF}&lBold Gradient{/} - All Formatting Supported - Bold, italic, underline, strikethrough, obfuscated with colors
New Config Options:
afk.enabled- Enable/disable AFK detection (default: true)afk.timeout-minutes- AFK timeout in minutes (default: 5)
New Placeholders in /stafftime:
{afk_today}- Today's AFK time{afk_week}- This week's AFK time{afk_total}- Total AFK time
Upgrade Note: For best results, delete your config.yml and messages.yml files to regenerate them with all new options. If you prefer to keep your settings, new config sections will be automatically added at the end of your existing files.
New Features: Separate JAR file for Folia servers (ZStaffChatPro-Folia.jar) Main JAR now contains Spigot, BungeeCord, and Velocity Folia module uses native Adventure API (smaller file size, better compatibility)
Improvements: Simplified console startup message (removed box decorations) Cleaner console output on all platforms
Downloads: ZStaffChatPro.jar - For Spigot, Paper, BungeeCord, Velocity...
New Features: Separate JAR file for Folia servers (ZStaffChatPro-Folia.jar) Main JAR now contains Spigot, Bukkit, BungeeCord, and Velocity Folia module uses native Adventure API (smaller file size, better compatibility)
Improvements: Simplified console startup message (removed box decorations) Cleaner console output on all platforms
Downloads: ZStaffChatPro.jar - For Spigot, Paper, BungeeCord, Velocity...
