Calendar
A reward system for daily entries that works automatically.
Calendar
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.
MiniMessages - MiniMessages: Rewards are given instantly upon logging in - MiniMessages: Set any rewards for any number of logins - MiniMessages: All players' progress is reset at the beginning of each month - MiniMessages: 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
```yaml 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).
```yaml 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).
```yaml 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
1. Download the latest release 2. Place the `.jar` file in your server’s `plugins` folder 3. Reload or restart the server (`/reload` or full restart) 4. Configure the plugin according to your needs by editing files in the `plugins/Calendar/` folder: - `config.yml` - for message settings - `rewards.yml` - for reward settings - `menu.yml` - for interface settings 5. Use `/calendar reload` to apply changes