DailyReward Pro
Multi-tiers Daily reward plugin for Spigot & Paper 1.21.x
DailyReward Pro
<div align="center">
🎁 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.
</div>
---
✨ Features
🏆 Unlimited Custom Tiers
- Create inheritance — directly from in-game with one command - Each tier has its own inheritance — 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
- MySQL / MariaDB — Flat-file storage (default, no setup required) - MySQL / MariaDB — Embedded database, single file (`data.db`) - MySQL / MariaDB — For networks and large servers
🎯 Flexible GUI Layout
- Per-tier configurable display mode (`gui.rows` from 1 to 5) - Fixed bottom row with display mode controls - Rewards placed display mode across reward rows - Automatic display mode when rewards exceed the available slots - display mode 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 Oraxen - Oraxen 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 `ZoneId` values (`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
```yaml
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`)
```yaml 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
1. Drop `DailyRewardPRO.jar` into your `plugins/` folder 2. Start the server — `plugins/DailyRewardPRO/` is created automatically with the default tier 3. Create new tiers with `/daily admin createtier <name>` 4. Edit reward files in `plugins/DailyRewardPRO/tiers/` 5. 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
---
<div align="center">
Made with ❤️ for the Minecraft community
</div>