Top Players
Three commands access the balance ranking, all backed byTopCacheService:
TopCacheService — Asynchronous Architecture
Never calculates the top on the player event thread. Instead:
Configuration
refresh_seconds— period of therunTaskTimerAsynchronously. Minimum value1s(internallyMath.max(1L, x)).change_threshold: 0— aggressive invalidation on every admin op (/eco set/give/take/reset).
Manual Invalidation
refreshAll() in the background.
TopEntry Structure
Each ranking entry:
Linked Placeholders
PlaceholderAPI (if installed) reads directly from TopCacheService:CLI Pagination
Commands return 10 results per page. Limit calculation is done in each command handler; ifpage ≤ 0 page 1 is assumed.
The rankByUuid cache (Map UUID → rank) enables O(1) lookups for “what rank does player X hold?” via getRankNumber(currencyId, uuid).