Features
Scheduled Key Dropsโ
The core loop: a countdown timer fires at the configured interval. When it reaches zero, every online player receives their crate key(s) and the timer resets.
Timer persistence (persist-timer: true) means the countdown survives a server restart. The elapsed time is stored so players don't get an unintended immediate drop after a reboot.
Crate Modesโ
ROTATIONโ
Crates cycle in the order they are listed in config.yml. If you have three crates โ A, B, C โ the sequence is: A โ B โ C โ A โ B โ C โ โฆ
Use ROTATION when you want a predictable, fair distribution of crate types over time.
RANDOM (Weighted)โ
Each crate has a weight value. At every drop, one crate is chosen at random with probability proportional to its weight.
VoteCrate (weight 60) โ 60% chance
RareCrate (weight 40) โ 40% chance
Use RANDOM for variety and surprise.
Rank Bonus Systemโ
Three built-in rank tiers: VIP, MVP, Elite. Each tier grants additional keys on top of the base amount.
| Rank | Permission | Extra Keys (default) |
|---|---|---|
| VIP | keyallpro.rank.vip | +1 |
| MVP | keyallpro.rank.mvp | +2 |
| Elite | keyallpro.rank.elite | +3 |
A player with MVP rank receives: 1 base key + 2 bonus keys = 3 keys total per drop.
Ranks stack โ a player with both VIP and MVP permissions receives the sum of all applicable bonuses.
Random Bonus Chanceโ
Each player independently rolls a configurable chance (default 10%) for an extra key per drop. This is separate from rank bonuses and applies to all players.
bonus-reward:
enabled: true
chance: 10
bonus-keys: 1
Daily Multiplierโ
On a designated day of the week (default: Saturday), all key counts are multiplied by a configurable factor (default 2ร). This creates a weekly event that rewards active players.
daily-double:
enabled: true
day: SATURDAY
multiplier: 2.0
The multiplier applies after rank bonuses and random bonus, so a VIP on a Saturday with a 2ร multiplier and a random bonus might receive: (1 base + 1 rank + 1 random) ร 2 = 6 keys.
Offline Catch-Upโ
If a player is offline when a drop fires, their keys are saved in pending-rewards.yml. The next time they join, all pending keys are delivered automatically before they fully load in.
offline-rewards:
enabled: true
deliver-on-join: true
Multi-Channel Notificationsโ
KeyAllPro can broadcast warnings through any combination of channels:
| Channel | Description |
|---|---|
| Chat | Standard chat message |
| ActionBar | Bar above hotbar |
| Title | Large screen title |
| BossBar | Persistent bar at top of screen |
| Sound | Plays a configurable sound |
All channels are individually enabled/disabled. Warning messages fire at each configured threshold (e.g. 5 min, 1 min, 30 sec, 10 sec, 5 sec before drop).
PlaceholderAPI Integrationโ
| Placeholder | Example | Description |
|---|---|---|
%keyall_time% | 14m 32s | Formatted time until next drop |
%keyall_next_crate% | VoteCrate | Name of next crate to drop |
Use these in scoreboards, tab lists, holograms, or any PAPI-compatible plugin.
Folia Compatibilityโ
KeyAllPro uses the appropriate scheduler for both Paper and Folia. Timer tasks, reward distribution, and offline player handling are all async-safe.