Skip to main content

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.

RankPermissionExtra Keys (default)
VIPkeyallpro.rank.vip+1
MVPkeyallpro.rank.mvp+2
Elitekeyallpro.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:

ChannelDescription
ChatStandard chat message
ActionBarBar above hotbar
TitleLarge screen title
BossBarPersistent bar at top of screen
SoundPlays 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โ€‹

PlaceholderExampleDescription
%keyall_time%14m 32sFormatted time until next drop
%keyall_next_crate%VoteCrateName 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.