Saltar al contenido principal

Configuración y permisos de ResurrectionChest

Permisos​

PermisoFunciónValor predeterminado
resurrectionchest.*Da a los administradores acceso al comando base y a los subcomandos downloadall, forcereinstallcontent, downloadpluginupdate, applypluginupdate, reload y clear, y les muestra el recordatorio del primer arranque. setup e initialize comprueban sus propios nodos, indicados más abajoop
resurrectionchest.setupDa acceso a /resurrectionchest setup, recommendedplugins, downloadallcontent y updatecontentop
resurrectionchest.initializeAbre el menú de configuración inicial con /resurrectionchest initializeop
resurrectionchest.usePermite registrar un cofre y enviar a él los objetos que se sueltan al morirtrue
resurrectionchest.model.freePermite usar los modelos gratuitos de cofre de FreeMinecraftModels, Wooden Chesttrue
resurrectionchest.model.premiumPermite usar los modelos premium de cofre de FreeMinecraftModels, Angelic Chestop

resurrectionchest.use es el permiso que controla el funcionamiento del cofre. Los permisos de administración y modelos solo afectan a los comandos y a los aspectos visuales opcionales, respectivamente.

Comandos​

ComandoPermisoFunción
/resurrectionchestresurrectionchest.*Muestra una breve descripción con indicaciones para configurar el plugin
/resurrectionchest initializeresurrectionchest.initializeAbre la configuración inicial guiada; Configuración recomendada, Configuración manual y Usar contenido actual marcan la configuración como terminada.
/resurrectionchest setupresurrectionchest.setupAbre el menú para explorar y activar paquetes de cofres, consultar actualizaciones, ver plugins recomendados y activar actualizaciones automáticas
/resurrectionchest recommendedpluginsresurrectionchest.setupAbre la lista de plugins complementarios recomendados para ResurrectionChest o la muestra en la consola: FreeMinecraftModels y ResourcePackManager
/resurrectionchest downloadallresurrectionchest.*Descarga la actualización del plugin, si existe, y todos los paquetes de contenido disponibles en Nightbreak
/resurrectionchest downloadallcontentresurrectionchest.setupDescarga todos los paquetes de contenido disponibles en Nightbreak
/resurrectionchest updatecontent (alias updateallcontent)resurrectionchest.setupVuelve a descargar únicamente los paquetes instalados que estén desactualizados
/resurrectionchest forcereinstallcontent <package|all>resurrectionchest.*Vuelve a descargar un paquete o todos los paquetes descargados, aunque la versión instalada ya sea la actual. Los argumentos se autocompletan con los identificadores de Nightbreak wooden-chest, angelic-chest y all
/resurrectionchest downloadpluginupdateresurrectionchest.*Descarga una actualización de ResurrectionChest si hay alguna disponible
/resurrectionchest applypluginupdateresurrectionchest.*Aplica una actualización del plugin ya descargada sin reiniciar el servidor. Consulta Actualizaciones del plugin sin reinicio
/resurrectionchest reloadresurrectionchest.*Recarga ResurrectionChest
/resurrectionchest clearresurrectionchest.*Elimina todos los bloques registrados por ResurrectionChest; deja caer el inventario de cada cofre y retira los bloques de cofre y cartel
/resurrectionchestchangelog [dismiss|disable]op, resurrectionchest.*, resurrectionchest.setup o resurrectionchest.initializeMuestra dentro del juego las notas de versión de ResurrectionChest sin leer. Consulta Notificaciones de notas de versión

Las actualizaciones descargadas del plugin se colocan en la carpeta de actualizaciones del servidor. Se aplican después del siguiente reinicio, salvo que las apliques antes con /resurrectionchest applypluginupdate o con el ajuste nightbreak.applyPluginUpdatesWithoutRestart.

Las herramientas de MagmaCore incluidas también registran los comandos compartidos /nightbreak, /nightbreaklogin, /nightbreaklogout y /logify si ningún otro plugin ha reclamado esos nombres. Consulta Tokens de Nightbreak.

Archivos del plugin​

RutaFunción
plugins/ResurrectionChest/config.ymlTodas las opciones de la tabla siguiente
plugins/ResurrectionChest/playerData.ymlUna entrada por cofre registrado, con el UUID del jugador como clave: la ubicación location, el prefijo chestModel elegido al registrarlo y un trackedBlockSchemaVersion para migrar registros antiguos a las marcas actuales de propiedad de bloques
plugins/ResurrectionChest/content_packages/Las definiciones de los paquetes wooden_chest.yml / angelic_chest.yml: isEnabled, name, description, version, folderName, nightbreakSlug, contentFilePrefixes y los opcionales downloadLink y category
plugins/ResurrectionChest/nightbreak-changelogs.ymlEstado de lectura o descarte de la bandeja compartida de notas de versión que usa /resurrectionchestchangelog. Consulta Notificaciones de notas de versión
plugins/ResurrectionChest/imports/Carpeta para importaciones manuales. Su contenido se extrae al arrancar; los modelos se envían a FreeMinecraftModels, que se actualiza automáticamente. Consulta Importaciones manuales y gestión dentro del juego
plugins/ResurrectionChest/resource_pack/Recursos compartidos de iconos de menú y fuentes de Nightbreak, exportados desde el MagmaCore incluido al cargar el plugin y exportados de nuevo cuando cambia la copia incluida

No edites playerData.yml manualmente mientras el servidor esté en marcha. ResurrectionChest lo reescribe cada vez que se registra o elimina un cofre.

Opciones de configuración​

config.yml ofrece actualmente estas opciones:

ClaveTipoValor predeterminado
setupDonebooleanfalse
nightbreak.autoDownloadPluginUpdatesbooleanfalse
nightbreak.applyPluginUpdatesWithoutRestartstringnever
Input name for death cheststring[DeathChest]
Enable high compatibility / low security mode for plugin conflictsbooleanfalse
Lower worn armor's durability on deathbooleantrue
Amount of durability to lower on deathint100
Chest creation messagestring&8[ResurrectionChest] &aYou've created your Death Chest!
Chest destruction messagestring&8[ResurrectionChest] &cYour Death Chest has been destroyed!
Chest missing messagestring&8[ResurrectionChest] &4Your Death Chest is missing!
Chest protected region messagestring&8[ResurrectionChest] &cYou can't create a Death Chest here - this area is protected!
Death messagestring&8[ResurrectionChest] &aYour items have been moved to your Death Chest!
deathChestRemovedMessagestring&8[ResurrectionChest] &cYour Death Chest has been removed!
Enable particle effects for death chestsbooleantrue
Particle effect 1stringENCHANTMENT_TABLE
Particle effect 2stringENCHANTMENT_TABLE
Particle effect 3stringPORTAL
blacklistedWorldslist[none]
storeXPbooleantrue
xpPercentageKeptdouble0.75
deathChestNameTagstring$playerName's &fResurrection Chest
freeSingleDeathChestModelNamestringresurrectionchest_free_single
freeDoubleDeathChestModelNamestringresurrectionchest_free_double
premiumSingleDeathChestModelNamestringresurrectionchest_angelic_single
premiumDoubleDeathChestModelNamestringresurrectionchest_angelic_double

Actualizaciones automáticas del plugin y el contenido​

nightbreak.autoDownloadPluginUpdates es una opción compartida de Nightbreak y MagmaCore incluida en ResurrectionChest. Su valor predeterminado es false.

  • Con false, no se descarga nada automáticamente. ResurrectionChest sigue comprobando si hay actualizaciones del plugin unos minutos después del arranque (el retraso se escalona por plugin) y después aproximadamente cada hora, para mostrar el resultado en el botón de actualización del juego, pero tú debes iniciar las descargas.
  • Con true, ResurrectionChest descarga unos minutos después del arranque la actualización disponible del plugin y los paquetes de contenido desactualizados. Las actualizaciones de contenido descargadas se usan después de reiniciar el servidor. Una actualización del plugin descargada también espera a un reinicio, salvo que nightbreak.applyPluginUpdatesWithoutRestart la aplique antes.
  • Las descargas automáticas del plugin requieren un token válido de una cuenta de Nightbreak y una suscripción de colaborador activa.

Puedes cambiar esta opción desde el botón Actualizaciones automáticas de la barra de herramientas de /resurrectionchest setup o editando config.yml.

El menú también incluye Actualización del plugin, que muestra las versiones instalada y disponible y descarga la actualización al pulsarlo, y Plugins recomendados, que muestra la misma lista que /resurrectionchest recommendedplugins.

Actualizaciones del plugin sin reinicio​

Una actualización del plugin descargada espera en la carpeta de actualizaciones del servidor. /resurrectionchest applypluginupdate la instala sin reiniciar el servidor. ResurrectionChest se deshabilita, se sustituye su JAR y la nueva versión se carga y se habilita. Los demás plugins de MagmaGuy que dependen de ResurrectionChest se recargan con él.

El comando se niega, con un mensaje, cuando:

  • no hay ninguna actualización descargada en espera
  • la actualización en espera no es más reciente que la versión en ejecución, o su JAR no es válido
  • un plugin de otro autor depende de ResurrectionChest, como dependencia obligatoria u opcional. En ese caso, reinicia el servidor
  • ya hay otro cambio de plugin en curso

Si la nueva versión no consigue habilitarse, se vuelve a cargar el JAR anterior y la actualización se queda en la carpeta de actualizaciones para el siguiente reinicio. Usa este comando en lugar de un recargador de plugins de terceros.

nightbreak.applyPluginUpdatesWithoutRestart en config.yml decide qué ocurre justo después de cualquier descarga de una actualización del plugin, tanto si procede de downloadpluginupdate, de downloadall, de la entrada Actualización del plugin del menú de configuración o de una descarga automática:

ValorComportamiento
neverValor predeterminado. La actualización espera al siguiente reinicio. A los administradores conectados con resurrectionchest.* se les avisa de que hace falta reiniciar y se les muestra el comando applypluginupdate
when-emptyAplica la actualización de inmediato si no hay jugadores conectados; si los hay, lo comprueba cada 30 segundos y la aplica en cuanto el servidor se queda vacío
immediatelyAplica la actualización en cuanto termina la descarga

Cualquier otro valor se comporta como never.

El cambio deshabilita y vuelve a habilitar ResurrectionChest, así que, igual que con /resurrectionchest reload, se descarta la XP que los jugadores aún no hayan recogido de sus cofres. Los objetos de los cofres no se ven afectados.

Protección de regiones​

Registrar un cofre de muerte cuenta como construir. Antes de aceptar el cartel, ResurrectionChest consulta al LocationQueryRegistry compartido de MagmaCore si el jugador puede construir en el bloque del cofre.

  • WorldGuard y GriefPrevention se integran automáticamente. Los proveedores compartidos de propiedad de ubicaciones también pueden impedir el registro si consideran protegida la ubicación. Sin proveedores de protección o propiedad, no hay restricciones adicionales.
  • Si un plugin de protección deniega la construcción, se rechaza el registro y se envía al jugador Chest protected region message.
  • Si un adaptador de protección genera un error, se rechaza el registro en vez de omitir la protección.

Los adaptadores integrados intentan conectarse al arrancar y, en consultas posteriores, se vuelve a comprobar qué plugins están habilitados. Si WorldGuard o GriefPrevention está habilitado pero su adaptador no consigue conectarse, se registra el fallo y se rechazan todos los registros mientras ese plugin siga habilitado. /resurrectionchest reload no vuelve a intentar la conexión. Se reintenta después de deshabilitar o recargar ese plugin de protección, tras una actualización de ResurrectionChest sin reinicio o tras reiniciar el servidor.

Penalización de durabilidad de la armadura​

Lower worn armor's durability on death, con valor predeterminado true, y Amount of durability to lower on death, con valor predeterminado 100, se aplican a la armadura equipada mientras se envía al cofre de muerte:

  • a cada pieza equipada que figure entre los objetos soltados al morir se le suma Amount of durability to lower on death a su valor de daño
  • si alcanza o supera su durabilidad máxima, la pieza se elimina de los objetos soltados: se destruye en vez de guardarse
  • en caso contrario, se guarda la pieza dañada en el cofre

Una penalización de durabilidad igual a cero o negativa no tiene efecto.

La penalización solo se aplica a las muertes que gestiona ResurrectionChest. Se omite si keepInventory está activo, el mundo está excluido, el jugador no tiene resurrectionchest.use o el cofre registrado ha desaparecido.

Modo de alta compatibilidad​

Enable high compatibility / low security mode for plugin conflicts, con valor predeterminado false, controla el rigor de la verificación de un bloque antes de actuar sobre él.

  • Con false, un cartel o cofre solo se considera de ResurrectionChest si conserva la marca de propietario que el plugin escribe en sus datos persistentes.
  • Con true, se acepta que falte la marca de propiedad en una ubicación registrada. Se sigue rechazando una marca de otro propietario y el bloque registrado debe seguir siendo un cofre.

Usa este modo si otro plugin elimina las marcas de propiedad de ResurrectionChest. Relaja la comprobación de marcas ausentes; no permite bloques de sustitución arbitrarios ni marcas de otro propietario.

Gestión de XP​

Cuando storeXP está activado:

  • ResurrectionChest sigue la XP total del jugador durante la partida, pero lee su total actual al morir; por tanto, también cuenta la XP concedida directamente mediante la API de otro plugin
  • al morir, guarda round(total XP * xpPercentageKept), limitado al rango de enteros no negativos
  • establece la XP soltada en 0
  • devuelve la XP guardada la próxima vez que el propietario abra su cofre registrado; sirve cualquiera de las mitades de un cofre doble
  • si vuelve a morir antes de recogerla, la nueva cantidad se suma a la anterior en vez de sustituirla

xpPercentageKept se limita al intervalo 0-1 al leer la configuración. Los valores superiores a 1 se tratan como 1, y los negativos o inválidos como 0.

Excepciones importantes:

  • Si keepInventory está activo, ResurrectionChest no hace nada.
  • Si keepLevel está activo, se omite el almacenamiento de XP y se conserva la gestión de niveles de vanilla.
  • La XP guardada solo se conserva en memoria. No se escribe en playerData.yml, por lo que reiniciar el servidor, ejecutar /resurrectionchest reload, recargar el plugin o aplicar una actualización del plugin sin reinicio elimina la XP que aún no se haya recogido. Los objetos que ya estén dentro del cofre no se ven afectados.

Gestión de objetos sobrantes​

Los objetos se introducen en el cofre pila por pila y pueden introducirse parcialmente:

  • se guarda todo lo que quepa, incluso completando una pila existente
  • solo la cantidad sobrante permanece entre los objetos soltados en el lugar de la muerte
  • el jugador recibe un aviso de que el cofre estaba lleno

Integración con FreeMinecraftModels​

Si FreeMinecraftModels está instalado, ResurrectionChest puede mostrar un modelo visual de cofre sobre el cofre real.

Comportamiento actual:

  • se prefieren los modelos premium de Angelic Chest cuando el jugador tiene resurrectionchest.model.premium y el modelo premium está cargado
  • en caso contrario, se usa el modelo gratuito de Wooden Chest si el jugador tiene resurrectionchest.model.free
  • si ninguno de los permisos permite usar un modelo disponible, no se genera ningún modelo visual y se conserva el cofre vanilla
  • el modelo cambia entre las variantes simple y doble según el tamaño del cofre
  • el almacenamiento sigue siendo el cofre real
  • los modelos visuales se actualizan cada vez que FreeMinecraftModels termina una recarga, incluidas las iniciadas fuera de ResurrectionChest, y si ya hay en el cofre un modelo visual coincidente, se reutiliza en lugar de generar un duplicado

El modelo se elige una sola vez, al registrar el cofre, y se guarda en playerData.yml como su chestModel. Esto tiene dos consecuencias:

  • si FreeMinecraftModels no estaba instalado al registrar el cofre, este se guarda sin modelo y sigue siendo un cofre vanilla aunque instales FreeMinecraftModels después
  • cambiar los permisos posteriormente no modifica el modelo de un cofre ya registrado

En ambos casos, el jugador debe volver a registrar el cofre, rompiéndolo y colocando el cartel de nuevo, para adoptar el nuevo modelo.

Cuando hay un modelo personalizado activo, los jugadores pueden interactuar directamente con él:

  • clic derecho para abrir el inventario del cofre real
  • clic izquierdo para eliminar el registro; solo puede hacerlo el propietario. Los demás reciben un mensaje rojo y no se destruye nada

Si FreeMinecraftModels no está instalado o no puede generar el modelo, el cofre real sigue funcionando normalmente.

Paquetes de contenido​

ResurrectionChest incluye dos paquetes de contenido con modelos de cofre de FreeMinecraftModels:

  • Wooden Chest (gratuito): proporciona resurrectionchest_free_single / resurrectionchest_free_double. Lo usa resurrectionchest.model.free.
  • Angelic Chest (premium): proporciona resurrectionchest_angelic_single / resurrectionchest_angelic_double. Lo usa resurrectionchest.model.premium.

Cada paquete se guarda en la carpeta models de FreeMinecraftModels cuando está instalado y en models_disabled cuando está desinstalado. Activarlo o desactivarlo mediante /resurrectionchest setup mueve los archivos entre esas carpetas y recarga FreeMinecraftModels automáticamente.

Limitaciones comprobadas en el código​

El código actual contiene algunas opciones disponibles en config.yml que no se usan fuera de DefaultConfig:

  • Particle effect 1
  • Particle effect 2
  • freeSingleDeathChestModelName
  • freeDoubleDeathChestModelName y premiumDoubleDeathChestModelName: el plugin define internamente los prefijos resurrectionchest_free y resurrectionchest_angelic y añade _single o _double según el tamaño del cofre. Por eso, las claves "Double" no afectan actualmente a sus modelos visuales

Particle effect 3 sí se usa en el código actual. Se resuelve una vez al cargar, con PORTAL como alternativa y una advertencia en la consola si el nombre no es válido, y después genera partículas cada tick mientras el chunk del cofre esté cargado. Establecer Enable particle effects for death chests en false cancela por completo esa tarea, lo que reduce el coste en servidores con muchos cofres registrados. premiumSingleDeathChestModelName comprueba que exista el archivo del modelo premium antes de asignar su prefijo; la existencia del archivo del modelo gratuito no se comprueba por separado.

Otras dos limitaciones de los comandos:

  • /resurrectionchest initialize abre la configuración inicial y requiere resurrectionchest.initialize. /resurrectionchest setup abre los controles de contenido, actualizaciones y plugins recomendados.
  • /resurrectionchest clear no se limita a un jugador. Elimina todos los cofres registrados del servidor en una sola operación.

El comando de limpieza respeta las comprobaciones de propiedad configuradas y conserva los bloques que no las superan. Si el mundo del cofre está descargado, elimina el registro sin retirar sus bloques.