Repository navigation
Offline rewards
RageOfFire edited this page Sep 6, 2026
·
1 revision
Offline rewards are earned by being away from the server for a certain amount of real time, and are claimed by hand from the Reward GUI - the GUI opens automatically when a returning player has one or more ready to claim.
rewards:
default:
permission: "group.default"
time: "5d 6h 30m 20s"
message: "&aYou earn reward by default"
execute: 'PLAYER'
commands:
- "me Hi ! I'm back"Every reward must be under rewards and have a unique id. Here's what each key does:
- default is the id of that reward - it can be anything you want, but it must be unique and valid as a YAML key.
-
permission is the permission a player needs to earn the reward. Leave it as
""(empty) to make it available to everyone. - time is how long the player needs to have been offline to earn the reward - see the Time formatter.
-
message is an optional message sent to the player when they claim it. You can use
%player%for their name, or any PlaceholderAPI placeholder. -
execute is whether the commands run as
PLAYERorCONSOLE. -
commands is a list of commands to run as the reward.
%player%and PlaceholderAPI placeholders work here too.
- A player logs back in after being away.
- The plugin checks every entry under
rewardsand works out which ones they're currently eligible for and haven't already claimed. - If there's at least one, the Reward GUI opens automatically a moment after they join, showing each claimable reward as a clickable item.
- Clicking an item grants it immediately and marks it claimed - it won't be offered again until its
timerequirement has elapsed a second time.
Don't want a GUI at all? Set gui.auto-open-on-join: false in config.yml and every eligible offline reward is granted automatically on join instead, with no click required.
Nothing requires time to reward something positive - a punish entry that applies a slowness effect for being away too long works exactly the same way:
punish:
permission: "permission.to.punish"
time: "7d"
message: "&cYou have been off the server for 1 week"
execute: 'CONSOLE'
commands:
- "me off the server for 1 week"
- "effect give %player% slowness 30 2 true"