Contenido generado con IA — puede contener errores.

Referencia

Preguntas frecuentes

Las preguntas que más se repiten.

No se ve nada en el chat

Casi siempre es que el hook no corresponde al plugin de chat que de verdad tienes. chat.hook decide cómo se estiliza el cuerpo del mensaje, y el modo equivocado es un modo que no se dispara nunca. decorate es el correcto para el chat propio de Paper y para cualquier cosa que dibuje a través de AsyncChatEvent; un plugin que lee message() pero ignora la decoración quiere chat_event a una prioridad por debajo de la suya; un plugin que sigue en AsyncPlayerChatEvent quiere legacy_event. La tabla de Integraciones empareja cada caso.

La etiqueta y el nombre coloreado son otra cosa: esos no se inyectan por ti. Si el mensaje sale coloreado pero no hay etiqueta delante del nombre, es que todavía no has puesto %exyliachatcosmetics_tag% y %exyliachatcosmetics_nick% en el formato de tu plugin de chat.

Las etiquetas salen como la palabra con la que están escritas

Los sprites, las partículas y las cabezas de las etiquetas son object components, que llegaron en Minecraft 1.21.9. Un cliente más antiguo no tiene nada que dibujar, así que muestra la etiqueta como el texto con el que está escrita en lugar de fallar — por eso las pestañas ANIMATED, PARTICLES, ICONS, INTERFACE y FLAGS se leen como palabras en un cliente viejo y la pestaña SYMBOLS no. Los colores, las fuentes, las sombras y el módulo de chat entero funcionan en 1.21 exactamente igual que en la última versión.

Hay jugadores que nunca ven ciertos mensajes

Eso es el chat seguro. Cualquier cambio en el cuerpo de un mensaje — y un color es un cambio — lo marca como modificado para un cliente vanilla, y un cliente con Only Show Secure Chat activado oculta un mensaje modificado. Le llega igual; el cliente se niega a dibujarlo. Todos los plugins de color de chat del mercado tienen esta propiedad. Poner enforce-secure-profile=false en server.properties es la respuesta habitual.

Los colores de rango no hacen nada

Dos causas. Los colores de rango repintan el prefijo y el sufijo que escribe tu plugin de permisos, y ese meta viene de LuckPerms — sin él no hay nada que repintar, {prefix} y {suffix} no dibujan nada y la pantalla de colores de rango queda vacía. Los otros cinco tipos de cosmético no se ven afectados.

Si LuckPerms está y el color sigue saliendo raro, es rank-colors.repaint. El valor por defecto, letters, pinta solo letras y dígitos, así que &8[&eVIP&8] conserva sus corchetes grises y cualquier símbolo que escriba el rango conserva su propio color. all pinta todo lo que escribió el rango, corchetes incluidos.

Un jugador conservó un cosmético tras perder el rango que se lo daba

Como mucho un momento, y solo sin LuckPerms. Las respuestas de permisos se memorizan por perfil para que dibujar una línea de chat no se acerque nunca al plugin de permisos. Con LuckPerms instalado, UserDataRecalculateEvent tira ese memo y la caché de dibujado en el instante en que cambia un rango, y la siguiente línea que envíe se dibuja con lo que posee ahora, sin reconectar. Sin LuckPerms el memo se refresca al entrar, con /cca reload y en el barrido de treinta segundos.

Lo que no pasa nunca es que el cosmético se borre de su fila. Equipado y poseído son preguntas separadas; un cosmético que alguien ya no posee simplemente deja de dibujarse, y vuelve el día en que sea suyo otra vez. Es a propósito: si no, un plugin de permisos todavía cargando al entrar borraría lo que alguien pagó.

Revoqué una concesión y no desapareció al momento

La posesión se pregunta allá donde se dibuje una línea, así que una concesión revocada deja de contar en el chat de inmediato. Lo que espera es el aviso y el desequipado automático: un barrido recorre los perfiles conectados cada treinta segundos, porque una concesión que se acabó solo merece contársela a quien está aquí. EntitlementExpiredEvent, el mensaje expired y quitar el cosmético van todos en ese barrido, así que llegan poco después del momento y no exactamente en él. La concesión de un jugador desconectado no necesita barrido alguno: simplemente está inactiva la próxima vez que se lea.

El módulo de chat no arranca

El módulo de chat necesita Paper. Los cosméticos no — en Spigot funcionan por legacy_event, y decorate o chat_event caen a él con un aviso al arrancar — pero el módulo en sí está construido sobre los eventos de chat de Paper y no tiene camino en Spigot. Ahí deja chat.module.enabled apagado y usa el hook con el plugin de chat que ya tengas.

Si el módulo falla por cualquier otra razón, la consola dice The built-in chat could not start; cosmetics keep working through the chat hook. y el hook se reinstala. Un archivo de chat que no se puede leer no debe costarle a un servidor sus cosméticos.

¿Cómo le doy a alguien una pestaña entera?

exyliachatcosmetics.<type>.category.<category> — así exyliachatcosmetics.chat_color.category.premium es toda la pestaña premium de colores de chat, y exyliachatcosmetics.tag.category.flags son todas las banderas. exyliachatcosmetics.<type>.* es todo lo de un tipo, y exyliachatcosmetics.* es todo. Esa es la diferencia entre vender un rango y vender un cosmético: un nodo contra cien concesiones.

Los colores de rango son la excepción. Vienen con permission: false y se poseen por estar en uno de los grupos que nombra la entrada, así que un jugador en vip lleva el color VIP sin ningún nodo.

Borrar una etiqueta personalizada no devolvió el token

Es a propósito. A un jugador no lo limita cuántos cosméticos personalizados tiene, sino cuántos le dieron derecho a hacer: un token create paga cada nuevo y un token edit cada cambio, y borrar no devuelve nada. A quien le dan tres creaciones hace tres, y la cuarta cuesta otro token por muchos que borre en medio. Ver Tokens.

El hover de una etiqueta se come el resto de la línea

Ejecuta /cca chat line [mensaje]. Dibuja tu propia línea de chat y la parte en los tramos que comparten un hover y un click, tal y como los lee de verdad un cliente: cada carácter arrastra el estilo de sus ancestros, así que un hover puesto en un padre alcanza a todos los hijos que hay debajo. Cada tramo se imprime como [texto] hover …, click …, a la consola y a ti, y ahí se ve la pieza cuyo hover se traga la siguiente en vez de adivinarla desde una captura. Hace falta que el módulo esté encendido.

Los jugadores escriben &c y sale como texto

Eso es chat.sanitize, activo por defecto: el &c, el <red> o el {primary} de un jugador se muestra como lo que escribió en lugar de obedecerse, para que nadie pinte su línea de un color que nunca compró. Dale exyliachatcosmetics.chat.format a la gente en quien confíes. El § se neutraliza siempre, esté la opción como esté y tenga el jugador el permiso que tenga.

¿Funciona en Spigot? ¿Y en Folia?

Spigot ejecuta los cosméticos por el hook legacy — todo lo de etiquetas, colores, fuentes y animaciones funciona — pero no el módulo de chat. Folia está soportado por completo y escrito para ello, no simplemente tolerado: las escrituras de perfil y el disparo de eventos caen en la región propia del jugador, el reloj de las animaciones y el barrido de caducidad corren en asíncrono, y el dibujado del chat y de los placeholders solo lee memoria.

¿Necesito PlaceholderAPI?

Solo si un plugin de fuera del ecosistema de Exylia tiene que leer los placeholders. Están registrados en el módulo de placeholders de ExyliaLib y funcionan en cualquier texto de ExyliaLib sin PAPI; cuando PAPI está instalado, ExyliaLib los puentea todos automáticamente bajo %exyliachatcosmetics_<nombre>%. No hay ninguna expansión que descargar.

¿Dónde consigo soporte?

En el Discord de Exylia.

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