Elevation/Noise Help
Posted: Tue Oct 14, 2025 2:00 am
I'm trying to have a mod setup "seablock"-style map gen for every planet - a single tile of land surrounded by whatever that planet's "ocean" is - lava on Vulcanus, oil on Fulgora, etc. So far I've got this, which works great for Nauvis and does exactly what I want:
However, for the other planets it doesn't seem to be working at all. It turns off resource generation and cliffs, but otherwise the non-Nauvis planets seem to be using their default map gen. The Aquilo starting island maybe looks a little bit different, but there's still plenty of ice "land" around the start.
I've also tried "x"/"y" instead of "x_from_start"/"y_from_start" in the noise expressions and it seems to have the exact same effect.
Can anyone please help me figure out what I'm missing?
Code: Select all
data:extend({{
type = "noise-expression",
name = "seablock-water-world",
expression = "if(x_from_start^2 + y_from_start^2 < 2, 1, -1000)"}
})
local nauvisData = data.raw.planet.nauvis
nauvisData.map_gen_settings.property_expression_names.elevation = "seablock-water-world"
nauvisData.map_gen_settings.autoplace_controls = {
trees = {size = 0},
["enemy-base"] = {size = 0},
["iron-ore"] = {size = 0},
["copper-ore"] = {size = 0},
stone = {size = 0},
coal = {size = 0},
["uranium-ore"] = {size = 0},
["crude-oil"] = {size = 0}
}
local fulgoraData = data.raw.planet.fulgora
fulgoraData.map_gen_settings.property_expression_names.elevation = "seablock-water-world"
fulgoraData.map_gen_settings.autoplace_controls = {
scrap = {size = 0},
fulgora_islands = {size = 0},
fulgora_cliff = {size = 0}
}
local vulcanusData = data.raw.planet.vulcanus
vulcanusData.map_gen_settings.property_expression_names.elevation = "seablock-water-world"
vulcanusData.map_gen_settings.autoplace_controls = {
calcite = {size = 0},
sulfuric_acid_geyser = {size = 0},
tungsten_ore = {size = 0},
vulcanus_coal = {size = 0},
vulcanus_volcanism = {size = 0}
}
local glebaData = data.raw.planet.gleba
glebaData.map_gen_settings.property_expression_names.elevation = "seablock-water-world"
glebaData.map_gen_settings.autoplace_controls = {
gleba_cliff = {size = 0},
gleba_enemy_base = {size = 0},
gleba_plants = {size = 0},
gleba_stone = {size = 0},
gleba_water = {size = 0}
}
local aquiloData = data.raw.planet.aquilo
aquiloData.map_gen_settings.property_expression_names.elevation = "seablock-water-world"
aquiloData.map_gen_settings.autoplace_controls = {
aquilo_crude_oil = {size = 0},
fluorine_vent = {size = 0},
lithium_brine = {size = 0}
}
I've also tried "x"/"y" instead of "x_from_start"/"y_from_start" in the noise expressions and it seems to have the exact same effect.
Can anyone please help me figure out what I'm missing?