xLib
La librería base para construir plugins de Paper/Spigot más rápido y sin repetir código.
La librería base para construir plugins de Paper/Spigot más rápido y sin repetir código.
[HR][/HR]
⚠ Antes de descargar
xLib no es un plugin con funciones para jugadores. Es una librería/API pensada para que otros desarrolladores la usen como dependencia (`compileOnly` + shading, o como plugin dependency) dentro de sus propios plugins. Si has llegado aquí porque otro plugin te pide xLib como dependencia, simplemente descárgala e instálala en `/plugins` — no necesita configuración por tu parte.
[HR][/HR]
¿Qué es xLib?
xLib nació como el "core" compartido entre varios plugins propios en producción (sistemas de rol, minijuegos de crafteo, gestión de contratos, álbumes de colección...) para dejar de reescribir lo mismo en cada proyecto: builders de items, menús paginados, acceso a base de datos, integración con LuckPerms/ItemsAdder, utilidades de texto con MiniMessage, etc.
En vez de publicar snippets sueltos, todo vive en un único jar shadeado con las clases reubicadas (relocate), listo para convivir con otras versiones de las mismas librerías en el mismo servidor sin conflictos de classloading.
✨ Módulos incluidos
Items y NBT
- ItemBuilder fluido: nombre/lore con soporte MiniMessage + códigos `&`, encantamientos, banderas, cabezas custom (ItemsAdder / HeadDatabase), datos en PersistentDataContainer, `glow()`, etc.
- Serialización de ItemStack a Base64/NBT para guardar items en base de datos.
- Integración con NBT-API (item-nbt-api) ya reubicada, sin que choque con otras copias de la librería.
️ Menús e interfaz
- Wrapper sobre IFFramework (InventoryFramework) con menús comunes ya montados: paneles genéricos, confirmaciones, y un PaginatedMenuBuilder para listados grandes sin reinventar la paginación cada vez.
- SignInputManager: pide texto al jugador a través de un cartel temporal (patrón muy usado en shops/GUIs) y te devuelve el resultado por callback, reutilizable desde cualquier addon.
- Utilidades de BossBar, Scoreboard (con manejo automático de líneas duplicadas) y sonidos/animaciones.
️ Persistencia
- DatabaseManager sobre SQLite + HikariCP (pool de conexiones), con WAL activado y manejo seguro de recursos (el `ResultSet` cierra en cascada el `PreparedStatement` y la `Connection`).
- BaseRepository genérico para montar repositorios CRUD por entidad sin duplicar boilerplate JDBC.
Integraciones
- LuckPerms: utilidades de permisos/grupos listas para usar.
- ItemsAdder: helpers para items/menús custom.
- WorldGuard/WorldEdit: utilidades sobre regiones (parcelas, propiedades).
- ProtocolLib: PacketUtils para paquetes de bajo nivel (incluye un sistema de monturas falsas — "fake mounts" — sincronizado por tarea periódica).
Sistemas de gameplay reutilizables
- QuickGame: framework ligero de minijuegos rápidos (clicks/movimiento) para retos tipo "pulsa en el momento justo".
- Workbench/Minigame: interfaz para definir minijuegos de ensamblaje/crafteo (`MinigameHandler`, `MinigameConfig`, `MinigameResult`) que otros plugins registran e implementan.
- Utilidades de experiencia, fechas y despacho de comandos (`CommandDispatcher`/`CommandUtils`).
Bridge — portal de sincronización de configuración
- Comando `/xlib upload`: comprime tu configuración actual y la sube a un portal web, devolviendo un token temporal (15 min) y un link directo de importación.
- Comando `/xlib sync <token>`: descarga esa configuración en otro servidor y dispara automáticamente los reloads necesarios. Pensado para mover configuraciones entre servidor de pruebas y producción sin tocar FTP.
Requisitos
- Paper/Spigot 1.21+ — Java 21.
- Sin dependencias obligatorias propias del núcleo. Opcionales (soft-depend) si quieres usar esas integraciones: ItemsAdder, HeadDatabase, LuckPerms, WorldGuard/WorldEdit, ProtocolLib.
- Todas las librerías internas (Adventure, ACF, HikariCP, NBT-API, IFFramework...) van shadeadas y reubicadas dentro del jar — no generan conflicto con otras copias que puedan traer otros plugins de tu servidor.
Para desarrolladores
xLib expone comandos vía ACF (Aikar Command Framework) y toda su API pública queda disponible añadiendo el jar como dependencia de compilación en tu propio plugin. Si estás construyendo un plugin propio y quieres evitar reescribir el enésimo ItemBuilder o pool de conexiones SQLite, esta librería está pensada exactamente para eso.
[HR][/HR]
[SIZE 2]Desarrollado y mantenido activamente por aifusp.[/SIZE]
[HR][/HR][HR][/HR]
xLib (English)
The shared library that powers Paper/Spigot plugins without reinventing the wheel every time.
The shared library that powers Paper/Spigot plugins without reinventing the wheel every time.
[HR][/HR]
⚠ Before you download
xLib is not a standalone plugin with player-facing features. It's a library/API meant to be used as a dependency by other plugins. If you're here because another plugin listed xLib as a dependency, just drop it in `/plugins` — no configuration needed on your side.
[HR][/HR]
What is xLib?
xLib started as the shared "core" behind several production plugins (roleplay systems, crafting minigames, contract/court management, collection albums...) to stop rewriting the same utilities over and over: item builders, paginated menus, database access, LuckPerms/ItemsAdder integration, MiniMessage text helpers, and more.
Instead of scattered snippets, everything ships as a single shaded jar with relocated packages, so it can coexist with other copies of the same libraries on your server without classloading conflicts.
✨ What's inside
Items & NBT
- Fluent ItemBuilder: MiniMessage + legacy `&` color support, enchantments, item flags, custom heads (ItemsAdder / HeadDatabase), PersistentDataContainer values, `glow()`, and more.
- ItemStack Base64/NBT serialization for storing items in a database.
- Bundled NBT-API (item-nbt-api), already relocated to avoid clashing with other copies.
️ Menus & UI
- A wrapper over IFFramework (InventoryFramework) with common menus ready to go: generic panes, confirmation dialogs, and a PaginatedMenuBuilder for large listings without rebuilding pagination each time.
- SignInputManager: request text input from a player through a temporary sign (the classic shop/GUI pattern), delivered via callback and reusable from any addon.
- BossBar, Scoreboard (with automatic duplicate-line handling) and sound/animation utilities.
️ Persistence
- DatabaseManager over SQLite + HikariCP connection pooling, WAL enabled, safe resource handling (closing the `ResultSet` cascades to the `PreparedStatement` and `Connection`).
- Generic BaseRepository to build CRUD repositories per entity without JDBC boilerplate.
Integrations
- LuckPerms: ready-to-use permission/group helpers.
- ItemsAdder: custom item/menu helpers.
- WorldGuard/WorldEdit: region utilities (plots, properties).
- ProtocolLib: low-level PacketUtils, including a "fake mount" system synced via a periodic task.
Reusable gameplay systems
- QuickGame: a lightweight framework for quick click/movement-based challenges ("hit it at the right moment" style).
- Workbench/Minigame: an interface for crafting/assembly minigames (`MinigameHandler`, `MinigameConfig`, `MinigameResult`) that other plugins register and implement.
- Experience, date, and command-dispatch utilities (`CommandDispatcher`/`CommandUtils`).
Bridge — config sync portal
- `/xlib upload`: zips your current configuration and uploads it to a web portal, returning a temporary token (15 min) plus a direct import link.
- `/xlib sync <token>`: downloads that configuration on another server and automatically triggers the necessary reloads. Built for moving configs between a test server and production without touching FTP.
Requirements
- Paper/Spigot 1.21+ — Java 21.
- No hard dependencies for the core. Optional (soft-depend) if you want those integrations: ItemsAdder, HeadDatabase, LuckPerms, WorldGuard/WorldEdit, ProtocolLib.
- All bundled libraries (Adventure, ACF, HikariCP, NBT-API, IFFramework...) are shaded and relocated inside the jar — no conflicts with other copies other plugins on your server might bring.
For developers
xLib exposes commands via ACF (Aikar Command Framework) and its full public API becomes available by adding the jar as a compile dependency in your own plugin. If you're building your own plugin and want to skip writing yet another ItemBuilder or SQLite connection pool, this library was built exactly for that.
[HR][/HR]
Actively developed and maintained by aifusp.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- 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.
xLib - The X Api is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 13 times (via Spigot). Download it and open it directly in the game.