-
Notifications
You must be signed in to change notification settings - Fork 58
Daily Rewards
The Daily Rewards module gives players a reason to log in every day. Each day they can claim one reward from a configurable cycle; claiming on consecutive days builds a streak that walks through the cycle and unlocks milestone bonuses. Missing a day resets the streak. Claims also grant Battle Pass XP.
| Feature | Details |
|---|---|
| Storage | Database |
| Cycle | Unlimited number of days |
| Streaks | Tracks current & longest streak, resets if a day is missed |
| Milestones | Bonus rewards at any streak values you choose |
| Day boundary | Configurable timezone & reset hour |
| Battle Pass XP | Configurable per claim |
| Join prompt | Players are notified on join when a reward is ready |
/daily Open the daily rewards menu (aliases: /dailyreward, /dailyrewards)
- The first claim starts the streak at 1 and grants cycle day 1.
- Claiming again the next day increases the streak and advances to the next cycle day.
- The cycle loops: after the last day it returns to day 1 (the streak keeps counting up).
- Missing a day resets the streak back to 1 on the next claim.
- A "day" is defined by the configurable
timezoneandreset-hour(claims before the reset hour count toward the previous day).
There is no cap on the cycle length or the number of milestones.
timezone: "" # empty = server timezone, or e.g. "Europe/Bratislava"
reset-hour: 0 # hour a new claim becomes available
pass-xp: 100 # Battle Pass XP granted per claim
cycle:
1:
display:
material: PAPER
name: "<white>Day 1"
lore:
- "<gray>Reward: <green>$10,000"
- "%status%"
rewards:
commands: ["money give %player% 10000"]
messages: ["<green>+ $10,000"]
sound: ENTITY_PLAYER_LEVELUP
2:
display: { material: PAPER, name: "<white>Day 2", lore: ["<gray>Reward: <aqua>100 Tokens", "%status%"] }
rewards:
commands: ["tokens give %player% 100"]
messages: ["<aqua>+ 100 Tokens"]
# ...add as many days as you like
milestones:
7:
rewards:
commands: ["gems give %player% 50"]
messages: ["<gold>7-day streak bonus: <green>+ 50 Gems!"]
sound: UI_TOAST_CHALLENGE_COMPLETE
30:
rewards:
commands: ["gems give %player% 300", "tokens give %player% 10000"]
messages: ["<gold>30-day streak bonus!"]A milestone is granted in addition to the cycle reward when the streak reaches exactly that value. Every reward is a reward bundle — an unlimited list of commands (with %player%), messages, and an optional sound.
Tip: Make sure
gui.cycle-slotshas at least as many slots as your cycle has days, so every day is shown in the menu.
/daily opens a calendar-style menu showing every cycle day with its state — claimed, claimable (click to claim) or locked — plus an info icon with the player's current streak, longest streak and total claims, and a claim button. Day states, the claim buttons and the info icon are all configurable under gui in dailyrewards.yml.
Claiming fires a configurable on-screen title and sound, set under effects: in dailyrewards.yml. A normal claim uses the claim block; a claim that lands on a streak milestone uses the (stronger) milestone block instead. Each block has an optional title (enabled, title, subtitle, fade-in/stay/fade-out in seconds) and an optional sound (enabled, sound, volume, pitch). Both ship on by default and support %streak% and %total%.
effects:
claim:
title:
enabled: true
title: "<gradient:#11998e:#38ef7d><bold>DAILY REWARD</bold></gradient>"
subtitle: "<white>%streak%<gray>-day streak - keep it going!"
fade-in: 1
stay: 3
fade-out: 1
sound:
enabled: true
sound: ENTITY_PLAYER_LEVELUP
milestone:
title:
enabled: true
title: "<gold><bold>%streak%-DAY STREAK!</bold>"
subtitle: "<white>Milestone bonus unlocked!"
sound:
enabled: true
sound: UI_TOAST_CHALLENGE_COMPLETESound names are standard Bukkit/XSound names.
In a cycle day's name/lore you can use %day% and %status%. The info icon supports %streak%, %longest_streak%, %total% and %can_claim%.
| Placeholder | Returns |
|---|---|
%xprison_dailyrewards_streak% |
Current streak |
%xprison_dailyrewards_longest_streak% |
Longest streak ever |
%xprison_dailyrewards_total% |
Total rewards claimed |
%xprison_dailyrewards_can_claim% |
Yes / No
|
- Currencies
- Ranks
- Prestiges
- Rebirths
- Mines
- AutoSell
- AutoMiner
- Enchants
- Pickaxe Levels
- Pickaxe Skins
- Gangs
- Multipliers
- Blocks
- Bombs
- History
- Mining Stats
- Nicknames
- Battle Pass
- Quests
- Daily Rewards
- config.yml
- autominer.yml
- autosell.yml
- block-rewards.yml
- enchants.yml
- currencies.yml
- multipliers.yml
- ranks.yml
- prestiges.yml
- pickaxe-levels.yml
- pickaxe-skins.yml
- gangs.yml
- mines.yml
- bombs.yml
- blocks.yml
- mining-stats.yml
- rebirths.yml
- battlepass.yml
- quests.yml
- dailyrewards.yml
- efficiency.json
- fortune.json
- unbreaking.json
- haste.json
- speed.json
- fly.json
- nightvision.json
- jumpboost.json
- autosell.json
