Saltar al contenido principal

Crear contenido


Crear la construcción​

Mantén las estructuras por debajo de 100x100x100 bloques como punto de partida práctico para su integración y consumo de recursos. Es una recomendación, no un límite estricto. Las estructuras mayores requieren más memoria y trabajo de colocación, además de una posición adecuada dentro de los límites de altura del mundo.


Bloques especiales​

BetterStructures tiene dos bloques especiales: barreras y roca madre. Cualquier otro bloque que WorldEdit pueda pegar se coloca normalmente, pero las barreras y la roca madre son excepciones.

BloqueComportamientoUso
BarreraNo coloca ningún bloque en esa posición: conserva el terreno originalRedondear los bordes del pegado, adaptar paredes a cuevas e integrar la estructura en el terreno
Roca madreConserva un bloque sólido existente; de lo contrario, coloca material de pedestalCrear suelos para raíles sin sustituir terreno sólido existente

Carteles de aparición​

BetterStructures puede usar carteles con texto específico para generar mobs y jefes de EliteMobs y MythicMobs en posiciones concretas, o para pasar un marcador a otro plugin.

Los carteles de aparición se pegan primero y se eliminan justo antes de intentar generar su entidad, una vez terminado el pegado de bloques. Pueden verse durante el pegado, y su eliminación no demuestra que la entidad se haya generado. Una etiqueta desconocida, un tipo de entidad vanilla inválido o un ID de MythicMobs vacío deja un cartel normal. Si falta EliteMobs o MythicMobs, un esquema que use su etiqueta se excluye por completo del registro de estructuras.

Una vez pegados los bloques, BetterStructures termina la estructura en este orden: el pedestal, la limpieza de los árboles sobrantes sobre las estructuras de superficie, los contenedores de botín, los mobs de [spawn], los jefes de [elitemobs], los mobs de [mythicmobs], las entidades guardadas en el esquema y, por último, los marcadores [custom]. Si un mob o jefe no se genera, se omiten los pasos restantes, BuildPasteCompleteEvent no se emite y no se envía el mensaje de nuevo edificio.

Tipo de cartelLínea 1Líneas 2-4Plugin necesario
Mobs vanilla[spawn]Tipo de entidad en la línea 2Ninguno
EliteMobs[elitemobs]Nombre del archivo del jefe, repartido entre las líneas 2-4EliteMobs
MythicMobs[mythicmobs]Nombre del mob en la línea 2 y nivel opcional en la línea 3MythicMobs
Otros plugins[custom]ID del marcador, repartido entre las líneas 2-4Un plugin que escuche BuildCustomMarkerEvent

Los carteles de pie, pared y colgantes se reconocen por sus nombres de material Bukkit terminados en _SIGN, sin una lista fija de maderas. Escribe la etiqueta en el frente: el lector de carteles modernos usa front_text, no el reverso. Las líneas escritas en el juego, el texto JSON y los componentes de texto escritos por plugins se leen todos como texto plano. Las etiquetas no distinguen mayúsculas de minúsculas. Los ID de entidades y nombres de archivo deben ser exactos y no llevar espacios adicionales.

La línea de nivel de MythicMobs es opcional. La línea 3 vacía usa nivel 1. Los niveles numéricos inferiores a 1 se convierten en 1. Un nivel que no sea un número, o un ID de mob que MythicMobs no conozca, hace que la aparición falle, lo que omite los pasos finales restantes de la estructura.

Ejemplos de carteles de aparición

Mobs vanilla​

[spawn]

ZOMBIE

Genera un zombi persistente, centrado horizontalmente en el bloque del cartel. Usa un EntityType de Spigot que pueda generarse, como un soporte para armaduras o un cristal del End. La enumeración también contiene tipos que el mundo no puede generar directamente; aceptar el nombre no garantiza el éxito. Si el mundo rechaza la aparición, se omiten los pasos finales restantes de la estructura.

EliteMobs​

[elitemobs]

test_boss_with

_a_long_name

.yml

Los nombres largos pueden ocupar las líneas 2-4, que se unen sin separadores. La arena queda protegida contra romper y colocar bloques cuando protectEliteMobsRegions está activado y EliteMobs y WorldGuard están instalados. Cada jefe regional generado recibe una región. Su muerte solo elimina esa región si tiene removeAfterDeath: true, por lo que un jefe que reaparece puede dejar la protección activa. Un fallo al generar un jefe de EliteMobs, como un nombre de archivo que no coincide con ningún jefe, omite los pasos finales restantes de la estructura.

MythicMobs​

[mythicmobs]

SkeletalKnight

10

Genera SkeletalKnight con nivel 10.

Marcadores personalizados​

[custom]

Zombie_Plus

BetterStructures no hace nada con el ID en sí. Después de pegar los bloques, el botín, los mobs y las entidades de la estructura, elimina el cartel y emite BuildCustomMarkerEvent con el ID y la posición del cartel, para que otro plugin pueda generar su propio mob, colocar un bloque o ejecutar cualquier otra lógica allí. Las líneas 2-4 se unen sin separadores, como los nombres de archivo de EliteMobs, y cada línea también está disponible por separado. Sin un plugin que lo escuche, el marcador simplemente desaparece. Un cartel [custom] con las líneas 2-4 vacías se queda como cartel normal y registra una advertencia. Los marcadores personalizados funcionan en estructuras normales, no en mazmorras modulares.


Esquemas​

Los esquemas son archivos generados por WorldEdit o FastAsyncWorldEdit que contienen los bloques de la construcción que utilizará BetterStructures. BetterStructures usa el formato .schem, el estándar moderno de WorldEdit. Guarda tus esquemas en formato .schem, no en el antiguo formato .schematic.

Consulta la guía del portapapeles de WorldEdit para copiar y guardar. Los pasos básicos son:

  1. Elige una esquina de la construcción y usa //pos1.
  2. Elige la esquina diagonalmente opuesta y usa //pos2.
  3. Usa //copy.
  4. Usa //schem save <schematicname> con el nombre de archivo deseado.
  5. Copia el .schem resultante desde la carpeta de esquemas del editor a plugins/BetterStructures/schematics y recarga BetterStructures. La carpeta predeterminada de WorldEdit es plugins/WorldEdit/schematics.
worldedit documentation image from their docs

Ejecuta //pos1 en el punto 1 y //pos2 en el punto 2.


Punto de anclaje​

El punto de anclaje es la posición donde ejecutas //copy para el esquema. Determina el origen de la estructura al colocarla en el mundo.

Tipo de construcciónPosición de anclaje recomendadaMotivo
SuperficiePunto más bajo del sueloAlineación correcta con el terreno
SubterráneaEncima de la construcciónCálculo correcto de la profundidad de enterramiento
LíquidoEncima del aguaColocación correcta en la superficie del agua
Aire/CieloEncima de la construcciónAltitud correcta

Elige deliberadamente la posición de copia. Su desplazamiento se guarda en el esquema y afecta a la colocación y la rotación. Mantente cerca de la construcción para facilitar su inspección; la distancia por sí sola no aumenta el número de bloques de la selección guardada.


Configuración de los esquemas

Cada archivo de esquema tiene una configuración. Al añadir un esquema al servidor, su configuración se genera después de reiniciar o ejecutar /betterstructures reload.

El .yml se genera en la misma carpeta que el .schem. plugins/BetterStructures/schematics se recorre de forma recursiva, por lo que un paquete que incluya esquemas en una subcarpeta recibe sus configuraciones en esa misma subcarpeta. Mantén nombres de archivo únicos en todo el árbol de schematics. Ante nombres de estructura duplicados, BetterStructures carga el primer archivo según un orden estable de rutas absolutas y registra tanto la ruta elegida como la omitida. Los duplicados idénticos byte a byte cargan la misma estructura en cualquier caso y se omiten sin advertencia. No elimina ninguno ni recurre al duplicado omitido si el elegido está dañado. Los nombres de módulos duplicados siguen impidiendo la inicialización.

Un .yml sin su .schem correspondiente no crea una estructura. El cargador parte de los archivos de esquema encontrados. Si no puede leer alguno de los esquemas seleccionados, falla la inicialización en lugar de aceptar un registro parcial, incluso si su configuración lo desactivaría.

Estas configuraciones permiten establecer las siguientes opciones para pegar el esquema:

ClaveValor predeterminadoObligatoriaDescripción
isEnabledtrue❌Si el esquema está activado. Si se desactiva, no se coloca en ningún lugar.
weight1.0❌Peso relativo entre esquemas elegibles. Usa valores finitos y positivos. 2.0 tiene el doble de peso que 1.0. Un valor negativo o no finito registra una advertencia y se convierte en 0, y una estructura con peso 0 nunca se elige. Para desactivar una estructura, usa isEnabled: false.
pedestalMaterialAlternativa del entorno❌Material alternativo de pedestal (nombres de Material de Spigot). Los materiales muestreados del terreno tienen prioridad cuando están disponibles.
generatorConfigFilename-✅Nombre del archivo de configuración del generador, incluida la extensión .yml. Los esquemas sin este valor no aparecen.
treasureFilePredeterminado del generador❌Sustituye el archivo de tesoro de los cofres de esta estructura. Generalmente conviene modificar el generador.
barrelTreasureFilenamePredeterminado del generador❌Sustituye el archivo de tesoro de los barriles de esta estructura. Usa por defecto el del generador o su alternativa treasure_barrel_food.yml.

Contenedores de botín: BetterStructures detecta automáticamente los cofres, cofres trampa y cajas de shulker sin teñir de los esquemas y los llena con el archivo de tesoro de cofres. Los barriles se llenan por separado con el archivo de tesoro de barriles, treasure_barrel_food.yml por defecto, y pueden desactivarse por generador con generateLootInBarrels: false. No hacen falta carteles ni configuraciones especiales para marcar estos contenedores.

Una sustitución de tesoro en el esquema sigue necesitando una tabla válida del generador para ese tipo de contenedor. Los barriles también requieren su interruptor de botín en el generador. Las sustituciones inválidas generan una advertencia y usan el generador. El contenido existente se conserva y el nuevo botín ocupa huecos vacíos.

Las configuraciones de esquemas recién generadas tienen generatorConfigFilename vacío. Elige un archivo cargado, como generator_surface_global.yml, y ejecuta /bs reload. Hasta que el campo sea válido, la estructura no puede aparecer y no figura en el autocompletado de /bs place. La consola indica la ruta de configuración afectada y enumera ejemplos de generadores disponibles.

Generadores desactivados: si el generador indicado por generatorConfigFilename tiene isEnabled: false, el esquema se omite por completo, aunque su propio isEnabled sea true.

Detalles de configuración

pedestalMaterial​

Los pedestales rellenan hasta diez bloques bajo cada columna cuyo bloque inferior no sea aire en construcciones de superficie y subterráneas. Se detienen ante un bloque que no se considere terreno reemplazable. Las estructuras aéreas y líquidas no reciben este relleno descendente. La misma selección de material se usa para los marcadores de roca madre dentro del esquema.

El plugin toma muestras de materiales superficiales y subterráneos alrededor del volumen de colocación y elige aleatoriamente del grupo adecuado, ponderando por frecuencia. No elige siempre el material más común. Un pedestalMaterial configurado solo se usa si el grupo de muestras correspondiente está vacío; no sustituye un grupo con muestras. Elige un material de bloque sólido. Sin alternativa configurada, se usa netherrack en el Nether, piedra del End en el End y piedra en los demás entornos. Las estructuras aéreas omiten el muestreo y la alternativa configurada, por lo que sus marcadores de roca madre usan el valor del entorno.

generatorConfigFilename​

Ejemplo: generatorConfigFilename: generator_surface_global.yml

El archivo del generador se encuentra en la carpeta de configuración de generadores.

treasureFile​

Consulta la documentación de archivos de tesoro y la documentación de generadores para más detalles.

Personalizar contenido

Todo el contenido distribuido en BetterStructures es editable. Puedes modificar cualquier archivo de esquema y opción de generador a tu gusto.

La guía de creación de contenido anterior también sirve para editar contenido existente.


Solución de problemas

Si tu estructura no aparece, comprueba que:

  • El archivo del esquema esté en formato .schem.
  • Se haya especificado una configuración de generador válida.
  • La opción isEnabled sea true tanto en el esquema como en el generador que utiliza.
  • Si el esquema está dentro de la carpeta de un paquete de contenido, ese paquete esté instalado (isEnabled: true en su archivo de content_packages). Se omite toda la carpeta de un paquete desactivado.
  • Tu versión de WorldEdit/FastAsyncWorldEdit sea compatible.
  • El .yml esté junto al .schem, no en un árbol incorrecto plugins/BetterStructures/plugins/BetterStructures/.... Las compilaciones antiguas escribían allí por error. Compara y conserva las opciones útiles antes de eliminar esa copia y, tras recargar, revisa la configuración adyacente y su generador.

Si la consola informa de nombres de estructuras duplicados, inspecciona las rutas seleccionadas y omitidas y asigna nombres únicos a las estructuras deseadas, con sus configuraciones correspondientes. Los nombres duplicados bajo modules siguen impidiendo la inicialización y deben resolverse antes de reiniciar.

La carpeta .schematic_cache​

BetterStructures guarda copias convertidas de los esquemas de estructuras en plugins/BetterStructures/.schematic_cache, con subcarpetas modules y components para esos cargadores. Los .schem antiguos pueden necesitar conversión de datos de Minecraft, por lo que el resultado se guarda y reutiliza. Los portapapeles de estructuras y módulos sin cambios también pueden reutilizarse desde memoria al recargar contenido.

No necesitas gestionar esta carpeta:

  • Las entradas de disco dependen del contenido del esquema, la versión de datos de Minecraft y la versión de WorldEdit. Cambiar cualquiera de estos valores reconstruye las entradas afectadas.
  • Los cargadores eliminan entradas de disco obsoletas cuando leen archivos o detectan eliminaciones, siempre que puedan calcular al menos una clave actual de caché. Retirar todo el contenido no vacía automáticamente toda la caché.
  • Es solo una optimización: si una entrada falta, es ilegible o no supera la verificación, se lee el .schem original.

Se puede eliminar con seguridad; el siguiente arranque la reconstruye y tarda más.

"Skipped N unsupported legacy block entries"​

Al convertir esquemas antiguos, DataFixerUpper de Mojang puede emitir mensajes repetidos Unsupported key:, incluido minecraft:bed. BetterStructures cuenta los mensajes coincidentes e informa de sus claves en una línea informativa. Es un resumen de la salida de conversión, no un fallo independiente del cargador de estructuras.

Si el resumidor no puede conectarse al sistema de registro del servidor, lo informa una vez y deja visibles los mensajes originales. Investiga por separado otros errores de carga o problemas visibles de las estructuras. El resumen por sí solo no demuestra una instalación dañada ni verifica el resultado pegado.

Si los carteles de aparición no funcionan:

  • Comprueba que su formato coincida exactamente con los ejemplos.
  • Para EliteMobs/MythicMobs, comprueba que los plugins estén instalados.
  • Comprueba la escritura de los tipos de entidad y nombres de mobs.
  • Revisa los registros del servidor para encontrar mensajes de error concretos.