¿Qué son las mazmorras modulares?
Las mazmorras modulares son un sistema de mazmorras introducido en BetterStructures 2.0.0 y posterior. En lugar de generarse como un único schematic fijo, las mazmorras modulares se ensamblan dinámicamente a partir de módulos más pequeños y hechos a mano. Este enfoque permite mazmorras grandes y de múltiples pisos que se sienten únicas en cada mundo mientras se integran perfectamente con Minecraft vanilla.
Cómo se generan las mazmorras modulares
-
Módulos Cada módulo se construye típicamente en un tamaño configurable (predeterminado 16x16x16 bloques, aunque algunos paquetes de contenido usan 32x16x32 u otras dimensiones). Los módulos se diseñan con puntos de conexión estandarizados usando un sistema de etiquetas de borde para que puedan conectarse a otros módulos sin huecos ni superposiciones. Las dimensiones para una mazmorra se configuran usando las opciones
moduleSizeXZymoduleSizeYen la configuración del generador de módulos. Los módulos pueden contener pasillos, habitaciones, escaleras o espacios especiales de encuentro. -
Proceso de generación Cuando una mazmorra modular se genera en un nuevo chunk, BetterStructures usa un algoritmo Wave Function Collapse (WFC) para ensamblar proceduralmente módulos del pool disponible. El sistema selecciona aleatoriamente módulos compatibles basándose en la coincidencia de etiquetas de borde y los "cose" juntos en una mazmorra completa. El tiempo de generación varía según el rendimiento del servidor, el tamaño de la mazmorra (radio), el rango vertical, la cantidad de módulos y la complejidad de las restricciones. El sistema usa distribución de carga de trabajo para prevenir lag del servidor durante la generación.
-
Tamaño de la mazmorra Las mazmorras pueden configurarse para generarse en varios tamaños usando el parámetro de radio. Valores de radio más grandes crean mazmorras significativamente más grandes que pueden abarcar cientos de bloques. La mayoría de las mazmorras incluyen múltiples pisos, conectados a través de módulos de escaleras o pozos verticales. Las conexiones verticales entre pisos se logran a través de las entradas
up/downdel mapa de etiquetas de bordebordersde un módulo: la cara superior de un módulo se une a un vecino que está encima cuando sus etiquetas de borde opuestas coinciden.
Variedad e integración de paquetes
-
Paquete gratuito El Dungeoneering Modules Free Pack incluye 15 módulos. Esto funciona como una mazmorra completamente jugable por sí sola.
-
Paquete premium El Dungeoneering Modules Premium Pack agrega 38 módulos adicionales. Cuando se combina con el paquete gratuito, ambos sets se entrelazan en un único sistema de mazmorra con un pool de módulos mucho más grande. Esto reduce la repetición y aumenta la variedad en los diseños generados.
-
Integración de props Si también instalas el BetterStructures Prop Pack (a través de FreeMinecraftModels), las mazmorras modulares mostrarán props de modelos personalizados en las construcciones, como se muestra en nuestras capturas de pantalla de demostración. Sin el paquete de props, las mazmorras seguirán funcionando normalmente, pero sin los modelos decorativos.
Integración con EliteMobs
Aunque la mayor parte de la mazmorra solo depende de BetterStructures y mobs vanilla de Minecraft, algunas mazmorras presentan encuentros de jefes:
- Si EliteMobs y FreeMinecraftModels están ambos instalados → pelea completa de jefe personalizado con modelo.
- Si solo FreeMinecraftModels está instalado → el modelo del jefe aparece como prop decorativo.
- Si ninguno está instalado → la sala del jefe simplemente estará vacía.
El sistema usa un sistema de spawn basado en carteles con etiquetas especiales para colocar entidades y contenedores en áreas designadas. Los niveles de los jefes escalan basándose en la distancia desde el centro de la mazmorra, proporcionando un desafío apropiado a lo largo de la estructura.
Tipos de carteles de módulo
| Etiqueta de cartel | Línea 1 | Líneas adicionales | Descripción |
|---|---|---|---|
[spawn] | [spawn] | Tipo de entidad en la línea 2 | Genera una entidad vanilla en la ubicación del cartel |
[pool: poolname] | [pool: poolname] | — | Genera un jefe aleatorio del pool de spawn nombrado |
[chest] | [chest] | — | Coloca un cofre en la ubicación del cartel |
[trapped_chest] | [trapped_chest] | — | Coloca un cofre trampa en la ubicación del cartel |
[barrel] | [barrel] | — | Coloca un barril en la ubicación del cartel |
[exit] | [exit] | Nombres de archivo de schematic de ascensor en las líneas 2-3 | Marca un punto de salida con schematics de ascensor arriba/abajo |
Si EliteMobs no está instalado pero un paquete de contenido lo requiere, los administradores recibirán un mensaje de advertencia.
Este diseño mantiene las mazmorras modulares compatibles con configuraciones estilo vanilla, mientras ofrece integración más profunda para usuarios con plugins adicionales.
Pools de spawn
Los carteles [pool: poolname] leen de archivos de configuración de pool de spawn en la carpeta spawn_pools/. Cada archivo de pool de spawn es una pequeña configuración YAML con estos campos:
| Campo | Predeterminado | Descripción |
|---|---|---|
isEnabled | true | Si este pool de spawn está habilitado |
poolStrings | [] | Lista de nombres de archivo de jefes de EliteMobs elegibles para este pool |
minLevel | -1 | Nivel mínimo para los jefes instanciados generados desde este pool (-1 = sin especificar) |
maxLevel | -1 | Nivel máximo para los jefes instanciados generados desde este pool (-1 = sin especificar) |
Cuando se procesa un cartel [pool: poolname], BetterStructures busca poolname.yml (opcionalmente con el spawnPoolSuffix del generador añadido) y elige un jefe aleatorio de los poolStrings del pool. Para los jefes instanciados, el nivel de aparición escala entre minLevel y maxLevel según la distancia del jefe al centro de la mazmorra.
Integración con MythicMobs
BetterStructures también soporta la integración con MythicMobs para encuentros personalizados de mobs dentro de las mazmorras modulares.
Cuando MythicMobs está instalado, los paquetes de estructuras pueden generar MythicMobs personalizados como parte de la generación de la mazmorra. Esto permite encuentros de mobs más sofisticados y peleas de jefes más allá de lo que Minecraft vanilla o EliteMobs proporcionan.
Si MythicMobs no está instalado, el plugin notificará a los administradores con los permisos apropiados y proporcionará un enlace de descarga.
Integración con FMM
Las mazmorras modulares también pueden aprovechar los props de FreeMinecraftModels (FMM) durante la creación.
- Si FMM está instalado, cualquier prop colocado por el creador del módulo o constructor aparecerá en la mazmorra generada.
- Los props son puramente decorativos y no afectan el gameplay, pero mejoran la fidelidad visual e inmersión del entorno.
- Si FMM no está instalado, la mazmorra se generará normalmente, pero estos props personalizados no se mostrarán.
Esto asegura que los creadores puedan diseñar mazmorras con detalles extra mientras mantienen la compatibilidad para jugadores que no tienen FMM instalado.
Dimensiones del módulo
Importante: El tamaño del módulo es configurable, no fijo.
Cada generador de módulos define su tamaño de módulo estándar usando:
moduleSizeXZ: Ancho y profundidad en bloques (predeterminado: 16)moduleSizeY: Altura en bloques (predeterminado: 16)
Tamaño predeterminado: 16×16×16 bloques Alternativa común: 32×16×32 bloques (usado en algunos paquetes de contenido)
Para creadores de módulos:
- Revisa tu configuración de generador para los valores de
moduleSizeXZymoduleSizeY - Construye TODOS los módulos para ese generador con estas dimensiones exactas
- Tamaños que no coincidan causarán fallos de conexión
Configurar dimensiones personalizadas: En tu archivo de configuración del generador de módulos:
moduleSizeXZ: 32 # Ancho y profundidad
moduleSizeY: 16 # Altura
Nota: Todos los módulos en un generador deben usar las mismas dimensiones. No puedes mezclar módulos de 16×16×16 y 32×16×32 en el mismo sistema de mazmorra.
Campos de configuración del generador de módulos
Además de moduleSizeXZ y moduleSizeY, la configuración del generador de módulos soporta los siguientes campos:
| Campo | Predeterminado | Descripción |
|---|---|---|
radius | 1 | Radio de la mazmorra en chunks |
edges | false | Si se generan módulos de borde |
startModule | — | Lista de módulo(s) de inicio para la generación |
minChunkY | 0 | Límite vertical mínimo de chunk |
maxChunkY | 0 | Límite vertical máximo de chunk |
moduleSizeXZ | 16 | Ancho y profundidad de los módulos en bloques |
moduleSizeY | 16 | Altura de los módulos en bloques |
debug | false | Habilita el modo de depuración para solución de problemas de generación |
useGradientLevels | false | Habilita el escalado de nivel basado en gradiente para entidades generadas |
spawnPoolSuffix | — | Sufijo añadido a los nombres de pools de spawn para este generador |
isWorldGeneration | false | Si este generador se usa para generación de mundo |
treasureFile | — | Archivo de configuración de tesoro para los cofres de esta mazmorra |
generateLootInBarrels | true | Si los barriles de los módulos deben llenarse con botín |
barrelTreasureFilename | treasure_barrel_food.yml | Archivo de configuración de tesoro usado para llenar los barriles de esta mazmorra |
validWorlds | — | Lista de nombres de mundos válidos donde la mazmorra puede generarse |
validWorldEnvironments | — | Lista de entornos de mundo válidos |
centerModuleAltitude | 0 | Altitud para el módulo central |
Campos de configuración por módulo
Cada módulo individual puede definir los siguientes campos de configuración:
| Campo | Predeterminado | Descripción |
|---|---|---|
isEnabled | true | Si este módulo está habilitado |
weight | 100 | Peso de selección para este módulo durante la generación |
repetitionPenalty | 0 | Penalización aplicada cuando este módulo es seleccionado múltiples veces |
noRepeat | false | Previene que este módulo se repita |
enforceVerticalRotation | false | Aplica restricciones de rotación vertical |
enforceHorizontalRotation | false | Aplica restricciones de rotación horizontal |
minY | -4 | Nivel Y mínimo para este módulo |
maxY | 20 | Nivel Y máximo para este módulo |
biome | default | Requisito de bioma para este módulo |
minecraftBiome | null | Requisito de bioma de Minecraft para este módulo |
treasureFile | — | Archivo de configuración de tesoro para los cofres de este módulo |
generateLootInBarrels | true | Si los barriles de este módulo deben llenarse con botín |
barrelTreasureFilename | treasure_barrel_food.yml | Archivo de configuración de tesoro usado para llenar los barriles de este módulo |
borders | — | Mapa de etiquetas de borde que define la compatibilidad de conexión |
cloneConfig | — | Clonar configuración desde otro archivo de configuración de módulo |
compoundModule | — | Vincula este módulo como parte de un módulo compuesto (multi-parte) |
isAutomaticallyPlaced | true | Si el módulo se coloca automáticamente durante la generación |
Nota: Qué caras de un módulo pueden conectarse a los vecinos está controlado enteramente por el mapa de etiquetas de borde borders, no por ningún interruptor "passable" por cara. Dos módulos se unen en una cara cuando sus etiquetas de borde opuestas coinciden.