diff --git a/src/app/components/customized/BasicSettings.tsx b/src/app/components/customized/BasicSettings.tsx index 919e0807..df3f747c 100644 --- a/src/app/components/customized/BasicSettings.tsx +++ b/src/app/components/customized/BasicSettings.tsx @@ -45,7 +45,7 @@ export function BasicSettings({ model, initialModel, changeModel }: Props) { changeModel({ noiseCaves: v })} initial={initialModel.noiseCaves} /> - changeModel({ carverCaves: v })} initial={initialModel.carverCaves} /> > @@ -38,6 +38,7 @@ export async function generateCustomized(model: CustomizedModel, version: Versio } generateDimensionType(ctx) generateNoiseSettings(ctx) + generateCarvers(ctx) generateClimateNoises(ctx) generateStructures(ctx) generateDungeonFeatures(ctx) @@ -79,6 +80,38 @@ function generateNoiseSettings(ctx: Context) { }) } +function generateCarvers(ctx: Context) { + if (isUnchanged(ctx, 'caves', 'carverCaves', 'ravines')) return + if (!ctx.model.caves || !ctx.model.carverCaves) { + const vanilla = ctx.vanilla['worldgen/configured_carver'].get('cave') + ctx.out['worldgen/configured_carver'].set('cave', { + ...vanilla, + config: { + ...vanilla.config, + probability: 0, + }, + }) + const extraVanilla = ctx.vanilla['worldgen/configured_carver'].get('cave') + ctx.out['worldgen/configured_carver'].set('cave_extra_underground', { + ...extraVanilla, + config: { + ...extraVanilla.config, + probability: 0, + }, + }) + } + if (!ctx.model.caves || !ctx.model.ravines) { + const vanilla = ctx.vanilla['worldgen/configured_carver'].get('canyon') + ctx.out['worldgen/configured_carver'].set('canyon', { + ...vanilla, + config: { + ...vanilla.config, + probability: 0, + }, + }) + } +} + function generateClimateNoises(ctx: Context) { if (isUnchanged(ctx, 'biomeSize')) return for (const name of ['temperature', 'vegetation', 'continentalness', 'erosion']) {