Generación de mundos personalizados

Quien soy
Joel Fulleda
@joelfulleda
Autor y referencias
Este artículo es un trabajo en progreso.  Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.
Nota: En 20w29a, la configuración de ruido también es una carpeta separada en worldgen Esta función es exclusiva de Java Edition. 

Generación de mundos personalizados permite que los paquetes de datos cambien la forma en que se genera el mundo. Esto es particularmente útil junto con mundos personalizados.



Contenido

  • 1 Configuración de ruido
    • 1.1 formato JSON
    • 1.2 Configuración predeterminada
      • 1.2.1 Estructura por defecto
  • 2 Bioma
  • 3 talladores
    • 3.1 formato JSON
  • 4 constructores de superficies
  • Características 5
  • 6 características de la estructura
  • 7 piscinas de rompecabezas
    • 7.1 formato JSON
  • 8 listas de procesadores
    • 8.1 formato JSON
    • 8.2 Predicados
  • Historia de 9
  • Enlaces 10 externos
  • 11

Configuración de ruido

La configuración de ruido es para generar la forma del terreno, almacenada como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / noise_settings, y se utilizan con el generador de ruido minecraft: en la carpeta de dimensiones. La configuración predeterminada incluye minecraft: overworld para la generación normal de Overworld, minecraft: amplificado para la generación Amplified Overworld, minecraft: nether para la generación Nether regular, minecraft: caves para la generación Cave (generación similar a la Nether pero con características de terreno Overworld), minecraft: the_end para la generación regular Generación final y minecraft: floating_islands para la generación de islas flotantes (similar a las islas exteriores de The End).



Formato JSON

  • La etiqueta raíz
    •  bedrock_roof_position: El desplazamiento Y del techo de roca madre debajo de la cima del mundo. Si está fuera de los límites del mundo, el techo no desaparece.
    •  bedrock_floor_position: El desplazamiento Y del lecho de roca sobre el fondo del mundo.
    •  sea_level: el nivel del mar en esta dimensión.
    •  min_surface_level: el nivel Y mínimo donde los constructores de superficie configurados tienen efecto.
    •  disable_mob_generation: si la generación de mafias durante worldgen está desactivada.
    •  noise_caves_enabled: si las diferentes cuevas de ruido generan.
    •  noodle_caves_enabled: si se generan cuevas de fideos.
    •  deepslate_enabled: si la piedra se reemplaza con deepslate en la parte inferior del mundo.
    •  ore_veins_enabled: si se generan vetas de mineral.
    •  aquifers_enabled: si los acuíferos generan.
    •  default_block: El bloque predeterminado utilizado para el terreno.
      • Etiquetas de estado de bloque
    •  default_fluid: el bloque utilizado para mares y lagos.
      • Etiquetas de estado de bloque
    •  estructuras: configuración de la estructura
      •  fortaleza: Configuración de cómo deben generarse las fortalezas. El valor de fortaleza bajo la etiqueta de estructuras parece ser marcadores de posición para que cada estructura tenga un valor; estos valores son los que realmente controlan el desove de las fortalezas.
        •  distancia: controla la distancia entre las fortalezas.
        •  contar: Cuántas fortalezas generar.
        •  propagar:
      •  Estructuras: Lista de estructuras a utilizar en esta dimensión.
        •  : La clave para este campo debe ser el ID de espacio de nombres de una estructura; hay una lista disponible en el valor de datos de Java Edition § Estructuras.
          •  espaciado: distancia promedio entre dos intentos de colocación de estructuras de este tipo en trozos [nota 1].
          •  separación: Distancia mínima entre dos estructuras de este tipo en trozos. Debe ser menor que el espaciado.
          •  sal: un número que ayuda en la aleatorización; ver sal (criptografía).
    •  ruido: Parámetros para la generación mundial.
      •  min_y: La coordenada Y mínima donde el terreno comienza a generarse. Valor entre -2048 o -2032 y 2031. Debe ser divisible por 16. Tenga en cuenta que si se usa -2048, la cara inferior del, probablemente, lecho de roca no se iluminará correctamente. [1]
      •  altura: la altura total donde se genera el terreno. Debe ser divisible por 16. Antes de 1.17, aplasta el mundo, por ejemplo, con altura = 128, el suelo se establece en Y = 32. min_y + altura no puede ser superior a 2032, por lo que su máximo es 4064 o 4080.
      •  size_horizontal: cambia la escala X / Z de la masa terrestre, pero no los biomas. [necesita prueba]
      •  size_vertical: Cambia la escala Y de la masa terrestre. Los valores entre 1 y 15 aumentan gradualmente la altura de la colina, por encima de 20 están todos por encima del nivel normal del mar de 63, y más altos de 32 dan niveles de tierra normales de más de 100.
      •  densidad_factor: cambia el gradiente de la densidad del terreno desde la parte inferior hasta la parte superior del mundo. Los valores positivos dan como resultado un terreno que es sólido por debajo con formas que se encogen a mayores altitudes, los valores negativos dan como resultado un terreno que es sólido en la parte superior con un espacio vacío debajo. Los valores positivos o negativos más altos dan como resultado una transición más nítida.
      •  Densidad_desplazamiento: Mueve la altura del centro para la densidad del terreno en relación con la mitad del mundo, en una cantidad inversamente proporcional al factor_densidad.
      •  simplex_surface_noise: si los constructores de superficies deberían usar ruido simple en lugar de ruido perlin.
      •  random_density_offset: Opcional. [necesita pruebas]
      •  island_noise_override: opcional. Hace que el mundo se genere como The End con una gran isla en el centro y otras más pequeñas alrededor.
      •  amplificado: Opcional. Alterna entre generación de terreno normal y amplificada.
      •  muestreo: especifica cómo se muestrea el ruido.
        •  xz_scale: escala los ejes X y Z del ruido. Los valores más altos dan como resultado formas horizontales más intrincadas. Funciona de manera similar para coordinar la escala de viejos mundos personalizados.
        •  xz_factor: suaviza el ruido en el eje horizontal. Funciona de manera similar a la escala de ruido principal X / Z de antiguos mundos personalizados.
        •  y_scale: escala el eje Y del ruido. Los valores más altos dan como resultado formas verticales más complejas. Funciona de manera similar a la escala de altura de viejos mundos personalizados.
        •  y_factor: suaviza el ruido en el eje vertical. El valor puede oscilar entre 0.001 y 1000.0. Funciona de manera similar a la escala de ruido principal Y de antiguos mundos personalizados.
      •  top_slide: Configuración de la curva en la cima del mundo.
        •  objetivo: el valor de la curva. Los valores negativos redondean la cima de las colinas en el área afectada, los valores positivos crean un techo. Los valores más altos producen efectos más grandes.
        •  tamaño: Define el tamaño del área afectada desde la cima del mundo. Calculado usando la fórmula tamaño = * 0.25 / tamaño_vertical.
        •  offset: Mueve el área afectada desde la cima del mundo. Utiliza la misma fórmula que el tamaño, por lo que offset = * 0.25 / tamaño_vertical. Para top_slide, los valores positivos mueven el área hacia abajo y los valores negativos la hacen subir.
      •  bottom_slide: Configuración de la curva en la parte inferior del mundo.
        •  objetivo: el valor de la curva. Los valores negativos quitan el suelo y redondean el fondo de las islas, los valores positivos forman un suelo. Los valores más altos producen efectos más grandes.
        •  tamaño: Define el tamaño del área afectada desde el fondo del mundo. Utiliza la misma fórmula que en top_slide.
        •  offset: Mueve el área afectada desde la parte inferior del mundo. Utiliza la misma fórmula que en top_slide. Para bottom_slide, los valores positivos mueven el área hacia arriba y los valores negativos la reducen.




Ajustes por defecto

Estas son las configuraciones utilizadas por los 6 ajustes preestablecidos disponibles para Minecraft: generador de ruido.

Propiedad supramundo amplificado inferior cuevas final Islas flotantes
posición_techo_roca hasta el 10 0 hasta el 10
posición_piso_roca 0 0 hasta el 10
el nivel del mar 63 32 0
disable_mob_generation false false verdadero false
default_block stone netherrack stone end_stone stone
default_fluid agua lava agua aire agua
estructuras fortaleza distancia 32 Etiqueta no incluida Etiqueta no incluida
contar 128
propagación 3
estructuras Véase más adelante
ruido top_slide objetivo hasta el 10 120 hasta el 3000
tamaño 3 3 64
compensar 0 0 hasta el 46
bottom_slide objetivo hasta el 30 320 hasta el 30
tamaño 0 4 7
compensar 0 -1 1
muestreo xz_scale 0.9999999814507745 1 2
xz_factor 80 80 80
escala_y 0.9999999814507745 3 1
y_factor 160 60 160
size_vertical 2 2 1
size_horizontal 1 1 2
altura 256 128 128
factor_densidad 1 0 0
compensación_densidad hasta el 0.46875 0.019921875 0
compensación_de_densidad_aleatoria verdadero false false
simplex_surface_noise verdadero false verdadero
island_noise_override false false verdadero false
amplificado false verdadero false false

Valores predeterminados de estructura

Estos son los valores predeterminados para todas las estructuras de espacio de nombres. Todos los ajustes preestablecidos utilizan los mismos valores para todas estas estructuras, con la excepción de minecraft: ruined_portal.



curso en línea espaciamiento Separación Sal
pueblo 32 8 10387312
pirámide_del_desierto 32 8 14357617
iglú 32 8 14357618
pirámide_jungla 32 8 14357619
Swamp_hut 32 8 14357620
pillager_outpost 32 8 165745296
fortaleza* 1 0 0
monumento 32 5 10387313
endcity 20 11 10387313
palacio 80 20 10387319
Tesoro enterrado** 1 0 0
pozo de mina** 1 0 0
portal_arruinado abismo y cuevas 25 10 34222645
Todos los demás ajustes preestablecidos 40 15 34222645
naufragio 24 4 165745295
ocean_ruin 20 8 14357621
bastion_remnant 27 4 30084232
fortaleza 27 4 30084232
nether_fossil 2 1 14357921

* Los valores de marcador de posición no tienen efecto

** Los valores de sal no se utilizan para estas estructuras; cambiarlos no produce ningún efecto

Biome

Artículo principal: formato JSON de Biome

Biomas almacenados como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / biome.

Talladores

Los talladores se utilizan para agregar regiones talladas de biomas, ya sea reemplazadas por aire o líquido. Se almacenan como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / configure_carver.

Se desconoce si es posible configurar la capa de "océano" de talladores (por ejemplo, la lava que aparece debajo de y = 10 en las cuevas de Overworld).

Formato JSON

La etiqueta raíz

    •  type: el tipo de tallador que se utilizará, debe ser "cueva", "nether_cave", "canyon", "submarino_canyon" o "submarino_cave".
    •  config: ver a continuación.

Compartido por todos los tipos de tallistas:

  •  config: Valores de configuración para el tallador.
    •  probabilidad: La probabilidad de que cada fragmento intente generar este tallador debe estar entre 0 y 1.
    •  y: proveedor de altura. La altura a la que este tallador intenta generar.
      • Etiquetas comunes a todos los proveedores de altura
    •  yScale: proveedor flotante. Escala verticalmente el área tallada.
      • Etiquetas de proveedor flotantes
    •  lava_level: El ancla vertical donde la lava comienza a generarse.
      • Opciones de anclaje vertical
    •  aquifers_enabled: si es verdadero, se generarán acuíferos.

Cuando el tipo de tallador es "cueva", "nether_cave" o "submarino_cave":

  •  config: valores de configuración para el tallador
    •  horizontal_radius_multiplier: [necesita prueba]
      • Etiquetas de proveedor flotantes
    •  vertical_radius_multiplier: [necesita prueba]
      • Etiquetas de proveedor flotantes
    •  floor_level: [necesita prueba]
      • Etiquetas de proveedor flotantes

Cuando el tipo de tallador es "cañón" o "cañón_ submarino":

  •  config: Valores de configuración para el tallador.
    •  vertical_rotation: [necesita prueba] Crea las curvas en el cañón a medida que continúa.
      • Etiquetas de proveedor flotantes
    •  forma: la forma que se utilizará para el barranco.
      •  espesor: [necesita prueba] El ancho del cañón.
        • Etiquetas de proveedor flotantes
      •  width_smoothness: [necesita prueba] Los valores más altos parecen suavizar las paredes del cañón en el eje vertical. Debe ser positivo.
      •  distancia_factor: [necesita prueba]
        • Etiquetas de proveedor flotantes
      •  horizontal_radius_factor: [necesita prueba]
        • Etiquetas de proveedor flotantes
      •  vertical_radius_default_factor: [necesita prueba]
        • Etiquetas de proveedor flotantes
      •  vertical_radius_center_factor: [necesita prueba]
        • Etiquetas de proveedor flotantes

Constructores de superficies

Artículo principal: constructor de superficies configurado

Los constructores de superficies controlan cómo se forma la superficie del terreno y con qué bloques se genera. Se almacenan como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / configuration_surface_builder.

Caracteristicas

Artículo principal: función configurada

Caracteristicas son elementos únicos del mundo como árboles, flores, minerales, etc. Funciones configuradas se almacenan como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / configure_feature.

Características de la estructura

Artículo principal: función de estructura configurada

Características de la estructura son un tipo especial de característica que genera una estructura. Funciones de estructura configuradas se almacenan como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / configure_structure_feature. La lógica detrás de lo que califica como una característica de estructura versus una característica regular no está clara. Las mazmorras y los pozos del desierto generalmente se consideran estructuras, pero no son características de la estructura. Además, los Nether Fossils son características de la estructura, mientras que los Fossils no lo son, aunque son esencialmente la misma característica.

Piscinas de rompecabezas

Los grupos de rompecabezas o grupos de plantillas se utilizan para generar estructuras utilizando bloques de rompecabezas, almacenados como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / template_pool.

Formato JSON

  • La etiqueta raíz
    •  nombre: el ID de espacio de nombres del grupo [necesita prueba]
    •  fallback: se puede establecer en otro grupo de plantillas, que se genera cuando el grupo original no se puede generar al final de todas las capas. Se utiliza en el paquete de datos básico para generar el final de las calles de la aldea, también conocidos como terminadores en archivos de estructura. [necesita pruebas]
    •  elementos: una lista de estructuras para elegir
      •  Un elemento:
        •  peso: probabilidad de que se elija este elemento al utilizar este grupo
        •  elemento: las propiedades de este elemento
          •  element_type: puede ser minecraft: empty_pool_element para no generar estructura, minecraft: feature_pool_element cuando se usa la función, minecraft: list_pool_element cuando se usan elementos y minecraft: legacy_single_pool_element o minecraft: single_pool_element cuando se usa la ubicación [necesita prueba]. La diferencia entre legacy_single_pool_element y single_pool_element, es que el legacy_single_pool_element no reemplazará los bloques existentes con aire (por lo que no es adecuado para construir bajo tierra) y el single_pool_element reemplazará los bloques con aire y se basa en el bloque structure_void para evitar no reemplazar los bloques.
          •  característica: el ID de espacio de nombres de la característica.
          •  ubicación: el ID de espacio de nombres de la estructura para colocar
          •  proyección: puede ser rígido para colocar una estructura fija (como una casa), o terrain_matching para que coincida con la altura del terreno como un camino de pueblo [necesita prueba]
          •  procesadores: el ID con espacio de nombres de un procesador si se trata de una cadena
            •  procesadores: una lista de procesadores para usar
              •  Un elemento:
                •  procesador_type: el ID de espacio de nombres del procesador que se va a utilizar
                •  otras propiedades [necesita pruebas]
          •  elementos: una lista de estructuras para elegir
            •  Un elemento:
              •  peso: probabilidad de que se elija este elemento al utilizar este grupo
              •  ubicación: el ID de espacio de nombres de la estructura para colocar
              •  Proyección: puede ser rígida o compatible con el terreno [necesita pruebas]
              •  element_type: puede ser minecraft: empty_pool_element para no generar estructura, minecraft: list_pool_element cuando se usan elementos, y minecraft: legacy_single_pool_element o minecraft: single_pool_element cuando se usa la ubicación [necesita prueba]
              •  procesadores: el ID con espacio de nombres de un procesador si se trata de una cadena
                •  procesadores: una lista de procesadores para usar
                  •  Un elemento:
                    •  procesador_type: el ID de espacio de nombres del procesador que se va a utilizar
                    •  otras propiedades [necesita pruebas]


Listas de procesadores

Artículo principal: Lista de procesadores

Las listas de procesadores son listas de procesadores que se utilizan para afectar bloques en estructuras, almacenadas como archivos JSON dentro de un paquete de datos en la ruta data / / worldgen / lista_procesadores.

Formato JSON

  • La etiqueta raíz
    •  procesadores: una lista de procesadores
      •  Un procesador
        •  process_type: puede ser minecraft: rule, minecraft: block_rot, minecraft: block_age, minecraft: block_ignore, minecraft: blackstone_replace, minecraft: jigsaw_replacement, minecraft: lava_submerged_block, minecraft: gravedad o minecraft: nop.
        • Si el tipo de procesador es minecraft: block_rot:
          •  integridad: un número entre 0 y 1 [necesita prueba]
        • Si el tipo_de_procesador es Minecraft: regla:
          •  reglas: una lista de reglas para aplicar de arriba a abajo [necesita prueba]
            •  Una regla
              •  position_predicate: los predicados que se aplicarán a la posición del bloque [necesita prueba]; consulte a continuación una lista de predicados válidos
              •  input_predicate: los predicados que se aplicarán al bloque que se coloca
              •  location_predicate: los predicados que se aplicarán al bloque antes de que se genere la estructura [necesita prueba]
              •  output_state: el bloque que se coloca si se cumplen todas las condiciones
                •  Nombre: ID del bloque
                •  Propiedades: estados de bloque
                  •  estado: una clave de estado de bloque y su valor
              •  output_nbt (opcional): Los datos nbt del bloque colocado si se cumplen todas las condiciones. Debe estar en formato JSON. [necesita prueba] (nunca se usa en vainilla)
        • Si el tipo de procesador es Minecraft: block_age:
          •  musgo: los valores por debajo de 0 se tratan como 0; los valores superiores a 1 se tratan como 1. [necesita prueba]
        • Si processor_type es minecraft: block_ignore:
          •  bloques: [necesita prueba]
            •  Un bloque
              •  Nombre: el ID de espacio de nombres del bloque que se utilizará.
              •  Propiedades: estados de bloque
                •  estado: una clave de estado de bloque y su valor.
        • Si processor_type es minecraft: gravity:
          •  heightmap: debe ser uno de "WORLD_SURFACE_WG", "WORLD_SURFACE", "OCEAN_FLOOR_WG", "OCEAN_FLOOR", "MOTION_BLOCKING" o "MOTION_BLOCKING_NO_LEAVES".
          •  compensación: [necesita prueba]

Predicados

  • La etiqueta raíz
    •  predicate_type: puede ser always_true, axis_aligned_linear_pos para una probabilidad aleatoria que depende de la distancia de un bloque al origen de la estructura [necesita prueba], block_match para probar un bloque, blockstate_match para probar estados de bloque específicos, random_block_match para probar un bloque con un aleatorio chance o tag_match para probar un bloque en una etiqueta de bloque.
    • Si predicate_type es axis_aligned_linear_pos:
      •  eje: puede ser x, yoz
      •  min_chance: La posibilidad de que pase el predicado cuando la distancia de un bloque al origen de la estructura es igual a min_dist [necesita prueba].
      •  max_chance: La posibilidad de que el predicado pase cuando la distancia de un bloque al origen de la estructura es igual a max_dist [necesita prueba]. Si la distancia de un bloque está entre min_dist y max_dist, la probabilidad se obtiene por interpolación lineal entre los valores de min_chance y max_chance.
      •  min_dist
      •  max_dist
    • Si predicate_type es block_match:
      •  bloque: un ID de bloque.
    • Si predicate_type es blockstate_match:
      •  block_state
        •  Nombre: ID del bloque
        •  Propiedades: estados de bloque
          •  estado: una clave de estado de bloque y su valor.
    • Si predicate_type es random_block_match:
      •  bloque: un ID de bloque.
      •  probabilidad: La probabilidad (entre 0 y 1) de que el predicado pase si se encuentra el bloque.
    • Si predicate_type es tag_match:
      •  etiqueta: el ID con espacio de nombre de una etiqueta de bloque

Historia

Edición Java
1.16.220w28aSe agregó soporte para la generación de mundos personalizados.
20w29aLa configuración de ruido también se puede cambiar en worldgen.

Enlaces externos

  • Configuraciones para vanilla world generation (1.16.5) (descarga directa)
  • Configuración para la generación del mundo vainilla (última instantánea) (descarga directa)

  1. ↑ Establecer esto en un número no significa que se genere una estructura con tanta frecuencia, solo que el juego intenta generar una; Los biomas o el terreno podrían provocar que la estructura no se genere. La distancia máxima de los intentos de colocación de la estructura es de 2 * espaciado - separación.
Paquetes de datos
Componentes
  • Avances
  • Dimensiones
    • tipos
  • Generación mundial
  • Las funciones clave
  • Modificadores de elementos
  • Tablas de botín
  • Predicados
  • Recetas
  • estructuras
  • Etiquetas
Tutoriales
  • Instalación de un paquete de datos
  • Creando un paquete de datos
  1. ↑ MC-194878


Añade un comentario de Generación de mundos personalizados
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.