Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Feature-rich AFK zone plugin: create rewards in-game and track player and zone stats with built-in leaderboards.
Changelog
All notable changes to ThunderAfkZone are documented here.
[1.1.0] - 2026-08-02
Performance
- AFK time is now buffered in memory and flushed to storage in batches on an async thread, instead of writing to SQLite synchronously on the main thread once per second for every tracked player. This removes a source of tick lag that scaled with the number of AFK players online at once.
/afkzone statsand the%afkzone_afk_time%/%afkzone_zone_time_<zone>%placeholders account for the in-memory buffer, so live numbers stay accurate to the second even though storage writes are now batched.- Fixed a potential main-thread stall in
/afkzone stats [player]: looking up an offline player by name could trigger a blocking network call to Mojang; it now resolves from the local cache first.
Added
- Boss bar color is now configurable per message via
bossbar_colorinmessages.yml(any ofPINK,BLUE,RED,GREEN,YELLOW,PURPLE,WHITE). Thetimermessage defaults topurple; all other messages default toyellow(unchanged from before). title.fade_in/title.stay/title.fade_outare now configurable on every message, not just the timer - they're read whenever that message's owndisplayis"title".
Changed
- Split the single 1,200+ line
/afkzonecommand class into focused handlers (StatsSubcommands,RewardSubcommands,ZoneRewardSubcommands,ZoneSubcommands) behind a single-registry command router. No user-facing command behavior changed;/afkzone <tab>now correctly suggestscancel, which was missing from suggestions before. - Zone and reward name validation is now shared through one
NameValidatorutility instead of being duplicated across commands.
Removed
- Removed the timer's
size: "big"/"mini"option frommessages.yml. It only ever applied a fixed text style (bold+gold / gray+italic); use MiniMessage tags directly intext:for full control instead.
Fixed
SqliteStoragenow synchronizes access to its shared connection, since AFK-time flushes happen on an async thread while commands can read from the main thread at the same time.
Platforms
Paper
1.21–26.2
Dependencies
Paper
- PlaceholderAPI Optional