From 98d754b6d8be78f6f6bb88e3c8d74c12f19c9902 Mon Sep 17 00:00:00 2001 From: Misode Date: Fri, 2 Jul 2021 17:58:21 +0200 Subject: [PATCH] Fix biome preview for nether preset --- src/app/previews/BiomeSource.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/app/previews/BiomeSource.ts b/src/app/previews/BiomeSource.ts index 95d504a7..610596b5 100644 --- a/src/app/previews/BiomeSource.ts +++ b/src/app/previews/BiomeSource.ts @@ -1,8 +1,8 @@ import { stringToColor } from '../Utils' import { NormalNoise } from './noise/NormalNoise' -export type BiomeColors =Record -export type BiomeSourceOptions = { +type BiomeColors =Record +type BiomeSourceOptions = { biomeColors: BiomeColors, offset: [number, number], scale: number, @@ -10,7 +10,7 @@ export type BiomeSourceOptions = { seed: string, } -export const NoiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness'] +const NoiseMaps = ['altitude', 'temperature', 'humidity', 'weirdness'] export function biomeSource(state: any, img: ImageData, options: BiomeSourceOptions) { switch (state?.type?.replace(/^minecraft:/, '')) { @@ -66,6 +66,10 @@ function checkerboard(state: any, img: ImageData, options: BiomeSourceOptions) { } function multiNoise(state: any, img: ImageData, options: BiomeSourceOptions) { + if (state.preset?.replace(/^minecraft:/, '') === 'nether') { + state = NetherPreset + } + const noise = NoiseMaps.map((id, i) => { const config = state[`${id}_noise`] return new NormalNoise(options.seed + i, config.firstOctave, config.amplitudes) @@ -232,3 +236,5 @@ const VanillaColors: Record = { 'minecraft:wooded_hills': [34,85,28], 'minecraft:wooded_mountains': [80,112,80], } + +const NetherPreset = {type:'minecraft:multi_noise',seed:0,altitude_noise:{firstOctave:-7,amplitudes:[1,1]},temperature_noise:{firstOctave:-7,amplitudes:[1,1]},humidity_noise:{firstOctave:-7,amplitudes:[1,1]},weirdness_noise:{firstOctave:-7,amplitudes:[1,1]},biomes:[{biome:'minecraft:nether_wastes',parameters:{altitude:0,temperature:0,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:soul_sand_valley',parameters:{altitude:0,temperature:0,humidity:-0.5,weirdness:0,offset:0}},{biome:'minecraft:crimson_forest',parameters:{altitude:0,temperature:0.4,humidity:0,weirdness:0,offset:0}},{biome:'minecraft:warped_forest',parameters:{altitude:0,temperature:0,humidity:0.5,weirdness:0,offset:0.375}},{biome:'minecraft:basalt_deltas',parameters:{altitude:0,temperature:-0.5,humidity:0,weirdness:0,offset:0.175}}]}