Calendario de Adviento | Advent Calendar icon

Calendario de Adviento | Advent Calendar -----

Give your players a gift this holiday season!



English/Spanish Support: This plugin is available in English by default but includes a full Spanish translation switchable via config/menu. (Este plugin incluye traducción al español activable desde el menú o configuración).

AdventCalendar
100% GUI Advent Calendar!
Celebrate Christmas on your server with an easy-to-use, fully configurable daily reward calendar!

Bring the festive spirit to your server with AdventCalendar! This plugin adds a 100% GUI configurable advent calendar. Allow your players to claim a different reward every day of the chosen month (perfect for December!).

It is the easiest way to reward your community and keep them connected during the holidays. Fully compatible from 1.8.x to 1.21.x!

upload_2025-11-10_12-13-57.png

Key Features

⭐️ 100% GUI Reward Editor Add items, money, and commands to each day directly from an admin inventory ( /ca admin).

Multi-Language Support (English/Spanish) The plugin comes with English and Spanish languages out of the box! You can switch the language instantly via config.yml or directly from the Admin Menu. Want more languages? The system is flexible, allowing you to create and load your own custom language files easily!

Total Custom Item Support (NBT) Add items with enchantments, custom color names, and lore. Simply place them in the editing inventory, and the plugin will save them automatically!

✍️ Hybrid Configuration! Prefer editing config.yml by hand? No problem! The GUI editor saves items in a simple text format (e.g., DIAMOND_SWORD 1 name:&cSword enchant:sharpness:5) so you can edit via file or in-game, however you prefer.

EXAMPLE:
Code (YAML):
rewards :  day1 :    items :    - DIAMOND 10     - DIAMOND_SWORD 1 name:&cEspada_Maestra enchant:sharpness:5 lore:&7Linea_1|&9Linea_2     money : 100.0     commands :    - "say ¡Feliz día 1, %player%!"     slots-required : 2   day2 :    items :    - IRON_SWORD 1     money : 50.0     commands : [ ]     slots-required : 1   day3 :    items : [ ]     money : 0.0     commands : [ ]     slots-required : 0   day4 :    items :    - NETHERITE_INGOT 5     money : 10000.0     commands :    - "tellraw %player% {"text ":"¡Feliz Navidad! ","color ":"red ","bold ":true}"     slots-required : 1

⚙️ Admin Control Panel (/ca admin) Configure everything from a menu:

  • Switch Languages: Toggle between English and Spanish or select custom languages.

  • Choose the calendar month: (1-12).

  • 25-Day Mode: Activate day 25 (default is 24 days).

  • Past Claims: Allow (or disallow) players to claim rewards from previous days.

  • Toggle Preview: Enable or disable reward previewing.
Configurable Preview Players can right-click to see what’s inside the gift. You can disable this in config.yml to keep it a surprise!

Lost Rewards Menu A special button in the /ca menu takes players to an inventory where they can see all the days they forgot to claim.

Lost Rewards Preview Your players can see what they missed! By right-clicking on a lost gift (in the main menu or lost rewards menu), they can view the rewards, even if normal previews are disabled.

Reminder Message A fully configurable message reminds players upon joining that they haven't claimed their daily reward yet.

upload_2025-11-10_12-20-41.png

Commands and Permissions Player Commands

/ca Description: Opens the Advent Calendar menu. Permission: adventcalendar.open (true by default)

Admin Commands /ca help Description: Shows all admin commands.

/ca admin Description: Opens the main control panel to configure the plugin.

/ca reload Description: Reloads the config.yml and menu.yml files.

/ca preview Description: Opens the calendar in admin mode to test claims.

/ca check <day> Description: Shows the configured rewards for a specific day in the chat.

/ca playerdata clear <player|all> Description: Clears claim data for a specific player or all players.

/ca cancelar Description: Cancels a pending text entry (e.g., when inputting money amounts).

Permissions adventcalendar.open Description: Allows players to open the calendar with /ca.

adventcalendar.admin Description: Allows access to all administrator commands.

Dependencies This plugin has 2 mandatory dependencies:

  1. Vault: (Required!) Necessary for money rewards to work.

  2. Paper (or forks): (Required!) This plugin uses the Paper API for custom heads and other advanced features. IT WILL NOT WORK ON SPIGOT!
️ Files
# -------------------------------------------------------------------------
# ADVENT CALENDAR - MAIN CONFIGURATION
# -------------------------------------------------------------------------

# Prefix displayed before plugin messages
prefix: "&e&lAdventCalendar &8» "

# Language to use (must match a file in the /lang folder, e.g., 'en' or 'es')
lang: "en"

settings:
# The month utilized by the calendar (1 = January, 12 = December)
calendar-month: 12

# Time Zone for calculating the start and end of the day.
# List: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
zone-id: "UTC"

# "true": Allows claiming past days that the player missed.
# "false": If the day passes, the reward is forfeited permanently.
allow-expired-claims: false

# "true": Right-click allows previewing the contents of the gift.
# "false": Displays a "It is a surprise" message instead.
preview-rewards: false

# Maximum number of claims allowed per IP address (-1 to disable).
max-claims-per-ip: 3

# "true": Enables Day 25. "false": Concludes on Day 24.
enable-25-days: false

# "true": Displays the day number as the item stack amount (Heads stacked 1 to 24).
# "false": All heads are displayed with a stack amount of 1.
display-day-numbers: true

# -------------------------------------------------------------------------
# HEAD TEXTURES (BASE64)
# -------------------------------------------------------------------------
head-textures:
red-closed: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDUzNjhmNTYzNWZmNmMzNDA3ZjBmMzU2YzViNmUwOTQ3YmNkNWUzODQ5MGM5YWE4YjhiNTgyYTRmMjFhZTNjYiJ9fX0="
red-open: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzgyOTM0YmVkNWIzN2I1OGQzZDhlNTdlZGU1ZWVkN2Q5NDI1MTlkZGI2NTBhZDA3NjQzNWM2ZTU5ZjhhMzU2ZCJ9fX0="
green-closed: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmIxZWM3ZGM3NTMwNjFjYTE3NDQyNGVhNDVjZjk0OTBiMzljZDVkY2NhNDc3ZDEzOGE2MDNlNmJlNzU1ZWM3MiJ9fX0="
green-open: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWRmN2UzOGIzNmNiOTAyYjc4MGVmZjM5YWQ4ZDdmN2ZlM2NiZjU0MGI4MTQ1Yzg2NzkyMjg3MzliNTlkMzBhNyJ9fX0="
money-bag: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTVmZDY3ZDU2ZmZjNTNmYjM2MGExNzg3OWQ5YjUzMzhkNzMzMmQ4ZjEyOTQ5MWE1ZTE3ZThkNmU4YWVhNmMzYSJ9fX0="

# -------------------------------------------------------------------------
# REWARDS (CAN BE EDITED IN-GAME VIA /ca admin)
# -------------------------------------------------------------------------
rewards:
day1:
items: []
money: 0.0
commands: []
slots-required: 0
day2:
items: []
money: 0.0
commands: []
slots-required: 0
day3:
items: []
money: 0.0
commands: []
slots-required: 0
day4:
items: []
money: 0.0
commands: []
slots-required: 0
day5:
items: []
money: 0.0
commands: []
slots-required: 0
day6:
items: []
money: 0.0
commands: []
slots-required: 0
day7:
items: []
money: 0.0
commands: []
slots-required: 0
day8:
items: []
money: 0.0
commands: []
slots-required: 0
day9:
items: []
money: 0.0
commands: []
slots-required: 0
day10:
items: []
money: 0.0
commands: []
slots-required: 0
day11:
items:
- IRON_SWORD 1
money: 50.0
commands: []
slots-required: 1
day12:
items: []
money: 0.0
commands: []
slots-required: 0
day13:
items: []
money: 0.0
commands: []
slots-required: 0
day14:
items: []
money: 0.0
commands: []
slots-required: 0
day15:
items: []
money: 0.0
commands: []
slots-required: 0
day16:
items: []
money: 0.0
commands: []
slots-required: 0
day17:
items: []
money: 0.0
commands: []
slots-required: 0
day18:
items: []
money: 0.0
commands: []
slots-required: 0
day19:
items: []
money: 0.0
commands: []
slots-required: 0
day20:
items: []
money: 0.0
commands: []
slots-required: 0
day21:
items: []
money: 0.0
commands: []
slots-required: 0
day22:
items: []
money: 0.0
commands: []
slots-required: 0
day23:
items: []
money: 0.0
commands: []
slots-required: 0
day24:
items: []
money: 0.0
commands: []
slots-required: 0
# if enabled
day25:
items: []
money: 0.0
commands: []
slots-required: 0
# Menu Configuration
menu:
# Titles are configured in the lang files (es.yml or en.yml)
# These values act as fallbacks only
title: "&c&lAdventCalendar"
preview-calendar-title: "&a[Preview] Advent Calendar"
size: 54
preview-title: "&2Day %day% Rewards"

# Material used for filling empty slots
filler-material: "LIGHT_BLUE_STAINED_GLASS_PANE"

# Buttons and decoration
layout:
# Filler Item
filler:
material: "FILLER_PLACEHOLDER"
name: " "
lore: []

# Lost rewards button
lost_rewards_button:
material: BARRIER
name: "&cLost Rewards" # Configured in lang file
lore: [] # Configured in lang file
slot: 45

# Close button
close_button:
material: OAK_DOOR
name: "&cClose Menu" # Configured in lang file
lore: []
slot: 53

# Back button
back-button:
material: ARROW
name: "&aBack to Calendar" # Configured in lang file
lore: []

# Reset preview button (Admin only)
preview_reset_button:
material: REDSTONE_BLOCK
name: "&cReset Preview" # Configured in lang file
lore: []
slot: 49

# Surprise item (When preview is disabled)
surprise-item:
material: BARRIER
name: "SURPRISE" # Configured in lang file
lore: []

# Lost rewards menu configuration
lost-rewards-menu:
size: 54
back-button-slot: 49
# Translation file for English

messages:
no-permission: "&cYou do not have permission to execute this command."
reload-success: "&aConfiguration files reloaded successfully!"
reload-fail: "&cError reloading files! Check console."
unknown-command: "&cUnknown command. Use: /ca help"

# Player Data
playerdata-cleared-all: "&aAll player data has been cleared!"
playerdata-confirm-all: "&cWARNING! &7This will clear progress for EVERYONE. Run command again within 30 seconds to confirm."
playerdata-not-found: "&cNo data found for player %player%."
playerdata-cleared-single: "&aData cleared for player %player%."

# Check command
check-header: "&a--- Day %day% Rewards (Advent) ---"
check-no-items: "&eItems: &7None"
check-money: "&eMoney: &7%amount%"
check-commands-header: "&eCommands:"
check-no-commands: "&eCommands: &7None"

# Errors and Actions
error-already-claimed: "&cYou have already claimed this reward!"
error-not-month: "&cThis is not the correct month for the calendar!"
error-ip-limit: "&cClaim limit reached for your IP address!"
error-inventory-full: "&cYour inventory is full! You need %slots% free slots."
claim-message: "&aYou claimed the reward for Day %day%!"
error-day-lost: "&cDay %day% has passed and you missed it!"
error-day-not-yet: "&cIt is not Day %day% yet! Come back in %month%."

# Chat Inputs (Timer)
input-prompt-month: "&aType the month number (1-12) in chat:"
input-prompt-money: "&aType the money amount (e.g., 1000.50) in chat:"
input-prompt-slots: "&aType the required inventory slots (e.g., 5) in chat:"
input-prompt-add-cmd: "&aType the command to &eADD&a (no /, use %player%):"
input-prompt-remove-cmd: "&aType the command to &cREMOVE&a (exactly as is):"
input-timer-start: "&7You have 120 seconds. Type 'cancel' to abort."
input-timeout: "&cTime expired!"
input-cancelled: "&eYou have cancelled the input."
input-cancelled-command: "&eInput cancelled."
no-pending-input: "&cYou have no pending text input."

# Notifications
pending-reward-message:
- "&aHello %player%! You have an Advent reward available for today (Day %day%)."
- "&eUse /adventcalendar to claim it!"
reward-item-message: "&aYou received: &f%item_name% &7x%amount%"
reward-money-message: "&aYou received: &e$%money%"
no-lost-rewards: "&aYou have no pending lost rewards!"
no-visible-rewards: "&cNo Visible Rewards"

# Message Inventory Titles
surprise-title: "&8It's a Surprise!"
lost-rewards-title: "&cLost Rewards"
surprise-item-name: "&e??? &6Surprise &e???"
surprise-item-lore:
- "&7You cannot see this until you claim it!"

# Main GUI Titles
gui:
calendar-title: "&c&lAdvent Calendar"
preview-calendar-title: "&a[Admin] Calendar"
preview-day-title: "&2Day %day% Rewards"

# Admin Panel Titles
admin-gui:
main-title: "&4&lAdmin Panel"
calendar-title: "&4Admin - Assign Rewards"
edit-day-title: "&4Edit Day %day%"
edit-item-title: "&4Edit Items - Day %day%"

# Items inside Admin Panel
admin-items:
change-month:
name: "&aChange Calendar Month"
toggle-25-days:
name: "&aToggle 25 Days Mode"
toggle-expired:
name: "&aAllow Lost Rewards"
toggle-preview:
name: "&aToggle Reward Preview"
assign-rewards:
name: "&6Assign Rewards"
change-language:
name: "&aChange Language / Idioma"
goto-preview:
name: "&bGo to Preview (User)"
close:
name: "&cClose"
edit-money:
name: "&6Edit Money"
current-rewards:
name: "&bCurrent Rewards (Day %day%)"
required-slots:
name: "&bRequired Inventory Slots"
edit-items:
name: "&aEdit Items (Inventory)"
add-command:
name: "&aAdd Command"
remove-command:
name: "&cRemove Command"

# Calendar Item Translations (Heads)
items:
day-claimed:
name: "&aDay %day% - Claimed"
lore:
- "&7You have already claimed this!"
day-available:
name: "&eDay %day% - Available!"
lore:
- "&eLeft Click to claim!"
- "&7Right Click to preview."
day-lost:
name: "&cDay %day% - Lost"
lore:
- "&cReward lost!"
- "&7You missed Day %day%."
- "&eRight Click to preview."
day-locked:
name: "&7Day %day% - Locked"
lore:
- "&7Not available yet."
- "&7Come back on %month% %day%."
money-reward:
name: "&6Money"

# Layout Button Translations (menu.yml)
layout:
lost_rewards_button:
name: "&cLost Rewards"
lore:
- "&7Make sure to connect"
- "&7every day in %month%!"
close_button:
name: "&cClose Menu"
lore: []
back-button:
name: "&aBack to Calendar"
lore: []
preview_reset_button:
name: "&cReset Preview"
lore:
- "&7Closes all gifts"
- "&7opened in this preview."
filler:
name: " "
lore: []

# Month Names
month-names:
1: "January"
2: "February"
3: "March"
4: "April"
5: "May"
6: "June"
7: "July"
8: "August"
9: "September"
10: "October"
11: "November"
12: "December"
# Archivo de traducción al Español

messages:
no-permission: "&cNo tienes permiso para ejecutar este comando."
reload-success: "&a¡Archivos de configuración recargados correctamente!"
reload-fail: "&c¡Error al recargar! Revisa la consola."
unknown-command: "&cComando desconocido. Usa: /ca help"

# Player Data
playerdata-cleared-all: "&a¡Se han borrado los datos de TODOS los jugadores!"
playerdata-confirm-all: "&c¡ADVERTENCIA! &7Esto borrará el progreso de TODOS. Ejecuta el comando de nuevo en 30 segundos para confirmar."
playerdata-not-found: "&cNo se encontraron datos para el jugador %player%."
playerdata-cleared-single: "&aDatos borrados para el jugador %player%."

# Check command
check-header: "&a--- Recompensas Día %day% (Adviento) ---"
check-no-items: "&eÍtems: &7Ninguno"
check-money: "&eDinero: &7%amount%"
check-commands-header: "&eComandos:"
check-no-commands: "&eComandos: &7Ninguno"

# Errores y Acciones
error-already-claimed: "&c¡Ya reclamaste esta recompensa!"
error-not-month: "&c¡Este no es el mes correcto para el calendario!"
error-ip-limit: "&c¡Límite de reclamos alcanzado para tu dirección IP!"
error-inventory-full: "&c¡Tu inventario está lleno! Necesitas %slots% espacios libres."
claim-message: "&a¡Has reclamado la recompensa del Día %day%!"
error-day-lost: "&c¡El Día %day% ya pasó y lo perdiste!"
error-day-not-yet: "&c¡Aún no es el Día %day%! Vuelve en %month%."

# Inputs de Chat (Temporizador)
input-prompt-month: "&aEscribe el número del mes (1-12) en el chat:"
input-prompt-money: "&aEscribe la cantidad de dinero (ej: 1000.50) en el chat:"
input-prompt-slots: "&aEscribe el número de slots de inventario requeridos (ej: 5) en el chat:"
input-prompt-add-cmd: "&aEscribe el comando a &eAÑADIR&a (sin /, usa %player%):"
input-prompt-remove-cmd: "&aEscribe el comando a &cELIMINAR&a (exactamente como está):"
input-timer-start: "&7Tienes 120 segundos. Escribe 'cancelar' para anular."
input-timeout: "&c¡Tiempo expirado!"
input-cancelled: "&eHas cancelado la entrada de texto."
input-cancelled-command: "&eEntrada cancelada."
no-pending-input: "&cNo tienes ninguna entrada de texto pendiente."

# Notificaciones
pending-reward-message:
- "&a¡Hola %player%! Tienes una recompensa de Adviento disponible hoy (Día %day%)."
- "&e¡Usa /calendarioadviento para reclamarla!"
reward-item-message: "&aRecibiste: &f%item_name% &7x%amount%"
reward-money-message: "&aRecibiste: &e$%money%"
no-lost-rewards: "&a¡No tienes recompensas perdidas pendientes!"
no-visible-rewards: "&cSin Recompensas Visibles"

# Títulos de Inventarios de Mensaje
surprise-title: "&8¡Es una Sorpresa!"
lost-rewards-title: "&cRecompensas Perdidas"
surprise-item-name: "&e??? &6Sorpresa &e???"
surprise-item-lore:
- "&7¡No puedes ver esto hasta que lo reclames!"

# Títulos de los GUIs Principales
gui:
calendar-title: "&c&lCalendario de Adviento"
preview-calendar-title: "&a[Admin] Calendario"
preview-day-title: "&2Recompensas del Día %day%"

# Títulos del Panel de Admin
admin-gui:
main-title: "&4&lPanel de Admin"
calendar-title: "&4Admin - Asignar Recompensas"
edit-day-title: "&4Editar Día %day%"
edit-item-title: "&4Editar Ítems - Día %day%"

# Ítems dentro del Panel de Admin
admin-items:
change-month:
name: "&aCambiar Mes del Calendario"
toggle-25-days:
name: "&aModo 25 Días"
toggle-expired:
name: "&aPermitir Recompensas Perdidas"
toggle-preview:
name: "&aActivar Vista Previa"
assign-rewards:
name: "&6Asignar Recompensas"
change-language:
name: "&aCambiar Idioma / Language"
goto-preview:
name: "&bIr a Vista Previa (Usuario)"
close:
name: "&cCerrar"
edit-money:
name: "&6Editar Dinero"
current-rewards:
name: "&bRecompensas Actuales (Día %day%)"
required-slots:
name: "&bSlots de Inventario Requeridos"
edit-items:
name: "&aEditar Ítems (Inventario)"
add-command:
name: "&aAñadir Comando"
remove-command:
name: "&cEliminar Comando"

# Traducción de los ítems del Calendario (Cabezas)
items:
day-claimed:
name: "&aDía %day% - Reclamado"
lore:
- "&7¡Ya reclamaste esta recompensa!"
day-available:
name: "&eDía %day% - ¡Disponible!"
lore:
- "&e¡Clic Izquierdo para reclamar!"
- "&7Clic Derecho para previsualizar."
day-lost:
name: "&cDía %day% - Perdido"
lore:
- "&c¡Recompensa perdida!"
- "&7No reclamaste esto el Día %day%."
- "&eClic Derecho para previsualizar."
day-locked:
name: "&7Día %day% - No disponible"
lore:
- "&7No disponible aún."
- "&7Vuelve el %day% de %month%."
money-reward:
name: "&6Dinero"

# Traducción de los botones del Layout (menu.yml)
layout:
lost_rewards_button:
name: "&cRecompensas Perdidas"
lore:
- "&7¡Asegúrate de conectarte"
- "&7cada día de %month%!"
close_button:
name: "&cCerrar Menú"
lore: []
back-button:
name: "&aVolver al Calendario"
lore: []
preview_reset_button:
name: "&cResetear Vista Previa"
lore:
- "&7Cierra todos los regalos"
- "&7abiertos en esta vista previa."
filler:
name: " "
lore: []

# Nombres de los meses
month-names:
1: "Enero"
2: "Febrero"
3: "Marzo"
4: "Abril"
5: "Mayo"
6: "Junio"
7: "Julio"
8: "Agosto"
9: "Septiembre"
10: "Octubre"
11: "Noviembre"
12: "Diciembre"
Resource Information
Author:
----------
Total Downloads: 33
First Release: Nov 10, 2025
Last Update: Today at 3:29 AM
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings