A dependency-free daily reward plugin. Players run /daily (or get it on login) to claim a weighted-random reward once per day. Rewards give items and/or run console commands, so money, keys and ranks route through your existing plugins. No Vault.
A dependency-FREE daily reward plugin. Players run /daily to claim, once per
cooldown, a reward picked from a configured pool. Rewards grant items and/or run
console commands, so money, crate keys, ranks, and anything else are handed out
through whatever other plugin you already run - without DailyRewards depending
on Vault or any economy library.
The point: an old daily-reward plugin died when a runtime dependency rotted.
This one has zero external/runtime dependencies - it uses only the Bukkit
API. Nothing to break.
/daily claims a reward once per cooldown (default 24 hours).weighted-random (default), random, or all.{player}cooldowns.yml across restarts.Instead of calling Vault or an economy API at compile time, reward entries can
list console commands. Want to pay 500 coins? Add"eco give {player} 500" to that reward's commands. Want to give a crate key?"crate give {player} vote 1". DailyRewards just dispatches the command as the
console - it does not know or care which plugin handles it, and it will not fail
to load if that plugin is missing (the command simply errors in console and is
logged).
All under /daily (aliases: /dailyreward, /dailyrewards).
| Command | Description |
|---|---|
/daily |
Claim your daily reward. |
/daily give <player> [--force] |
Make a player claim. Runnable from console and command blocks. --force bypasses the cooldown (and does NOT consume the player's real timer). |
/daily reload |
Reload config.yml. |
/daily reset <player> |
Clear a player's cooldown. |
Tab-completion covers subcommands, online player names, and --force.
/daily give <player> is built to run from the server console and from command
blocks, so a scheduler or a returning Geyser setup can hand out rewards. The
target player must be online (items and {player} commands need a live player).--force skips the cooldown check.
Bedrock players via Geyser just run /daily like everyone else - there is no
special handling.
| Permission | Default | Grants |
|---|---|---|
dailyrewards.use |
true | Claim with /daily. |
dailyrewards.admin |
op | give, reload, reset (includes dailyrewards.use). |
The console always passes permission checks, so give/reload/reset work
from console and command blocks out of the box.
config.yml)| Key | Default | Meaning |
|---|---|---|
cooldown-seconds |
86400 |
Seconds between claims per player. |
reward-mode |
weighted-random |
weighted-random, random, or all. |
overflow |
drop |
drop overflow at the player's feet, or deny (skip) it. |
rewards |
(sample pool) | The reward pool - see below. |
messages.* |
(defaults) | All player-facing strings. |
rewards:
- id: rare-gem # identifier (used in logs)
weight: 9 # selection weight for weighted-random (higher = likelier)
items: # optional list of items to give
- material: DIAMOND # Bukkit material name; invalid names are logged + skipped
amount: 2
name: "&bLucky Diamond" # optional, supports & colour codes
lore: # optional
- "&7A rare find."
commands: # optional console commands; {player} = claimer's name
- "say {player} found a gem!"
message: "&bDaily reward: a rare gem!" # optional chat line
weight is only used by weighted-random. A single-entry pool always returns
that entry; if all weights are 0 the plugin falls back to a uniform pick so the
pool still pays out.
Supports & colour codes. Placeholders: {time} (human-readable remaining
cooldown like 5h 12m 3s) and {player}.
prefix, cooldown, claimed, no-reward, overflow-dropped,overflow-denied.
Paper / Spigot / Bukkit / Purpur, Minecraft 1.21.1-1.21.11. One jar, built
against the 1.21.1 API (Java 21, class 65), load-tested on Paper 1.21.11; no
Paper-only classes, no NMS, no dependencies.
plugin.yml (version 1.0.0), and every class is Java-21 bytecode (class 65),/daily give and the item grant require the target to be online. There is/daily reset resolves offline players via the server's offline-player cache,Original concept by u/DiamondKing1437 on Reddit (r/Minecraft). Built by BeansNToast.