Contenido generado con IA — puede contener errores.

Empezar

Instalación

Los jars, los archivos que escribe y las dos tablas que usa.

Instalar

Pon los jars

ExyliaEmotes.jar y packetevents en plugins/. packetevents es una dependencia dura: sin él el plugin no carga. ExyliaLib es una dependencia blanda — el loader lo instala en el primer arranque si no está.

Arranca el servidor

Escribe config.yml, messages.yml, emotes.yml, los tres archivos de menus/ y database.yml, y crea su tabla.

Concede los permisos

No se puede usar nada hasta que los jugadores puedan abrir el menú y tengan al menos un emote. Ver Permisos.

Fija un escenario de previsualización

Clic derecho en un emote del menú lo previsualiza, y una instalación nueva no tiene dónde hacerlo. Ponte donde deban verse las previsualizaciones y ejecuta /emotesadmin preview location.

Archivos

ArchivoContenido
config.ymlComportamiento, la cámara, los duetos, los textos del menú, las rarezas, la caja, el objeto llave, el escenario de previsualización, los showcases, el feedback y los valores de reserva de los placeholders.
messages.ymlCada línea que envía el plugin, y el prefijo.
emotes.ymlLas cuatro pestañas y los 68 emotes. Escrito a mano, no gestionado por esquema: tus comentarios y tu formato sobreviven a una recarga.
menus/emotes.ymlLa pantalla principal: pestañas, cuadrícula, plantillas y botones.
menus/crate.ymlLa primera pantalla de la caja: cuántas abrir a la vez.
menus/crate_open.ymlLos rodillos cayendo, una columna por caja.
database.ymlDónde se guardan las filas.
emotes.yml es tuyo, y aun así recibe emotes nuevos

config.yml y messages.yml se escriben desde un esquema, así que una clave desconocida se descarta y los comentarios se regeneran. emotes.yml no: se lee tal cual está escrito. En cada arranque y recarga se compara con el del jar — un emote que añade una actualización se escribe en tu archivo, y lo que tú cambiaste o borraste se deja en paz.

Los archivos de menú siguen la misma regla. Cuando una versión tiene que cambiar el diseño de un menú, sube menu-version al principio del archivo; entonces el archivo se reemplaza y el tuyo anterior se guarda al lado.

Las tablas

emotes_players

La tabla propia de este plugin, una fila por jugador:

ColumnaQué guarda
uuidEl jugador.
nameSu último nombre conocido.
favouritesLos emotes que marcó, separados por comas, en su propio orden.
unlockedLo que había desbloqueado la caja antigua del plugin. Se lee una vez y no se vuelve a escribir.
crate_keysLas llaves que tenía la caja antigua del plugin. Se lee una vez y no se vuelve a escribir.
created_at / updated_atCuándo se creó la fila y cuándo se escribió por última vez.

La fila de un jugador nuevo solo se guarda en memoria hasta que se escribe algo en ella, como su primer favorito.

Un id marcado que el catálogo ya no declara se conserva en la columna y se descarta al dibujarlo, así que una errata en una recarga no vacía la lista de nadie.

exylia_crate_players

Las llaves y los desbloqueos viven en la tabla de cajas de ExyliaLib, una fila por jugador y por plugin. La primera vez que se ve a un jugador ahí, su fila se siembra a partir de emotes_players:

Lo que emotes_players tiene de élCon qué empieza su fila de la caja
Ninguna filacrate.start-keys llaves y nada desbloqueado — un recién llegado.
Una filaSus crate_keys y su unlocked, tal cual, aunque estén vacíos.

Así que actualizar desde una versión que tenía su propia caja se lleva todas las llaves y todos los desbloqueos. Las columnas antiguas no se vuelven a escribir, así que una vuelta atrás las encuentra como estaban. Las llaves en forma de objeto que ya están en los inventarios siguen abriendo la caja.

Actualizar

Cambia el jar y reinicia. /emotesadmin reload vuelve a leer config.yml, messages.yml, emotes.yml y los menús, reconstruye la caja y reinicia los showcases sin tocar el resto del servidor — a propósito no recarga la librería, que es para lo que está /exylialib reload.

Los emotes necesitan un ExyliaLib reciente

El tempo aleatorio de los emotes sin fin necesita ExyliaLib 1.177.0 o superior, y la caja 1.190.0 o superior. El loader instala la versión más nueva, así que solo importa en un servidor que fije una anterior.

¿Falta algo en esta página? Dínoslo en Discord