DailyReward Pro

Multi-tiers Daily reward plugin for Spigot & Paper 1.21.x

153

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>

ADS