ULTIMATE CHRISTMAS PLUGIN
Turn your server into a FULL Christmas + New Year event world ✨
by Oreo Studios
❄ WHAT IS THIS PLUGIN?
This is not “just cosmetics.”
This is a
full event system for your server:
- Shard Economy – custom Christmas currency players grind and spend in a GUI shop
- Interactive Santa NPC – walks around, gives gifts, talks, and announces when he arrives
- Daily Gifts System – per-group configurable rewards (perfect for donor ranks / VIPs)
- Festive Music – play .nbs holiday songs server-wide with a clean selector
- Snowball Villager Event – throw snowballs at villagers for loot and sounds
- Shard Shop GUI – sell custom stat items, console commands, cosmetics, boosters, etc.
- ItemsAdder / MythicMobs / ModelEngine Hooks – works with your custom content
- LuckPerms Group Support – VIPs get better gifts automatically
- Fully Compatible with OreoEssentials!
Why it works:
- Player retention – daily rewards + random Santa events
- Donations – VIP / rank-exclusive loot tables
- Hype – “SANTA IS IN SPAWN RIGHT NOW, GET HERE!!!”
- Christmas vibes – lights, gifts, themed weapons, music
It literally turns December into content. Players will log in every day so they don’t miss rewards.
ery day to not miss rewards.
MAIN FEATURES
1. SHARD ECONOMY
Players earn
Shards (your special Christmas currency) by doing normal gameplay:
mining ores, chopping trees, killing mobs, custom MythicMobs bosses, etc.
You control:
-> How many shards they get
-> The % drop chance
-> Support for vanilla mobs/blocks
-> Support for ItemsAdder blocks
-> Support for MythicMobs mobs
Example config:
Code (YAML):
[SIZE=6
]
[B
]Configuration for Shard earning sources
(Blocks, Vanilla Mobs, ItemsAdder blocks, MythicMobs mobs
)
[/B
]
[/SIZE
]
enable-itemsadder
: false
enable-mythicmobs
: false
blocks:
iron_ore:
shards
: 5
chance
: 0.05
coal_ore:
shards
: 2
chance
: 0.10
oak_log:
shards
: 1
chance
: 1.0
itemsadder-blocks:
christmas:present_block:
shards
: 15
chance
: 0.25
mobs:
zombie:
shards
: 10
chance
: 0.10
spider:
shards
: 5
chance
: 0.20
creeper:
shards
: 20
chance
: 0.05
mythicmobs:
FrostGiant:
shards
: 50
chance
: 0.50
EvilElf:
shards
: 25
chance
: 0.30
So if you already run a survival or RPG server → you don’t have to change your gameplay.
Christmas rewards just “appear” on top of what players are already doing.
Less work for you. More grind for them. They LOVE that.
2. SHARD SHOP GUI ( /shards shop )
Players spend their shards in a 6x9 GUI store.
Click an item → they get a confirmation menu → buy → done.
You can make the shop:
- Give direct custom items with stats, lore, durability, glowing effect
- OR run console commands (skills, permissions, crate keys, etc.)
Basically: you can sell anything.
Config example:
Code (YAML):
[SIZE=6
]
[B
]Configuration for the Shard Shop GUI
[/B
]
[/SIZE
]
shop-title
:
"&6&l Santa's Workshop Store"
items
:
diamond_item:
icon
: DIAMOND
slot
: 10
price
: 100
display_name
:
"&b&lShiny Diamond"
lore
:
-
"&7A classic Christmas treasure!"
-
"&cLimited stock!"
commands
:
-
"give %player% diamond 1"
custom_model_data
: 0
sword_of_light:
icon
: GOLDEN_SWORD
slot
: 12
price
: 500
display_name
:
"&e&lSword of Light"
lore
:
-
"&7Forged in Santa's forge."
-
"&7Grants power against the &aGrinch&7."
-
"&f"
-
"&6+ Custom Damage"
-
"&6+ Attack Speed"
-
"&f"
-
"&7A blade of holy peppermint fury."
attackdamage
: 10
attackspeed
: 10
max_durability
: 42
custom_model_data
: 100
daily_gift_pass:
icon
: KNOWLEDGE_BOOK
slot
: 14
price
: 250
display_name
:
"&6&lExtra Daily Gift"
lore
:
-
"&7Buy another chance for a rare prize!"
-
"&fRedeem this to roll the daily gift again."
-
"&7One-time consumable token."
commands
:
-
"give %player% knowledge_book 1"
custom_model_data
: 201
santa_axe:
icon
: NETHERITE_AXE
slot
: 16
price
: 750
display_name
:
"&4&lSanta's Wrath Axe"
lore
:
-
"&7Ripped from the hands of a"
-
"&cdemonic snow golem &7in 1997."
-
"&f"
-
"&c+ Massive Damage"
-
"&7Slow to swing"
-
"&f"
-
"&4Forged in rage. Wield with care."
attackdamage
: 20
attackspeed
: -2
max_durability
: 25
custom_model_data
: 202
santa_hat:
icon
: LEATHER_HELMET
slot
: 28
price
: 150
display_name
:
"&c&lSanta Hat"
lore
:
-
"&7Wear with pride!"
-
"&fLimited Event Cosmetic"
-
"&f"
-
"&c100% festive certified."
max_durability
: 150
custom_model_data
: 303
diamond_stack:
icon
: DIAMOND
slot
: 30
price
: 800
display_name
:
"&b&lPouch of Diamonds"
lore
:
-
"&7Contains &b16x Diamonds&7."
-
"&7Riches for the generous."
commands
:
-
"give %player% diamond 16"
custom_model_data
: 0
Highlights buyers will like:
- attackdamage / attackspeed → adds real AttributeModifiers to the item.
- max_durability → item shows “Durability: 42 uses left” in lore.
- Items glow (fake Unbreaking, flags hidden) → looks rare, players WANT them.
- You can literally sell P2W gear (if your server allows it) without extra plugins.
3. Fight the Grinch BOSS ! HE IS GOING TO RUIN CHRISTMAS !
Grinchboss.yml:
Code (YAML):
enabled
: true
display_name
:
"&2&lThe Grinch"
# Must be a valid Mojang username with a public skin
skin
:
"L1lius"
stats:
health
: 800
speed
: 0.32
cosmetics:
glowing
: true
thunder
: true
# AI pacing
ai:
tick_rate
: 20
# internal loop tick rate
taunt_every_seconds
: 25
ability_every_seconds
: 12
messages:
spawn_lines
:
-
"&2The Grinch:&7 Ho ho—no. &cNo Christmas this year!"
-
"&2The Grinch:&7 I’ll turn your joy into &2silence&7."
taunts
:
-
"&2The Grinch:&7 Your cheer makes me sick!"
-
"&2The Grinch:&7 I’ll stuff your stockings with sorrow!"
death_lines
:
-
"&aThe Grinch retreats into the blizzard… for now."
# Weighted abilities (higher = more often)
abilities:
roar_knockback:
weight
: 20
snowstorm_slow:
weight
: 30
shadow_dash:
weight
: 25
summon_minions:
weight
: 25
# Rewarding after death
rewarding:
top_contributors
: 5
# reward top N damage dealers
# Weighted reward buckets; each winner gets one bucket
rewards:
shards_big:
chance
: 40
commands
:
-
"shards give %player% 150"
messages
:
-
"&a+150 shards from the Grinch’s stolen stash!"
diamonds:
chance
: 30
commands
:
-
"give %player% diamond 6"
messages
:
-
"&bSix frosty diamonds glitter in your hand."
mythic_key:
chance
: 20
commands
:
-
"crate key give %player% Mythic 1"
messages
:
-
"&dYou received a &lMythic Key&d!"
rare_title:
chance
: 10
commands
:
-
"lp user %player% parent addtemp grinchslayer 7d"
messages:
- "&6Title unlocked
:
&eGrinch Slayer &7
(7d
)
"
# Chest dropped at the death location (filled with Santa presents + optional extras)
loot_chest:
enabled: true
min_gifts: 3
max_gifts: 6
announce: "&aA loot chest appeared at &f
%x%,%y%,%z%&a!"
extra_items:
coal:
material
:
"COAL"
amount
: 8
gold_nuggets:
material
:
"GOLD_NUGGET"
amount
: 16
4. DAILY GIFTS SYSTEM
Every day, players can claim a “daily gift.”
You can define different loot tables per rank (default, VIP, legend, etc.), so donors get better stuff.
That means: this plugin is also a monetization tool.
Example:
Code (YAML):
daily-gifts:
debug
: true
claim:
timezone
:
"Europe/Paris"
# Used for daily reset
reset-hour
: 5
# Day resets at 05:00 in the above timezone
# Advent calendar season settings
calendar:
start:
date
:
"2025-10-30"
# Day 1 of the season
timezone
:
"Europe/Paris"
# Optional override for calendar math
length
: 25
# Number of days (24/25 typical)
# Mapping by DAY SLOT (1..length), relative to start.date
"1"
:
"common_coal"
"2"
:
"rare_money"
"3"
:
"common_coal"
"4"
:
"rare_money"
# Add "5".."25" as you like
# vip:
# "1": "rare_money"
# "2": "rare_money"
messages:
already-claimed
:
"&cYou've already claimed today's reward. Next in &f%remaining%&c."
claimed
:
"&aYou claimed today's reward! &7(Current streak: &f%streak%&7)"
no-reward-config
:
"&cNo gifts configured."
gui:
title
:
"&6&lDaily Gifts"
rows
: 6
rewards_per_page
: 21
border:
enabled
: true
material
: GRAY_STAINED_GLASS_PANE
# Optional exact slots for reward cards (row,col). If omitted, a sensible rectangle is used.
reward_slots
:
-
"1,1"
-
"1,2"
-
"1,3"
-
"1,4"
-
"1,5"
-
"1,6"
-
"1,7"
-
"2,1"
-
"2,2"
-
"2,3"
-
"2,4"
-
"2,5"
-
"2,6"
-
"2,7"
-
"3,1"
-
"3,2"
-
"3,3"
-
"3,4"
-
"3,5"
-
"3,6"
-
"3,7"
prev:
material
: ARROW
next:
material
: ARROW
open:
material
: LIME_WOOL
item:
material
: KNOWLEDGE_BOOK
display_name
:
"&6&lDaily Christmas Gift"
lore
:
-
"&7Right-click to open and claim"
-
"&7your festive reward!"
-
" "
- "&cWarning
: May contain coal.
"
rewards:
default:
common_coal:
chance: 50
icon:
material: COAL
name: "&7common_coal
"
lore:
- "&7Weight
: 50
"
- "&7Commands
:
&f/give
%player% coal 10"
commands
:
-
"give %player% coal 10"
messages
:
-
"&cSanta gave you a lump of coal... you must have been naughty!"
event:
firework
: false
sound
:
"ENTITY_WITCH_DRINK"
# enum-style name works with your code
rare_money:
chance
: 5
icon:
material
: EMERALD
name
:
"&arare_money"
lore:
- "&7Weight
: 5
"
- "&7Commands
:
&f/eco give
%player% 1000"
commands
:
-
"eco give %player% 1000"
-
"shards give %player% 50"
messages
:
-
"&aHO HO HO! You found a rare prize!"
event:
firework
: true
sound
:
"ENTITY_PLAYER_LEVELUP"
# Example extra group:
# vip:
# candy_bundle:
# chance: 40
# icon:
# material: COOKIE
# name: "&dCandy Bundle"
# lore:
# - "&7Weight: 40"
# - "&7VIP bonus cookies!"
# commands:
# - "give %player% cookie 32"
# - "shards give %player% 25"
# messages:
# - "&dVIP bonus: &f+32 cookies &7and &f25 shards&7!"
# event:
# firework: true
# sound: "EXPERIENCE_ORB_PICKUP"
Each “giftX” entry is weighted with
chance.
You can make super rare rewards (1% chance netherite) and players will log in daily to try their luck.
4. SANTA CLAUS NPC (EVENT BOSS BUT WHOLESOME)
Santa is a REAL NPC that appears in your world, walks around, gives presents, and then leaves.
The plugin:
- Spawns him automatically on a timer
- Announces to the whole server when he appears (“Santa has spawned at X,Y,Z!!!”)
- Lets players RIGHT-CLICK him to get randomized gifts
- Auto-despawns him after stay_time
- Supports LibsDisguises skin, WorldGuard region, etc.
You can fully theme him per world / hub / city.
Code (YAML):
# Configuration for the Santa Manager NPC
enabled
: true
debug
: false
# Name/skin to use for the LibsDisguises player disguise.
# This should ideally be a valid Mojang username with a skin.
skin
:
"brcdev"
spawn
:
# WorldGuard region where Santa is allowed to hang out / walk.
# Create this region in the SAME WORLD as the spawn location below.
# /rg define santa_zone
walking_region_id
:
"santa_zone"
# Time in seconds between automatic spawns (after he despawns).
cooldown
: 10
# How long Santa should stay spawned (in seconds) before auto-despawning.
stay_time
: 60
# Message sent to all players when Santa spawns.
# %location% will be replaced with "x,y,z".
spawn-message
:
"&aSanta has spawned at &f%location%&a! Hurry and find him!"
# Message sent to all players when Santa leaves.
leave-message
:
"&cSanta has finished giving gifts and left from &f%location%&c."
# Where Santa can appear.
# The code randomly picks ONE child key under regions.
regions:
santa_plaza:
world
:
"world"
location:
x
: 68.453
y
: 64
z
: -57.745
displayname
:
"&c&lSanta Claus"
gifts:
open_in_region:
enabled
: true
# Accepts one or more WorldGuard region IDs (in the SAME world as the player)
allowed_regions
:
-
"christmas_tree"
-
"winter_square"
# Optional: message when outside
deny_message
:
"&cYou can only open Santa's presents near the Christmas tree!"
drop_item:
material
:
"PLAYER_HEAD"
amount
: 2
head_texture
:
"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTE3YjMwNDExZTUwYWUxNWJiZTg0Yzk0NGY1MWRmNWUxYjRmNTZiM2RiMDg5MjgwYjZkMTVkNDAzNjU5MDYxIn19fQ=="
display_name
:
"&c&lSanta's Present"
lore
:
-
"&7Right-click to open!"
-
"&fContains a random reward"
-
"&fstraight from &cSanta &f"
# The weighted rewards that Santa gives directly
# when a player right-clicks him.
rewards:
cookie_gift
:
# Higher = more common
chance
: 10
commands
:
-
"give %player% cookie 5"
messages
:
-
"&eSanta gave you a freshly baked cookie!"
event:
firework
: false
sound
:
"ENTITY_PLAYER_BURP"
diamond_gift
:
# Higher = more common
chance
: 20
commands
:
-
"give %player% diamond 5"
messages
:
-
"&eSanta gave you a freshly baked cookie!"
event:
firework
: false
sound
:
"ENTITY_PLAYER_BURP"
rare_shard_gift:
chance
: 70
commands
:
-
"shards give %player% 25"
messages
:
-
"&aSanta drops 25 shards into your stocking!"
event:
firework
: true
sound
:
"ENTITY_FIREWORK_ROCKET_LAUNCH"
Why players will scream in chat:
- “SANTA IS AT SPAWN!!”
- “CLICK HIM FAST!!”
- “HE GAVE ME 25 SHARDS OMG”
This is pure dopamine. It creates instant crowd moments on your server.
5. FESTIVE MUSIC SYSTEM
Play .nbs files (NoteBlockAPI) across the server or per-player.
Perfect for hub servers, spawn areas, Christmas lobbies.
Code (YAML):
tracks:
12days:
file
:
"12 days.nbs"
display_name
:
"&a12 Days of Christmas!"
carol:
file
:
"carol_of_the_bells.nbs"
display_name
:
"&bCarol of the Bells"
frosty:
file
:
"frosty_the_snowman.nbs"
display_name
:
"&dFrosty the Snowman!"
You can rename, add/remove songs, change display names in GUI, etc.
Imagine: players join your hub and it’s literally playing Carol of the Bells. Instant mood.
6. SNOWBALL VILLAGER EVENT
A goofy / wholesome minigame:
- Players throw snowballs at a “target villager.”
- They can win cookies, rewards, sounds, fireworks, etc.
- Has a cooldown per player so it doesn’t get abused.
Code (YAML):
villager-shoot:
rewards:
default:
cooldown
: 30
reward1:
chance
: 2
commands
:
- give
%player% minecraft:cookie 1
messages
:
-
"&6You got a cookie for spreading Christmas spirit!"
event:
firework
: false
sound
: ENTITY_EXPERIENCE_ORB_PICKUP
This is perfect for spawn / lobby areas to keep people busy and laughing.
DEPENDENCIES / INTEGRATIONS
->LuckPerms (used for group-based gift tables like default/vip/etc.)
->NoteBlockAPI (for music)
->LibsDisguises (for Santa skin)
OPTIONAL:
ItemsAdder
(optional, for custom block shard drops
MythicMobs / ModelEngine
(optional, shard rewards from bosses)
You do NOT need ItemsAdder or MythicMobs to use the plugin. They’re soft hooks.
Vanilla servers work fine.
[HR][/HR]
WHY YOUR SERVER NEEDS THIS LIKE… NOW
+ player retention
+ server hype
+ donator value
+ content for staff to announce on Discord every day
This is a Christmas / New Year EVENT PACK in 1 plugin
Buy it once → run it every December as your seasonal event.
Your community will start expecting it every year.
That’s how you build tradition.
[/center]