Índice de módulos
Los cuarenta y seis módulos, para qué sirve cada uno, y dónde está su punto de entrada.
Todos los módulos se alcanzan igual: una clase estática con el nombre del módulo, normalmente con un
of(plugin) que devuelve una vista que pertenece a tu plugin.
Fundamentos
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Task | Tasks.of(plugin) | Programación que corre en Spigot, Paper y Folia desde una llamada. |
| Config | Configs.define(plugin, nombre, tipo) | Archivos YAML declarados y leídos como records de Java. |
| Text | Text.of(cadena) | Cada cadena visible, a componentes de Adventure. |
| Placeholders | Placeholders.group(plugin, prefijo) | Un registro para %placeholders%, con o sin PlaceholderAPI. |
| Formats | Formats, Amounts | Números, dinero, porcentajes y fechas que lee un jugador — y cantidades que teclea. |
| Debug | Debug.of(plugin) | Salida de consola con color, con un interruptor global. |
| Reloading | Reloads.of(plugin) | Pasos de recarga con nombre y fallos contenidos, más listeners de recarga de la librería. |
Almacenamiento
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Database | Databases.of(plugin) | Records en H2, MySQL, MariaDB, PostgreSQL o MongoDB. |
| Transfer | Transfers.of(plugin) | La base de datos entera de un plugin a un archivo y de vuelta. |
| Redis | configuración | Una caché compartida que hace que una base de datos se vea igual desde cada servidor. |
| Snapshots | Snapshots.of(plugin) | El estado de un jugador guardado para después, en memoria o almacenado. |
Interfaces
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Menus | Menus.of(plugin) | Menús escritos en configuración: listas, plantillas, condiciones, animaciones. |
| Items | Items.of(plugin) | Items descritos en configuración, leídos una vez y dibujados por jugador. |
| Actions | Actions.of(plugin, namespace) | Acciones compiladas y con namespace, compartidas por menús e items. |
| Input | Inputs.of(plugin) | Pedirle a un jugador texto, números, opciones o un formulario entero. |
| Editors | Editors.of(plugin) | Pantallas para editar las listas que configura un plugin. |
| Wizards | Wizards.of(plugin) | Guiar a un jugador por varias preguntas, aplicadas solo al confirmar. |
| Previews | Previews.of(plugin) | Mostrarle a un jugador un efecto contra un cielo vacío. |
| Heads | Heads.browse(inputs, …) | El catálogo de cabezas decorativas, buscable desde un menú, una página cada vez. |
En pantalla
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Effects | Effects.play(config, viewer) | Títulos, barras de acción, boss bars, sonidos, partículas, fuegos. |
| Sequences | Sequences.of(plugin) | Efectos coreografiados desde configuración: veinticinco formas, sonidos, pausas, displays y cuerpos. |
| Displays | Displays.of(plugin) | Displays de objeto, bloque y texto que se mueven, giran y caen solos, animados por el cliente. |
| NPCs | Npcs.of(plugin) | Cuerpos con forma de jugador que solo existen en un cliente. |
| Ragdolls | Ragdolls.of(plugin) | Uno de esos cuerpos deshaciéndose, en once poses. |
| Overlays | Overlays.of(plugin) | Objetos en el inventario del jugador que el servidor no tiene. |
| Packets | Packets.of(plugin) | Vanish, bloques falsos, congelar, un espectador falso y mirar cofres en silencio. |
| Scoreboard | Scoreboards.show(plugin, player, config) | Sidebars por paquetes declarados en config. |
| Hologram | Holograms.show(plugin, id, location, config) | Hologramas por paquetes declarados en config. |
| Nametags | Nametags.of(plugin) | Color del nombre, brillo y colisión según quién mira. |
| Chat | Chats.rule(plugin, rule) | Quién lee los mensajes de quién, quitados de la audiencia antes de entregar. |
| Cosmetics | Cosmetics.rule(plugin, rule) | Si se dibujan los cosméticos de un jugador — la pregunta que hace cada plugin cosmético. |
| Client | Clients.of(plugin) | Waypoints, cooldowns y marcadores de compañero en Lunar y Feather. |
| Skulls | Skulls.player(nombre) | Cabezas de jugador desde base64, una URL o un nombre — cacheadas y sin bloquear. |
Mundo
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Regions | Regions.of(plugin) | Formas, un índice espacial, políticas de solape, eventos de entrada y salida, contornos. |
| Schematics | Schematics.of(plugin) | Guardar una caja del mundo y pegarla de vuelta. |
| World | Worlds.create(key, nombre) | Crear y borrar mundos, desde cualquier hilo. |
| WorldGuard | WorldGuardRegions, WorldGuardFlags | Consultas de región y las flags propias del ecosistema — kill-effects, hit-effects, arrows-effects — sin dependencia en compilación. |
Jugadores
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Sessions | Sessions.of(plugin) | Un registro de reservas para que dos plugins no tengan al mismo jugador. |
| Cooldowns | Cooldowns.of(plugin) | La base sobre la que se apoya cada cooldown del ecosistema. |
| Schedules | Schedules.of(plugin) | Horarios: qué arranca solo, cuándo y bajo qué condiciones. |
| Teleport | Teleports.of(plugin) | Calentamientos, aterrizajes seguros, /back, peticiones y traspasos. |
| Combat | Combat.isTagged(player) | Si un jugador está peleando, sobre DeluxeCombat o PvPManager. |
| Clan | Clans.clanOf(uuid) | Una API sobre ocho plugins de clanes y puentes externos. |
Lo que gana un jugador
| Módulo | Punto de entrada | Para qué sirve |
|---|---|---|
| Rewards | Rewards.of(plugin) | Items, comandos, dinero, probabilidades y condiciones — a prueba de desconexiones. |
| Loot | Loot.parseAll(lineas) | Lo que sale de un cofre, un generador o un bloque roto. |
| Economy | Economy.balance(uuid) | Saldos, cobros y transferencias sobre Vault, PlayerPoints o tu propia moneda. |
No son módulos
| Clase | Qué es |
|---|---|
net.exylia.lib.ExyliaLib | El plugin en sí: ciclo de vida y limpieza, nada más. |
net.exylia.lib.platform.Platform | current(), isFolia(), isPaper(). |
net.exylia.lib.practicebot.PracticeBots | Un puente al plugin de bots de práctica: get() y available(). Vacío cuando no está. |
net.exylia.lib.internal.* | Interno. Libre de cambiar sin aviso. |
| Cleanup | Sin API: plugins/ExyliaLib/cleanup.yml. Barre la carpeta logs/ del servidor de archivos con más de keep-days días, un minuto tras arrancar y cada seis horas. |
Recargar
Reloads.of(this)
.step("configs", () -> { settings.reload(); menus.reload(); })
.step("arenas", () -> arenas.load())
.run(sender);Cada paso informa por sí mismo: uno que lance se nombra en consola y al emisor se le dice cuántos salieron bien. Un plugin recargado a medias que no dice nada es peor que uno que nombra lo que falló.
Reloads.onLibraryReload(this, () -> menus.reload());El /exylialib reload de la propia librería dispara ese listener. El motivo habitual de quererlo es que
cambie la paleta: cada menú compilado se queda con los colores de la semana pasada hasta que se vuelve a
leer.
Salida de depuración
Debug debug = Debug.of(this);
debug.success("Configs cargadas");
debug.warn("La arena 'main' no tiene esquemática");
debug.error("No se pudo alcanzar la base de datos", failure);
debug.debug("Sesión vaciada: " + entries); // solo con debug activoDebug.all(true) enciende las líneas de debug de todos los plugins a la vez, que es el interruptor al
que acudir para reproducir algo en vez de editar la config de cada plugin.
¿Falta algo en esta página? Dínoslo en Discord