Saltar al contenido principal

BetterStructures FAQ

Si tu pregunta es sobre la vinculación inicial de Nightbreak, descargas de paquetes o importaciones manuales, comienza primero con las páginas globales compartidas. Esta FAQ solo contiene respuestas específicas de BetterStructures.

¿Por qué no aparecen las estructuras?

La razón más común es que estás probando en terreno que ya fue explorado antes de que BetterStructures fuera instalado.

BetterStructures está diseñado para generar en terreno inexplorado, por lo que no rellena retroactivamente los chunks antiguos. Si quieres ver la generación natural rápidamente:

  • vuela hacia chunks nuevos
  • genera un nuevo mundo de prueba
  • o usa los comandos de colocación y configuración en lugar de esperar la generación natural

¿Por qué BetterStructures se desactivó solo tras una recarga?

/bs reload limpia todos los registros de contenido antes de que un hilo de trabajo los reconstruya. Si esa reconstrucción lanza una excepción, continuar dejaría un plugin que parece habilitado pero tiene contenido parcial o vacío, así que BetterStructures falla deliberadamente en cerrado y se desactiva.

El error real se imprime en la consola justo antes de la desactivación. Arregla la configuración o el esquemático que indique, y después reinicia el servidor.

¿Por qué se rechaza mi comando mientras hay una recarga en curso?

/bs place, /bs lootify, /bs pregenerate y /bs generateModules leen o modifican los registros de contenido que pertenecen al trabajador de recarga, así que se rechazan durante ese tiempo con un mensaje de "content is reloading". Los chunks recién generados también se omiten en esa ventana. Espera a que la recarga informe de éxito e inténtalo de nuevo.

Ejecutar /bs reload otra vez durante una recarga no falla: tu petición se pone en cola y se ejecuta una recarga completa más cuando termina la primera, así que los cambios de archivo que hiciste a mitad de recarga se recogen igualmente.

¿Cómo detengo las advertencias de administrador sobre nuevas estructuras?

BetterStructures tiene un interruptor warnAdminsAboutNewBuildings en config.yml, y /betterstructures silent cambia ese valor por ti.

Esto es útil durante la pre-generación u otras pruebas intensivas de administración donde las advertencias se vuelven molestas.

¿Qué significa setupDone?

setupDone rastrea si el flujo de configuración inicial de BetterStructures se ha completado.

  • false significa que el flujo de configuración todavía se considera incompleto
  • true significa que el flujo de configuración ya se ha completado

Si intencionalmente quieres volver a ejecutar la configuración, establece setupDone: false, recarga el plugin y ejecuta /bs initialize de nuevo.

¿BetterStructures requiere WorldEdit?

Sí. WorldEdit es una dependencia obligatoria en plugin.yml, por lo que no se espera que BetterStructures funcione sin él.

¿Cómo funciona la integración con WorldGuard?

Si tanto WorldGuard como EliteMobs están instalados, BetterStructures registra y usa la bandera betterstructures-protect para sus áreas protegidas. Ambos plugins deben estar presentes para que se active la protección de WorldGuard.

El interruptor de configuración relevante es:

protectEliteMobsRegions: true

Establécelo en false si no quieres protección de WorldGuard gestionada por BetterStructures para contenido soportado.

El mensaje mostrado a los jugadores cuando intentan romper o colocar bloques en un área protegida también es configurable:

regionProtectedMessage: "&8[BetterStructures] &cDefeat the zone's bosses to edit blocks!"

¿Puedo añadir ítems personalizados al tesoro de BetterStructures?

Sí. BetterStructures incluye:

/betterstructures lootify <generator> <rarity> <minAmount> <maxAmount> <weight>

Úsalo mientras sostienes el ítem que quieres registrar. El comando escribe el ítem sostenido en la entrada del generador de tesoros seleccionado.

Reglas de validación actuales de la implementación del comando:

  • el generador de tesoros debe existir
  • la rareza debe existir ya en esa configuración de tesoro
  • minAmount debe ser al menos 1
  • maxAmount debe ser como máximo 64
  • el ítem sostenido no puede ser aire

¿BetterStructures soporta entradas de tesoro de MMOItems?

Sí. BetterStructures tiene soporte para MMOItems en el proyecto y el flujo de trabajo de tesoros existente soporta ítems de terceros. Para la sintaxis específica de MMOItems, mantén los ejemplos de configuración exactos en tus archivos de tesoro alineados con la documentación actual de la página de tesoros en lugar de depender de fragmentos de FAQ más antiguos.

¿Cómo funcionan juntos EliteMobs y BetterStructures?

BetterStructures tiene una integración suave con EliteMobs.

A alto nivel:

  • BetterStructures puede colocar marcadores de contenido de EliteMobs dentro de estructuras generadas
  • BetterStructures también puede gestionar áreas protegidas que importan para contenido respaldado por EliteMobs cuando la integración está habilitada

Para el flujo de configuración compartido, vinculación de tokens y ciclo de vida oficial de paquetes, usa los docs globales y las páginas de configuración/contenido de BetterStructures en lugar de tratar esta FAQ como la fuente principal.

¿Puedo pre-generar un mundo de forma más segura?

Sí. BetterStructures expone configuraciones de pre-generación orientadas al rendimiento en config.yml, incluyendo:

  • percentageOfTickUsedForPregeneration (predeterminado: 0.1) - cuánto de cada tick del servidor se usa para la pre-generación de chunks
  • pregenerationTPSPauseThreshold (predeterminado: 12.0) - TPS por debajo del cual la pre-generación se pausa
  • pregenerationTPSResumeThreshold (predeterminado: 14.0) - TPS por encima del cual la pre-generación se reanuda

Para el pegado normal de estructuras, la configuración principal de ritmo es:

percentageOfTickUsedForPasting: 0.2

Valores más bajos reducen el impacto por tick pero hacen que el pegado de estructuras sea más lento.

¿Cómo se determinan las ubicaciones de las estructuras?

BetterStructures mantiene controles de espaciado y offset aleatorio por tipo de estructura en config.yml. Consulta Configuración del archivo para la referencia completa.

Cada tipo de estructura se coloca sobre su propia cuadrícula en diamante generada a partir de la semilla. Los valores de distancia y de offset se miden en chunks, no en bloques: un distanceSurface de 27 equivale aproximadamente a una estructura de superficie cada 27 chunks, o unos 432 bloques.

Los controles de distancia principales son:

  • distanceSurface (predeterminado: 27)
  • distanceShallow (predeterminado: 22)
  • distanceDeep (predeterminado: 22)
  • distanceSky (predeterminado: 90)
  • distanceLiquid (predeterminado: 60)
  • distanceDungeonV2 (predeterminado: 80)

Los controles de offset relacionados son:

  • maxOffsetSurface (predeterminado: 5)
  • maxOffsetShallow (predeterminado: 5)
  • maxOffsetDeep (predeterminado: 5)
  • maxOffsetSky (predeterminado: 5)
  • maxOffsetLiquid (predeterminado: 5)
  • maxOffsetDungeonV2 (predeterminado: 18)

Las distancias deben ser como mínimo 1. Los desplazamientos deben estar entre 0 y 1073741823 (el mayor valor que el aleatorizador de colocación puede usar con seguridad). Si un valor queda fuera de su rango válido, BetterStructures registra una advertencia, vuelve a escribir el valor predeterminado de esa clave en config.yml y continúa con el predeterminado en lugar de fallar la generación.

En la práctica, esto significa que la generación se mantiene basada en semillas y configuración en lugar de reorganizarse aleatoriamente en cada reinicio.

¿Qué hace modularChunkPastingSpeed?

Nada, actualmente. modularChunkPastingSpeed (predeterminado: 10) se sigue escribiendo en config.yml, pero nada en el plugin lo lee, así que cambiarlo no tiene ningún efecto. El ritmo del pegado lo marca percentageOfTickUsedForPasting: usa esa clave si quieres ajustar cuánto de cada tick dedica BetterStructures a colocar bloques.

¿Qué hace spawnProtectionRadius?

spawnProtectionRadius (predeterminado: 100) define la distancia mínima en bloques desde las coordenadas 0, 0 del mundo dentro de la cual no se colocarán estructuras. Esto se aplica a todos los mundos. Establécelo en 0 para desactivar la protección del spawn.

¿Cómo desactivo las estructuras en mundos específicos?

BetterStructures mantiene un archivo de configuración ValidWorlds.yml que controla qué mundos son elegibles para la generación de estructuras. Cada mundo se lista con un interruptor booleano:

New worlds spawn structures: true
Valid worlds:
world: true
world_nether: true
world_the_end: true

Establece un mundo en false para evitar que BetterStructures coloque cualquier estructura en ese mundo. La configuración New worlds spawn structures controla si los mundos recién detectados se habilitan automáticamente para la generación de estructuras.

Hay dos comportamientos que conviene conocer:

  • Los mundos gestionados por EliteMobs se excluyen por defecto. Los mundos que pertenecen a EliteMobs —el hub del gremio de aventureros y las copias instanciadas de mazmorras— se registran como false incluso cuando New worlds spawn structures es true. Sus chunks vacíos sin construir cuentan como chunks nuevos, lo que antes hacía que BetterStructures decorara los hubs de mazmorras. Las entradas em_ existentes se cambiaron a false una única vez mediante una migración puntual; la clave marcadora EliteMobs worlds excluded by default del archivo registra que eso ya se ejecutó, así que si pones deliberadamente un mundo em_ de nuevo en true, tu elección sobrevive a los reinicios.
  • Las entradas de mundos borrados se eliminan. Al arrancar, y unos diez segundos después de que un mundo se descargue, BetterStructures elimina cualquier entrada de Valid worlds cuyo mundo no esté ni cargado ni presente en el disco, para que el archivo no acumule entradas muertas.

¿Cómo reparo un paquete de contenido roto o borrado parcialmente?

Usa /bs forcereinstallcontent <package|all>. Las descargas normales comparan versiones y omiten todo lo que ya esté al día, que es justo el comportamiento equivocado cuando los archivos del disco están dañados. La reinstalación forzada vuelve a pasar el paquete por el mismo canal autenticado de descarga, importación y recarga sin importar la versión.

all cubre todos los paquetes que BetterStructures ve actualmente como descargados, instalados o desactualizados. Si los archivos de un paquete han desaparecido por completo, BetterStructures ya no puede verlo, así que indica su slug directamente: el autocompletado lista todos los slugs conocidos.