Added
-
Bypass whitelist and blacklist - Two persistent lists (stored in
bypass-lists.yml) let admins fine-tune who bypasses AFK detection:- Whitelist — players that always bypass, regardless of the
afk.bypass.enabledconfig flag or whether they hold theezafk.bypass
permission. - Blacklist - players that are never allowed to bypass, even when they
holdezafk.bypass(useful for ops/admins who want to be subject to AFK
detection and zone rewards for testing or fairness). - Blacklist takes precedence over whitelist.
- Managed in-game with
/afk bypass whitelist <add|remove|list> [player]
and/afk bypass blacklist <add|remove|list> [player]
(requiresezafk.bypass.manage). - Tab completion is provided for all three argument depths.
- Lists are reloaded on
/afk reload.
- Whitelist — players that always bypass, regardless of the
-
AFK zone entry / exit messages - Players now receive a chat message when
they enter or leave an AFK zone (afkzone.enter/afkzone.exitmessage
keys inmessages.yml; both support the%zone%placeholder). -
AFK zone reward countdowns via EzCountdown - When
EzCountdown is installed,
players in AFK zones see a live countdown to their next reward (action bar,
title, boss bar, scoreboard, or dialog — configurable per zone). The countdown
resets automatically after each payout. -
Global zone reward defaults - A top-level
defaults.rewardblock in
zones.ymllets you configure economy reward amount, interval, and
notification settings once for all zones. Individual zones can still override
any value. When Vault is present anddefaults.reward.enabled: true, all
zones automatically grant small economy rewards without per-zone configuration. -
Session reward stats per player per zone - EzAfk now tracks how many
rewards and how much currency each player has received in each zone for the
current server session (resets on restart). Available via PlaceholderAPI:%ezafk_zone_rewards_grants%- total grants across all zones%ezafk_zone_rewards_amount%- total currency earned across all zones%ezafk_zone_reward_<zone>_grants%- grants in a specific zone%ezafk_zone_reward_<zone>_amount%- currency earned in a specific zone
-
New notification config fields on zone rewards:
reward.notification.enabled,reward.notification.displays,
reward.notification.message,reward.notification.duration.
Fixed
-
Duplicate
reward:YAML key underafkzone:inmessages.yml— the second
block (failed:) was silently overwriting the first (granted.*), making all
reward granted messages fall back to their hardcoded defaults.EzCountdown plugin. Detected
automatically when present (integration.ezcountdown: auto). -
Configurable kick-warning display types —
kick.warnings.displaysaccepts
a list of display types:CHAT,TITLE,ACTION_BAR,BOSS_BAR. Multiple
types can be active at once (e.g.[ACTION_BAR, BOSS_BAR]). When the list is
empty the legacykick.warnings.modevalue is used for backward compatibility. -
New message keys
kick.warning.action_barandkick.warning.boss_barin
messages.ymlfor the new display types.
Changed
CompatibilityUtilnow handlessendActionBar,showBossBarWarning, and
removeWarningBossBarvia reflection - safe on servers without the BossBar
API (pre-1.9) or without the action-bar method available.- Java 21+ is now required.
maven.compiler.releaseraised from11to
21; the plugin JAR targets Java 21 bytecode (class file version 65).
Servers running Minecraft 1.21+ already require Java 21, so this is a no-op
for all supported server versions. - Minimum supported Minecraft version is now 1.21 (was 1.19). Older
versions are no longer tested or guaranteed to work.
Removed
- Paper 1.20.4 / Java 17 legacy CI smoke test (not needed after dropping Java 17
support).