Birthday Celebrations

Celebrate your players' birthdays with in-game announcements, a shulker box reward system, Discord webhook integration, and a daily automated birthday check — all fully configurable.

3

Birthday Celebrations

🎂 Birthday Celebrations

Birthday Celebrations brings a fun, community-focused birthday system to your Minecraft server. Players register their birthday once, and the plugin handles the rest - daily announcements, in-game broadcasts, a claimable shulker box reward, and Discord webhook notifications to keep your community in the loop.

---

✨ Features

🎉 Player Birthdays

- Players register their own birthday with `/birthday add <month> <day>` (supports full month names, short names, or numbers) - Birthdays are locked after being set - only admins can make changes - `/birthday` on its own shows a player their registered birthday and lets them claim their reward during their birthday month

🎁 Shulker Box Reward System

- Admins set the birthday reward by holding a filled shulker box and running `/birthday setreward` - The shulker (including all its contents) is serialised and saved - exactly what you put in is what players receive - Optional extra reward commands (e.g. giving in-game currency) can be configured alongside the shulker - Rewards are claimable any time during the player's birthday month, not just on the day itself - Claim tracking is per-year, so players get their reward fresh each year

📣 Automated Daily Announcements

- A configurable daily task fires at a set time (default `08:30`, 24-hour format) and announces all birthdays for that day - Broadcasts both in-game (server-wide message) and to a Discord webhook channel - Fires only once per day - safe against server restarts and lag

💬 Smart Join Notifications

- Players who haven't set their birthday yet get a friendly reminder on join - On join, players are notified of any birthdays happening today - If it's the joining player's own birthday, they receive a personalised welcome message - Players in their birthday month (but not yet claimed) are reminded to collect their present - All join messages use configurable delays so they don't collide with other plugins' join messages

🔔 Discord Integration

- Log webhook - fires the daily birthday announcement to a public channel - Log webhook - records admin actions (birthday set, cleared, updated) and player birthday registrations with colour-coded embeds - Both webhooks are independent and optional - leave either blank to disable

🛠️ Admin Tools

- `/birthday set <player> <month> <day>` - set or override a birthday for any player - `/birthday clear <player>` - remove a player's registered birthday - `/birthday clearclaim <player> <year>` - reset a specific year's claim (useful if a player missed out or needs a re-issue) - `/birthday upcoming` - view all birthdays occurring in the next 30 days, sorted by soonest, with "TODAY" highlighted - `/birthday reload` - reload config and data without restarting

⚙️ Fully Configurable

- All messages customisable via `config.yml` with colour code support - Announcement time configurable in 24-hour HH:MM format - Join message delays configurable (in seconds) to fit your server's join flow - Reward commands list supports any console command with `%player%` placeholder

---

📋 Commands

| Command | Description | Permission | |---|---|---| | `/birthday` | Check status or claim reward | `birthday.use` | | `/birthday add <month> <day>` | Set your birthday | `birthday.use` | | `/birthday set <player> <month> <day>` | Admin: set a player's birthday | `birthday.admin` | | `/birthday clear <player>` | Admin: remove a player's birthday | `birthday.admin` | | `/birthday clearclaim <player> <year>` | Admin: reset a year's claim | `birthday.admin` | | `/birthday setreward` | Admin: save held shulker as reward | `birthday.admin` | | `/birthday upcoming` | Admin: view next 30 days of birthdays | `birthday.admin` | | `/birthday reload` | Admin: reload plugin | `birthday.admin` |

Alias: `/bd`

---

🔒 Permissions

| Permission | Default | Description | |---|---|---| | `birthday.use` | All players | Access to `/birthday` and `/birthday add` | | `birthday.admin` | OP | Access to all admin commands |

---

📦 Installation

1. Drop `BirthdayCelebrations.jar` into your `plugins/` folder 2. Start or reload your server 3. Configure `plugins/BirthdayCelebrations/config.yml` - set your Discord webhooks and announcement time 4. Hold a filled shulker box and run `/birthday setreward` to configure the birthday reward 5. Players can now register their birthdays with `/birthday add <month> <day>`

ADS