Files
2026-07-19 10:47:28 +02:00

51 lines
1.2 KiB
YAML

$schema: "res://addons/yaml/examples/data/fimbul.generator.schema.yaml"
params:
x: float
y: float
noiseScale: float
noise2D: Callable
functions:
- name: continentShape
params: ["x", "y"]
returns: float
code: abs(cos(x * PI * 2 + PI * 0.5) * sin(y * PI))
- name: heightNoise
params: ["x", "y", "noiseScale", "noise2D"]
returns: float
code: noise2D(x * noiseScale, y * noiseScale) * 0.5 + 0.5
- name: height
dependencies: ["continentShape", "heightNoise"]
returns: float
code: continentShape * heightNoise
- name: temperature
params: ["y"]
dependencies: ["height"]
returns: float
code: y - (height - 0.4) * 2 if height > 0.4 else y
- name: precipitation
params: ["y"]
dependencies: ["temperature"]
returns: float
code: 1 - temperature
- name: biome
returns: String
dependencies: ["height", "temperature", "precipitation"]
code: |
if height < 0.2023:
return 'ocean'
if temperature >= 0.666:
return 'desert'
if temperature > 0.42 && precipitation > 0.42:
return 'rainforest'
if temperature > 0.3 && precipitation > 0.3:
return 'forest'
if temperature <= 0.21:
return 'tundra'
return 'meadows'