
DailyReward Pro
Multi-tiers Daily reward plugin for Spigot & Paper 1.21.x
🎁 DailyRewardPRO
The most advanced daily reward plugin for Spigot & Paper 1.21.x Fully customizable tiers created directly in-game — no manual file editing required to get started.
✨ Features
🏆 Unlimited Custom Tiers
- Create as many reward tiers as you want — directly from in-game with one command
- Each tier has its own config file, day counter, streak and GUI — all generated automatically
- Admins can name tiers anything:
vip,svip,elite,seasonal,halloween— no limits - Tier inheritance: configure whether players with higher-tier perms can claim lower tiers simultaneously
📦 Database Support
- YAML — Flat-file storage (default, no setup required)
- SQLite — Embedded database, single file (
data.db) - MySQL / MariaDB — For networks and large servers
🎯 Flexible GUI Layout
- Per-tier configurable reward rows (
gui.rowsfrom 1 to 5) - Fixed bottom row with Previous / Page Info / Next controls
- Rewards placed left-to-right, top-to-bottom across reward rows
- Automatic pagination when rewards exceed the available slots
- Per-tier configurable status items, colors and lore
- Per-status display mode: choose between status glass (
available,next,locked) or the reward's own display item
🔥 Status Indicators (fully configurable per tier)
| Status | Default Item | Description |
|---|---|---|
| ✅ Claimed | Lime Stained Glass | Already claimed today |
| ➤ Next | Orange Stained Glass | Next reward (tomorrow) |
| ⚡ Available | Yellow Stained Glass | Ready to claim now! |
| 🔒 Locked | Red Stained Glass | Future reward |
🔢 Streak System
- Per-tier streak tracking — miss a day and it resets
- Placeholder support for leaderboards and scoreboards
💰 Optional Economy (Vault)
- Give players money as part of any reward
- Works with any Vault-compatible economy plugin
🎮 Advanced Item Support
- Standard items with enchantments
- ItemsAdder custom items (namespace ID)
- Oraxen custom items
📢 Per-Day Broadcasts
- Configurable broadcast per reward day (disabled by default)
- Global toggle in
config.yml
🌍 Timezone Support
- Daily reset based on a configurable timezone
- Supports all Java
ZoneIdvalues (Europe/Warsaw,America/New_York,UTC, etc.)
📊 PlaceholderAPI Support
| Placeholder | Description |
|---|---|
%dailyreward_streak% | Current streak (highest tier) |
%dailyreward_streak_<tier>% | Streak for a specific tier |
%dailyreward_day% | Current day (highest tier) |
%dailyreward_day_<tier>% | Current day for a specific tier |
%dailyreward_time_left% | Time until next claim (highest tier) |
%dailyreward_time_left_<tier>% | Time until next claim for a specific tier |
%dailyreward_tier% | Player's highest tier name (plain) |
%dailyreward_tier_color% | Player's highest tier name (with colors) |
%dailyreward_has_reward% | true/false — unclaimed reward available |
%dailyreward_has_reward_<tier>% | Per-tier reward availability |
🔔 Reminder System
- Join reminders when a player has unclaimed rewards
- Periodic in-game reminders (configurable interval)
- Per-tier reminder messages include the direct
/daily <tier>command
📋 Commands
| Command | Description | Permission |
|---|---|---|
/daily | Open your highest available reward menu | — |
/daily help | Show command help | — |
/daily <tier> | Open a specific tier's reward menu | dailyreward.tier.<name> |
/daily admin createtier <id> | Create a new tier with a full template config | dailyreward.admin |
/daily admin reset <player> <tier> | Reset a player's daily streak | dailyreward.admin |
/daily admin set <player> <tier> <day> | Set a player to a specific day | dailyreward.admin |
/daily reload | Reload all configuration files | dailyreward.admin |
All commands have full tab completion including tier names, player names and day numbers.
🔑 Permissions
| Permission | Description | Default |
|---|---|---|
dailyreward.admin | All admin commands | OP |
dailyreward.tier.default | Default tier access | Everyone |
dailyreward.tier.<id> | Access to any custom tier | Assign manually |
Tier permissions are created automatically when you run
/daily admin createtier <id>. Grant them via your permission plugin (e.g., LuckPerms).
⚙️ Configuration
config.yml
# THIS IS BETA BUILD, CONTACT we_rt ON DISCORD IF ANY BUG OCCURS
# DailyRewardPRO - Main Configuration
# Plugin by we_rt | https://modrinth.com/project/dailyreward-pro
# THIS IS BETA BUILD, CONTACT we_rt ON DISCORD IF ANY BUG OCCURS
timezone: "Europe/Warsaw" # Timezone for daily resets (Java ZoneId)
# Storage: YAML, SQLITE, MYSQL, or MARIADB
storage:
type: YAML
# MySQL/MariaDB settings (when storage.type is MYSQL or MARIADB)
database:
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: ""
pool-size: 10
# Allow players with higher-tier perms to claim lower tiers simultaneously
allow-multiple-tiers: true
# If false, admins must manually grant 'dailyreward.tier.default'
default-tier-auto-permission: true
# After /daily admin set, can the player claim skipped days?
allow-claiming-past-days: false
reminder:
enabled: true
interval: 300 # seconds between reminders
on-join: true # remind on login
update-checker:
enabled: true
notify-admins: true
Creating a New Tier In-Game
/daily admin createtier vip
This generates plugins/DailyRewardPRO/tiers/vip.yml with a full commented template.
Then edit the file to add your rewards, run /daily reload, and grant dailyreward.tier.vip to players.
Tier Config Example (tiers/vip.yml)
name: "&6VIP"
id: "vip"
permission: "dailyreward.tier.vip"
priority: 10 # Higher = shown first in /daily
on-complete:
action: SWITCH_TIER # RESET_TO_1 | SWITCH_TIER
target-tier: "svip"
switch-fail-action: RESET_THIS # RESET_THIS | RESET_MAIN
gui:
title: "&6Daily Rewards | VIP"
rows: 5
status-items:
available:
material: YELLOW_STAINED_GLASS_PANE
name: "&eAvailable!"
hide-locked-lore: true
rewards:
1:
display:
material: GOLD_BLOCK
name: "&6Day 1 - VIP Welcome"
lore:
- "&f • 1x Gold Block"
- "&f • $500"
items:
- material: GOLD_BLOCK
amount: 1
money: 500
commands: []
broadcast: false
2:
display:
material: DIAMOND_SWORD
name: "&6Day 2 - VIP Sword"
items:
- material: DIAMOND_SWORD
amount: 1
enchants:
SHARPNESS: 3
UNBREAKING: 2
money: 750
broadcast: false
📦 Optional Dependencies
| Plugin | Purpose |
|---|---|
| Vault | Economy (money rewards) |
| PlaceholderAPI | Placeholders |
| ItemsAdder | Custom items |
| Oraxen | Custom items |
🛠️ Installation
- Drop
DailyRewardPRO.jarinto yourplugins/folder - Start the server —
plugins/DailyRewardPRO/is created automatically with the default tier - Create new tiers with
/daily admin createtier <name> - Edit reward files in
plugins/DailyRewardPRO/tiers/ - Apply changes with
/daily reload
Support
- contact me on discord nickname: we_rt, only with important bug related things
🌟 License
The source code is not publicly available, but if you want to edit something in the plugin for your own needs, update the plugin to a new version or anything else, contact me on discord nickname: we_rt and we will definitely come to an agreement
Made with ❤️ for the Minecraft community
