
Calendar | Daily Rewards
A plugin that automatically gives rewards to players based on the number of days they log in during the month. Perfect for boosting daily player activity!
📖 Description
Calendar is an automatic daily login reward system. Players don’t need to open or click anything — rewards are given immediately upon logging into the server. The plugin tracks the number of unique logins each player has during the month and grants the corresponding rewards.
Key Features:
- Auto-award: Rewards are given instantly upon logging in
- Flexible configuration: Set any rewards for any number of logins
- Automatic reset: All players' progress is reset at the beginning of each month
- Simple interface: Players can view their progress and available rewards through a menu
- MiniMessages - Support for MiniMessages formatting for messages and items
⚙️ Commands
For all players:
/calendar— Opens the menu to view the reward calendar and your progress
For administrators (requires calendar.admin permission):
/calendar reload— Reloads the plugin configuration (config.yml, menu, rewards)/calendar resetall— Manually resets login counts for all players
🔧 Permissions Setup
| Permission | Description | Who to grant |
|---|---|---|
calendar.admin | Grants access to admin commands (reload, resetall) | Administrators |
Note: The /calendar command is available to all players by default without needing to grant permissions.
📁 Configuration
config.yml
prefix: "<gray>[<aqua>Calendar</aqua>]</gray>"
messages:
# General messages
new-month: "<gold>New month has started! The daily rewards system has been reset. Log in every day to claim all rewards!"
already-claimed-today: "<yellow>You’ve already claimed a reward today. The next reward can be claimed tomorrow!"
no-inventory-space: "<red>You don’t have enough space in your inventory for the reward! Use <yellow>/calendar</yellow> to claim it later."
all-rewards-claimed: "<gold>Congratulations! You’ve claimed all rewards for this month! See you next month."
progress: "<gray>Your progress: <yellow>{claimed}</yellow>/<gold>{total}</gold> rewards claimed"
item-dropped: "<red>The item {item} fell on the ground due to lack of inventory space!"
...
rewards.yml
This file configures the rewards for specific login days (the reward names and quantities can be customized).
weekday-rewards:
days:
- 1-5
- 8-12
- 15-19
commands:
- give %player% cookie 8
- give %player% experience_bottle 10
- money give %player% 500
message: '<color:#33aaff>You received a reward for day {day}!</color>'
saturday-rewards:
days:
- 6
- 13
- 20
items:
item1:
material: DIAMOND
amount: 3
item2:
material: ENCHANTED_GOLDEN_APPLE
amount: 1
commands:
- money give %player% 500
message: '<gradient:#ffaa00:#ffcc44>You received a reward for day {day}!</gradient>'
...
menu.yml
This file configures the appearance of the calendar interface (the names and quantity within presents can be customized).
title: "<gradient:#6a0dad:#8a2be2>Daily Rewards</gradient>"
# The graphical interface can contain from 1 to 6 rows
rows: 6
# ----- Items -----
filler:
material: BLACK_STAINED_GLASS_PANE
name: ''
slot:
- 0-53
close:
slot: 49
material: BARRIER
name: '<red><bold>Close</bold></red>'
lore: |
<gray>Click here to close!</gray>
presents:
weekday:
slot:
- 1-5
- 10-14
- 19-23
# Which days the menu item is linked to
days:
- 1-5
- 8-12
- 15-19
# Shows when the gift can be claimed
item-claimable:
material: PLAYER_HEAD
texture: eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiN2I5ZTA3YzM1MGJjZDY2MmJjZjNmMTYyNGE1OGU5NjVhNzZlYTAxOTE2ZGQzM2M0NzViZDFmYzg2OTQ3YiJ9fX0=
name: '<gradient:#00ff00:#32cd32><bold>Day {day}</bold></gradient>'
lore: |
<gray>-</gray> <white>Claim your gift!</white>
(10 experience bottles, 500 coins, 8 cookies)
<gradient:#00ff00:#32cd32>Click here to claim</gradient>
# Shows when the gift has already been claimed
item-claimed:
material: GREEN_STAINED_GLASS
name: '<gradient:#008000:#006400><bold>Day {day}</bold></gradient>'
lore: |
<gray>-</gray> <white>You’ve already claimed this gift!</white>
(10 experience bottles, 500 coins, 8 cookies)
<gradient:#008000:#006400>Already claimed</gradient>
# Shows when the gift can’t be claimed
item-unclaimable:
material: YELLOW_STAINED_GLASS
name: '<gradient:#ff3333:#cc0000><bold>Day {day}</bold></gradient>'
lore: |
<gray>-</gray> <white>This gift can be opened in: <gradient:#ff9999:#ff6666>{time}</gradient>!</white>
(10 experience bottles, 500 coins, 8 cookies)
<gradient:#ff3333:#cc0000>Come back later</gradient>
...
How to configure rewards:
In the rewards.yml file, specify the login days and rewards that will be given when that number of logins is reached.
There are two reward formats available:
1. Command-based rewards
2. Item-based rewards
Important Notes:
- Use the
%player%placeholder instead of the player’s name in commands - Any commands that your server understands (including commands from other plugins) are supported
- You can use both formats simultaneously for different days
🖼️ Screenshots

Plugin interface showing players their claimed and future rewards.
📥 Installation
- Download the latest release
- Place the
.jarfile in your server’spluginsfolder - Reload or restart the server (
/reloador full restart) - Configure the plugin according to your needs by editing files in the
plugins/Calendar/folder:config.yml- for message settingsrewards.yml- for reward settingsmenu.yml- for interface settings
- Use
/calendar reloadto apply changes
