Standalonev1.0
xAlbum
Sistema de álbum de colección standalone. Los jugadores desbloquean entradas por descubrimiento o comandos de admin.
Introducción
xAlbum añade un álbum de colección persistente para jugadores. Las entradas se organizan por categorías y pueden desbloquearse automáticamente (a través de listeners de descubrimiento) o manualmente con comandos de admin.
- Categorías configurables en entries.yml
- Desbloqueo por evento (matar mob, recoger ítem, etc.) con DiscoveryListener
- Interfaz GUI por categorías con InventoryFramework
- Persistencia de progreso por UUID en SQLite vía xLib
- API pública para desbloquear entradas desde otros plugins
Información
xAlbum no depende de RPX ni de ningún otro plugin del ecosistema — solo de xLib.
Configuración
Las entradas se definen en entries.yml. Cada entrada tiene una categoría, nombre, descripción e ícono.
yaml
# entries.yml
animales:crabo_ermitano:
name: "Cangrejo Ermitaño"
description: "Encontraste un cangrejo ermitaño en la playa."
icon: TURTLE_EGG
custom-model-data: 3401
fauna:lobo_negro:
name: "Lobo Negro"
description: "Avistaste un lobo negro en el bosque oscuro."
icon: BONE
custom-model-data: 0Consejo
La clave de una entrada es 'categoria:id'. Usa este formato en los comandos de admin para referenciarla.
Comandos
| Comando | Permiso | Descripción |
|---|---|---|
| /album | — | Abre el álbum de colección (menú de categorías). |
| /album give <jugador> <entrada> | xalbum.admin | Desbloquea manualmente una entrada para un jugador. |
| /album reload | xalbum.admin | Recarga entries.yml sin reiniciar. |
API
Desbloquea entradas desde cualquier plugin usando AlbumAPI.
java
AlbumAPI api = AlbumAPI.getInstance();
// Desbloquear una entrada
boolean unlocked = api.unlock(player, "animales:crabo_ermitano");
if (unlocked) {
player.sendMessage("§a¡Nueva entrada descubierta!");
}
// Comprobar si ya la tiene
boolean has = api.hasEntry(player.getUniqueId(), "animales:crabo_ermitano");