Instalación
El jar del cargador y la licencia, las dependencias y qué añade cada plugin opcional, los archivos que escribe el plugin, qué va a la base de datos, los idiomas y cómo actualizar.
Conseguir el plugin
ExyliaSpecials es un plugin premium, a la venta en BuiltByBit.
Se distribuye a través del cargador Lukittu, así que el archivo que instalas es el jar del cargador,
Exylia-Specials-Loader.jar. Comprado en BuiltByBit, la licencia va incrustada en ese jar: no hay ninguna clave
que introducir. El cargador comprueba la licencia en cada arranque y luego le pasa el control al plugin.
La versión 4 está reescrita desde cero. No se lee nada de una instalación 3.x: ni su configuración ni los objetos que los jugadores ya tienen. Ver Si vienes de 3.x.
Antes de empezar
| Plugin | Para qué |
|---|---|
packetevents | Obligatorio. Está declarado en depend, así que sin él el servidor no carga ExyliaSpecials. Los señuelos por paquetes de las invocaciones se dibujan con paquetes. |
ExyliaLib | Obligatorio, versión 1.448.0 o superior. Configuración, traducciones, plantillas de objetos, líneas de efectos, menús, regiones, la base de datos y la visualización de cooldowns en los clientes. |
plugin.yml pone ExyliaLib en softdepend a propósito: es el cargador el que la instala, así que el cargador
tiene que poder arrancar sin ella. En un servidor sin ExyliaLib descarga la última versión en plugins/ y pide un
reinicio. En un servidor con una versión más antigua deja preparada la nueva y lo avisa en la consola; reinicia
una vez más para aplicarla. Sin acceso a la red, pon ExyliaLib.jar en plugins/ a mano.
Plugins opcionales
| Plugin | Qué añade |
|---|---|
WorldGuard | Reglas de región en los objetos (regions: y cooldowns por región), la comprobación de PvP antes de que una habilidad toque a otro jugador y la comprobación de construcción antes de que una herramienta rompa o coloque un bloque. Sin él todas las reglas de región pasan y el PvP nunca se considera denegado. |
PlaceholderAPI | Los placeholders del plugin en otros plugins, y placeholders de PlaceholderAPI dentro del lore de los objetos y de los mensajes. Ver Placeholders. |
ExyliaCombat, DeluxeCombat o PvPManager | El combat tag que leen los objetos: Vuelo rechazado en combate, cooldowns combat-seconds, el combate de los duelos. ExyliaCombat trae además los cooldowns de objetos vanilla. Ver Combate. |
ExyliaMines | Las herramientas rompen los bloques dentro de una mina a través de la mina, así que los reinicios, los drops y las estadísticas de la mina siguen cuadrando. |
FastAsyncWorldEdit | Snapshots de arenas: así una arena se puede restaurar tras cada duelo y jugarse en varias copias a la vez. Ver Duelos. |
Worlds | En Folia, crea el mundo temporal que guarda las copias de las arenas. |
Instalar
Copia los jars
Exylia-Specials-Loader.jar y packetevents en plugins/. Añade ahora WorldGuard o PlaceholderAPI si
quieres lo que aportan.
Arranca el servidor
El cargador escribe loader.yml, comprueba la licencia e instala ExyliaLib si falta. Si tuvo que instalarla,
reinicia una vez más.
Deja que genere
El plugin escribe config.yml, sus mensajes, los 70 archivos de objetos, los 8 de contadores y los menús de
administración. La consola muestra Loaded 70 special items y termina
con ExyliaSpecials enabled.
Prueba un objeto
Ejecuta /specialsadmin como operador. Ver Primeros pasos.
Archivos generados
Todos viven en plugins/ExyliaSpecials/.
| Archivo | Contenido |
|---|---|
loader.yml | Lo escribe el cargador. Una compra en BuiltByBit no necesita nada en él. |
config.yml | Idioma, barra de acción, estados y duelos. Ver Configuración. |
lang/<idioma>/messages.yml | Cada línea que envía el plugin: chat, barras de estados, títulos de los duelos. |
lang/<idioma>/items/<id>.yml | Un objeto especial o herramienta por archivo. Ver Objetos especiales. |
lang/<idioma>/trackers/<id>.yml | Un contador de estadísticas por archivo. Ver Contadores. |
lang/<idioma>/menus/admin/*.yml | Las ocho pantallas de administración. Se reescriben desde el jar en cada arranque y en cada recarga. |
arenas.yml | Arenas de duelo, escritas por /specialsadmin arena y las pantallas de arenas. Se crea con la primera arena. |
schematics/arena_<id>.schem | El snapshot de una arena, cuando se ha tomado uno. |
database.yml | Dónde se guardan las filas. Lo escribe ExyliaLib. |
Los archivos de objetos y contadores que se leen son los del idioma activo: en inglés, lang/en/items/. Cambia
language y el plugin lee lang/<nuevo>/items/, otro juego de archivos — lo que hayas editado en los archivos
ingleses no le sigue. Elige primero el idioma y después edita los objetos.
Idiomas
El plugin trae inglés, español, francés, portugués, ruso y turco: mensajes, menús, cada objeto y cada contador.
language: default en config.yml sigue el idioma configurado en el propio config.yml de ExyliaLib; en,
es, fr, pt, ru o tr lo fijan solo para este plugin. Cualquier otro código, como custom, empieza como una
copia del inglés para que la traduzcas.
Una traducción solo lleva el texto de un objeto — su nombre, su lore, texts y los nombres de sus ajustes. La
mecánica viene siempre del archivo inglés de dentro del jar, puesto debajo de la traducción clave por clave, así
que todos los idiomas se juegan igual.
Qué pasa con los archivos de objetos y contadores al arrancar
En cada arranque y en cada recarga el plugin compara sus objetos y contadores incluidos con la carpeta del idioma activo:
- Un archivo que falta se vuelve a escribir. Borrar el archivo de un objeto incluido no quita el objeto: vuelve
en el siguiente arranque. Para retirarlo, dale un
permission:que no tenga nadie. - Las claves que el jar haya añadido desde entonces se añaden a tu archivo. Un valor por defecto que cambió en el
jar espera en
/exylialib updatesen lugar de sobrescribir el tuyo. - Tus propias ediciones nunca se tocan.
Los archivos tuyos en la misma carpeta también se cargan: cualquier .yml que haya ahí es un objeto.
La base de datos
Se guarda una cosa en la base de datos a la que apunta database.yml — H2 en un archivo por defecto, o MySQL,
MariaDB, PostgreSQL o MongoDB a través de ExyliaLib.
| Tabla | Guarda |
|---|---|
exylia_pending_rewards | La cola de ExyliaLib: objetos dados a un jugador con el inventario lleno, que se le entregan en su próxima conexión. |
Todo lo de un objeto — su id, los usos que le quedan, su caducidad, las cuentas de sus contadores — se guarda en
el propio objeto, en una sola clave de datos (exyliaspecials:data). Los objetos conservan su estado en
cofres, cofres de ender y otros servidores.
Los cooldowns los guarda ExyliaLib en memoria. Los cooldowns de cinco minutos o más sobreviven a un reinicio; los más cortos no.
Si vienes de 3.x
La versión 4 no comparte nada con la 3.x. La configuración, los archivos de objetos y los datos de los objetos son todos nuevos, así que:
- empieza con una carpeta
plugins/ExyliaSpecials/limpia; - los objetos especiales repartidos por la 3.x se quedan como objetos vanilla normales: no hacen nada y no se
pueden convertir. Vuelve a dar los objetos nuevos con
/specialsadmin give item.
Actualizar
Sustituye el jar del cargador y reinicia. config.yml, los mensajes, los objetos y los contadores conservan tus
valores; las claves nuevas se añaden con su valor por defecto. Los menús de administración de menus/admin/ se
reescriben desde el jar en cada arranque, así que lo que edites ahí no sobrevive a uno.
¿Falta algo en esta página? Dínoslo en Discord