Calendar

A reward system for daily entries that works automatically.

48

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

Main Calendar Menu

*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

ADS