✨ QSkits - Plugin de Kits para Spigot ✨
Versión actual: v3.4 | Compatibilidad: Spigot / Paper 1.21.1+
Autor: QUESITO_ECU | Requiere: Vault + PlaceholderAPI
QSkits es un plugin de kits totalmente configurable para servidores Spigot.
Permite crear, editar y administrar kits fácilmente mediante comandos o una interfaz gráfica intuitiva.
Compatible con Java Edition y Bedrock (Geyser / Floodgate).
---
Últimas Mejoras (v2.0.0)
- ✔ Compatibilidad con jugadores Bedrock:
Los menús y submenús ahora son totalmente visibles para usuarios que ingresan desde Bedrock (Geyser / Floodgate), adaptando colores y textos para una visualización correcta.
- ✔ Submenú dinámico y accesible:
El sistema de menús se optimizó para mostrar correctamente los kits, su previsualización, y las acciones disponibles según permisos, cooldown y requisitos.
- ✔ Corrección del kit inicial duplicado:
El kit de primer ingreso ahora se entrega solo una vez por jugador, incluso tras reinicios del servidor.
- ✔ Retroalimentación sonora y visual:
Sonidos y mensajes configurables para cada situación: sin permisos, cooldown, requisitos no cumplidos o éxito al reclamar el kit.
- ✔ Acciones automáticas en los kits:
Los kits pueden ejecutar comandos, mostrar títulos, reproducir sonidos y enviar mensajes al ser reclamados.
✨ Una experiencia fluida, personalizable y compatible con todas las plataformas. ✨
---
️ 1. Comandos
- /qskit - Abre el menú principal de kits.
- /qskit create <nombre> - Crea un kit con tu inventario actual.
- /qskit give <nombre> - Reclama un kit.
- /qskit give <nombre> <jugador> - Da un kit a otro jugador.
- /qskit delete <nombre> - Elimina un kit existente.
- /qskit resetcooldown <kit> <jugador> - Resetea el cooldown de un kit.
- /qskit list - Lista los kits disponibles.
- /qskit reload - Recarga la configuración.
- /qskit help - Muestra esta ayuda.
2. Permisos
- qskit.use: Permite abrir el menú principal.
- qskit.create: Crear kits.
- qskit.edit: Editar kits desde la GUI.
- qskit.give: Reclamar kits.
- qskit.give.others: Dar kits a otros jugadores.
- qskit.resetcooldown: Resetear cooldowns.
- qskit.list: Listar kits.
- qskit.help: Ver ayuda.
- qskit.nocooldown: Ignorar cooldowns.
- qskit.reload: Recargar el plugin.
- qskit.delete: Eliminar kits.
⚙️ 3. Ejemplo de Configuración de Kit (normal.yml)
Spoiler: Ejemplo básico de kit
cooldown : 3600 # tiempo en segundos
permission_required : false
price : 20.0
display:
can_use:
material : CHEST
name : '&anormal Kit (Disponible )'
lore :
- '&fPuedes reclamar este kit.'
no_permission:
material : BARRIER
name : '&cnormal Kit (Sin permiso )'
lore :
- '&fNo tienes permiso para usar este kit.'
on_cooldown:
material : TNT
name : '&enormal Kit (En cooldown )'
lore :
- '&fDebes esperar %time% para reclamar este kit nuevamente.'
items:
'2':
type : NETHERITE_SWORD
amount : 1
enchants:
sharpness : 10
'3':
type : REDSTONE_BLOCK
amount : 64
Code (YAML):
cooldown : 3600 # tiempo en segundos
permission_required : false
price : 20.0
display:
can_use:
material : CHEST
name : '&anormal Kit (Disponible )'
lore :
- '&fPuedes reclamar este kit.'
no_permission:
material : BARRIER
name : '&cnormal Kit (Sin permiso )'
lore :
- '&fNo tienes permiso para usar este kit.'
on_cooldown:
material : TNT
name : '&enormal Kit (En cooldown )'
lore :
- '&fDebes esperar %time% para reclamar este kit nuevamente.'
items:
'2':
type : NETHERITE_SWORD
amount : 1
enchants:
sharpness : 10
'3':
type : REDSTONE_BLOCK
amount : 64
---
⚡ 3.1 Ejemplo Avanzado de Kit (vip.yml)
Este ejemplo muestra cómo configurar un kit con requisitos, acciones automáticas y visualización avanzada.
Spoiler: Ejemplo completo de vip.yml
cooldown : 2592000 # 30 días
permission_required : true
requirements :
' %player_level%':
value : 6
name : '&e➤ &a&lNivel'
display:
can_use:
material : CHEST
name : '&aVip Kit (Disponible )'
lore :
- '&fPuedes reclamar este kit.'
no_permission:
material : BARRIER
name : '&cVip Kit (Sin permiso )'
lore :
- '&fNo tienes permiso para usar este kit.'
on_cooldown:
material : TNT
name : '&eVip Kit (En espera )'
lore :
- '&c&lDebes esperar %time%'
- '&c&lpara reclamar este kit nuevamente.'
on_requirements:
material : REDSTONE
name : '&6&lKit Vip'
lore :
- '&cRequerimientos:'
- '&7Nivel mínimo requerido : &e6'
actions :
- ' [console ] xp take %player% 6l'
- ' [player ] me ha reclamado el kit %kit%'
- ' [message ] &aHas recibido el kit &e %kit%!'
- ' [title ] &6¡Kit %kit%!;&eDisfrútalo!'
- ' [sound ] ENTITY_PLAYER_LEVELUP,1,1'
items:
'0':
type : IRON_INGOT
amount : 64
'1':
type : GOLD_INGOT
amount : 64
'2':
type : ENCHANTED_GOLDEN_APPLE
amount : 4
Code (YAML):
cooldown : 2592000 # 30 días
permission_required : true
requirements :
' %player_level%':
value : 6
name : '&e➤ &a&lNivel'
display:
can_use:
material : CHEST
name : '&aVip Kit (Disponible )'
lore :
- '&fPuedes reclamar este kit.'
no_permission:
material : BARRIER
name : '&cVip Kit (Sin permiso )'
lore :
- '&fNo tienes permiso para usar este kit.'
on_cooldown:
material : TNT
name : '&eVip Kit (En espera )'
lore :
- '&c&lDebes esperar %time%'
- '&c&lpara reclamar este kit nuevamente.'
on_requirements:
material : REDSTONE
name : '&6&lKit Vip'
lore :
- '&cRequerimientos:'
- '&7Nivel mínimo requerido : &e6'
actions :
- ' [console ] xp take %player% 6l'
- ' [player ] me ha reclamado el kit %kit%'
- ' [message ] &aHas recibido el kit &e %kit%!'
- ' [title ] &6¡Kit %kit%!;&eDisfrútalo!'
- ' [sound ] ENTITY_PLAYER_LEVELUP,1,1'
items:
'0':
type : IRON_INGOT
amount : 64
'1':
type : GOLD_INGOT
amount : 64
'2':
type : ENCHANTED_GOLDEN_APPLE
amount : 4
- cooldown: Tiempo que debe esperar el jugador antes de volver a reclamar el kit.
- requirements: Requisitos personalizados usando PlaceholderAPI (por ejemplo, nivel del jugador).
- display: Define la apariencia del kit en el menú según el estado del jugador.
- actions: Permite ejecutar comandos, sonidos, mensajes o títulos al reclamar el kit.
- items: Lista de objetos que el kit entrega.
4. Menús Configurables (menu.yml)
El archivo menu.yml permite personalizar completamente cómo se mostrarán los menús de kits.
Cada menú puede tener su propio título, tamaño, botones de navegación, decoraciones (fillers) y los kits que aparecerán en él.
Puedes crear diferentes menús para categorías como “Kits Normales”, “Kits VIP” o “Kits Especiales”.
- buttons: Botones que permiten navegar entre menús (usa `opens_menu` para vincularlos).
- fillers: Decoraciones visuales que rellenan espacios vacíos del inventario.
- kits: Asigna kits a slots específicos dentro del menú.
Recomendaciones:
- Usa nombres de menú en formato menu_nombre para mantenerlos organizados.
- No dejes espacios vacíos entre secciones ni alteres la indentación YAML.
- Los menús se actualizan automáticamente al recargar el plugin con `/qskit reload`.
- Puedes editar visualmente la posición de los kits con `/kit edit <nombre>`.
---
Spoiler: Ejemplo: Crear un nuevo menú legendario
menu_legendario:
title : ' &6Menú de Kits Legendario'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Especial'
slot : 51
opens_menu : menu_especial
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
normal : 10
Code (YAML):
menu_legendario:
title : ' &6Menú de Kits Legendario'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Especial'
slot : 51
opens_menu : menu_especial
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
normal : 10
---
Spoiler: Ejemplo completo del menu.yml
menu:
title : ' &6Menú de Kits'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Especial'
slot : 51
opens_menu : menu_especial
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
normal : 10
# Menú de Kits VIP
menu_vip:
title : ' &bMenú de Kits VIP'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú Especial'
slot : 50
opens_menu : menu_especial
- material : GOLD_INGOT
name : '&6Ir a Menú Normal'
slot : 51
opens_menu : menu
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
vip : 10
# Menú de Kits Especiales
menu_especial:
title : ' &bMenú de Kits Especial'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Normal'
slot : 51
opens_menu : menu
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
campesino : 10
# Previsualización de kits
preview:
title : '&aPrevisualización de Kit : &e%kit%'
size : 54
fillers:
- material : GRAY_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
close_button:
material : BARRIER
name : '&cCerrar Previsualización'
slot : 53
Code (YAML):
menu:
title : ' &6Menú de Kits'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Especial'
slot : 51
opens_menu : menu_especial
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
normal : 10
# Menú de Kits VIP
menu_vip:
title : ' &bMenú de Kits VIP'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú Especial'
slot : 50
opens_menu : menu_especial
- material : GOLD_INGOT
name : '&6Ir a Menú Normal'
slot : 51
opens_menu : menu
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
vip : 10
# Menú de Kits Especiales
menu_especial:
title : ' &bMenú de Kits Especial'
size : 54
buttons:
- material : DIAMOND
name : '&bIr a Menú VIP'
slot : 50
opens_menu : menu_vip
- material : GOLD_INGOT
name : '&6Ir a Menú Normal'
slot : 51
opens_menu : menu
fillers:
- material : BLACK_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- material : BLUE_STAINED_GLASS_PANE
name : ' '
slots :
- 9
- 17
- 18
- 26
- 27
- material : RED_STAINED_GLASS_PANE
name : ' '
slots :
- 35
- 36
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
kits:
campesino : 10
# Previsualización de kits
preview:
title : '&aPrevisualización de Kit : &e%kit%'
size : 54
fillers:
- material : GRAY_STAINED_GLASS_PANE
name : ' '
slots :
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
close_button:
material : BARRIER
name : '&cCerrar Previsualización'
slot : 53
---
✨ Los menús son completamente personalizables: cambia materiales, colores, títulos y organiza tus kits de la manera que prefieras. ✨
---
5. Mensajes Personalizables (mensajes.yml)
Todos los mensajes de QSkits se pueden traducir y personalizar libremente desde el archivo mensajes.yml.
Puedes usar códigos de color de Minecraft (& o §) y placeholders especiales para mostrar información dinámica.
- Archivo: plugins/QSkits/mensajes.yml
- Colores soportados: usa los códigos &a, &b, &c, etc. (ver sección de colores más arriba)
- ️ Placeholders disponibles:
%kit%, %time%, %player%, %required%, %free%, %price%, %slot%, %menu%
Consejo:
Usa un estilo coherente con el tema de tu servidor. Puedes añadir íconos, emojis y colores para hacerlo más visual.
---
Spoiler: Ejemplo completo de mensajes.yml
# Mensajes Personalizables de QSkits
# Placeholders disponibles: %kit%, %time%, %player%, %required%, %free%, %price%, %slot%, %menu%
kit_cooldown_sender : "&cEl jugador %player% debe esperar %time% antes de recibir este kit."
kit_cooldown_target : "&cDebes esperar %time% para volver a usar este kit."
kit_no_space_sender : "&cEl jugador %player% no tiene suficiente espacio para el kit."
kit_no_space_target : "&cNo tienes suficiente espacio en tu inventario."
kit_given_sender : "&aLe diste el kit &6%kit% &aa &e%player%."
kit_given_target : "&aHas recibido el kit &6%kit%!"
no_permission : "&c❌ No tienes permiso para usar este kit."
cooldown : "&e⏳ Este kit está en cooldown, debes esperar %time%."
kit_given : "&a✅ Has recibido el kit &e%kit% &acorresctamente."
kit_not_found : "&c❌ Kit no encontrado: &e%kit%"
no_inventory_space : "&cNo tienes suficiente espacio en tu inventario. Requiere %required% espacios, tienes %free%."
no_money : "&c❌ No tienes suficiente dinero para reclamar este kit. Precio: $%price%"
paid_kit : "&a Has pagado $%price% por el kit."
slot_occupied : "&c❌ El slot %slot% ya está ocupado por el kit '%kit%' en '%menu%'."
kit_updated : "&a✅ Kit '%kit%' actualizado al slot %slot% en '%menu%'."
slot_out_of_range : "&c❌ El slot debe estar entre 0 y 53."
slot_occupie : "&c❌ El slot %slot% ya está ocupado por el kit '%kit%'."
prompt_enter_slot : "&e✏ Escribe el nuevo slot para el kit (0-53):"
no_free_slots : "&c❌ No hay slots libres disponibles en el menú."
ask_use_next_free : "&e¿Quieres usar el siguiente slot libre: %slot%? (&aSí✅&e / &cNo❌)"
slot_updated : "&a✅ Slot actualizado a: %slot%."
operation_cancelled : "&c❌ Operación cancelada."
invalid_number : "&c❌ Eso no es un número válido."
kit_saved : "&a Kit %kit% guardado correctamente."
prompt_enter_price : "&e Escribe el nuevo precio para el kit:"
invalid_price : "&c❌ Precio inválido. Debe ser un número positivo."
price_updated : "&a✅ Precio actualizado a %price%."
prompt_enter_cooldown : "&e⏱ Escribe el nuevo cooldown para el kit (ejemplo: 1d, 1h, 10s):"
invalid_cooldown_format : "&c❌ Formato inválido. Intenta de nuevo (ejemplo: 1d, 1h, 10s)"
cooldown_updated : "&a✅ Cooldown actualizado a &e%cooldown% &asegundos."
Code (YAML):
# Mensajes Personalizables de QSkits
# Placeholders disponibles: %kit%, %time%, %player%, %required%, %free%, %price%, %slot%, %menu%
kit_cooldown_sender : "&cEl jugador %player% debe esperar %time% antes de recibir este kit."
kit_cooldown_target : "&cDebes esperar %time% para volver a usar este kit."
kit_no_space_sender : "&cEl jugador %player% no tiene suficiente espacio para el kit."
kit_no_space_target : "&cNo tienes suficiente espacio en tu inventario."
kit_given_sender : "&aLe diste el kit &6%kit% &aa &e%player%."
kit_given_target : "&aHas recibido el kit &6%kit%!"
no_permission : "&c❌ No tienes permiso para usar este kit."
cooldown : "&e⏳ Este kit está en cooldown, debes esperar %time%."
kit_given : "&a✅ Has recibido el kit &e%kit% &acorresctamente."
kit_not_found : "&c❌ Kit no encontrado: &e%kit%"
no_inventory_space : "&cNo tienes suficiente espacio en tu inventario. Requiere %required% espacios, tienes %free%."
no_money : "&c❌ No tienes suficiente dinero para reclamar este kit. Precio: $%price%"
paid_kit : "&a Has pagado $%price% por el kit."
slot_occupied : "&c❌ El slot %slot% ya está ocupado por el kit '%kit%' en '%menu%'."
kit_updated : "&a✅ Kit '%kit%' actualizado al slot %slot% en '%menu%'."
slot_out_of_range : "&c❌ El slot debe estar entre 0 y 53."
slot_occupie : "&c❌ El slot %slot% ya está ocupado por el kit '%kit%'."
prompt_enter_slot : "&e✏ Escribe el nuevo slot para el kit (0-53):"
no_free_slots : "&c❌ No hay slots libres disponibles en el menú."
ask_use_next_free : "&e¿Quieres usar el siguiente slot libre: %slot%? (&aSí✅&e / &cNo❌)"
slot_updated : "&a✅ Slot actualizado a: %slot%."
operation_cancelled : "&c❌ Operación cancelada."
invalid_number : "&c❌ Eso no es un número válido."
kit_saved : "&a Kit %kit% guardado correctamente."
prompt_enter_price : "&e Escribe el nuevo precio para el kit:"
invalid_price : "&c❌ Precio inválido. Debe ser un número positivo."
price_updated : "&a✅ Precio actualizado a %price%."
prompt_enter_cooldown : "&e⏱ Escribe el nuevo cooldown para el kit (ejemplo: 1d, 1h, 10s):"
invalid_cooldown_format : "&c❌ Formato inválido. Intenta de nuevo (ejemplo: 1d, 1h, 10s)"
cooldown_updated : "&a✅ Cooldown actualizado a &e%cooldown% &asegundos."
---
Recomendaciones de uso:
- No elimines variables entre “%” (por ejemplo, %kit% o %time%), ya que el plugin las reemplaza dinámicamente.
- Puedes agregar emojis o caracteres unicode para hacerlo más vistoso.
- Todos los mensajes se pueden recargar sin reiniciar el servidor usando `/qskit reload`.
- Usa `mensajes.yml` para mantener una comunicación coherente y temática con tu servidor.
✨ Personaliza los mensajes para crear una experiencia única adaptada al estilo de tu comunidad. ✨
---
6. Notas
- Usa `/qskit edit` para configurar kits desde una interfaz visual.
- Compatible con PlaceholderAPI, Vault y Geyser.
- Todos los menús son 100% personalizables.
- Incluye soporte para acciones automáticas, sonidos y títulos.
---
Soporte y Comunidad
¿Tienes dudas o sugerencias? Únete a nuestro Discord oficial:
➡ ¡Unirse al servidor de soporte! ⬅
¿Tienes dudas o sugerencias? Únete a nuestro Discord oficial:
➡ ¡Unirse al servidor de soporte! ⬅
⭐ No olvides dejar tu reseña en SpigotMC si disfrutas de QSkits. ¡Tu apoyo ayuda al desarrollo! ⭐
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
QuesitoKit is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 135 times (via Spigot). Download it and open it directly in the game.