diff --git a/src/app/components/previews/BiomeSourcePreview.tsx b/src/app/components/previews/BiomeSourcePreview.tsx index 83c9935e..eab95ad9 100644 --- a/src/app/components/previews/BiomeSourcePreview.tsx +++ b/src/app/components/previews/BiomeSourcePreview.tsx @@ -46,8 +46,8 @@ export const BiomeSourcePreview = ({ data, shown }: BiomeSourceProps) => { }) useOnDrag(canvas.current, (dx, dy) => { - const x = dx * canvas.current.width / canvas.current.clientWidth - const y = dy * canvas.current.height / canvas.current.clientHeight + const x = dx * 200 / canvas.current.clientWidth + const y = dy * 200 / canvas.current.clientHeight offset.current = [offset.current[0] + x, offset.current[1] + y] redraw.current() }) diff --git a/src/app/previews/BiomeSource.ts b/src/app/previews/BiomeSource.ts index 72aa0528..95d504a7 100644 --- a/src/app/previews/BiomeSource.ts +++ b/src/app/previews/BiomeSource.ts @@ -119,7 +119,7 @@ export function getBiomeColor(biome: string, biomeColors: BiomeColors) { if (!biome) { return [128, 128, 128] } - const color = biomeColors[biome] + const color = biomeColors[biome] ?? VanillaColors[biome] if (color === undefined) { return stringToColor(biome) } @@ -150,3 +150,85 @@ function closestBiome(noise: NormalNoise[], biomes: any[], x: number, y: number) function fitness(a: any, b: any) { return (a.altitude - b.altitude) * (a.altitude - b.altitude) + (a.temperature - b.temperature) * (a.temperature - b.temperature) + (a.humidity - b.humidity) * (a.humidity - b.humidity) + (a.weirdness - b.weirdness) * (a.weirdness - b.weirdness) + (a.offset - b.offset) * (a.offset - b.offset) } + +const VanillaColors: Record = { + 'minecraft:badlands': [217,69,21], + 'minecraft:badlands_plateau': [202,140,101], + 'minecraft:bamboo_jungle': [118,142,20], + 'minecraft:bamboo_jungle_hills': [59,71,10], + 'minecraft:basalt_deltas': [64,54,54], + 'minecraft:beach': [250,222,85], + 'minecraft:birch_forest': [48,116,68], + 'minecraft:birch_forest_hills': [31,95,50], + 'minecraft:cold_ocean': [32,32,112], + 'minecraft:crimson_forest': [221,8,8], + 'minecraft:dark_forest': [64,81,26], + 'minecraft:dark_forest_hills': [104,121,66], + 'minecraft:deep_cold_ocean': [32,32,56], + 'minecraft:deep_frozen_ocean': [64,64,144], + 'minecraft:deep_lukewarm_ocean': [0,0,64], + 'minecraft:deep_ocean': [0,0,48], + 'minecraft:deep_warm_ocean': [0,0,80], + 'minecraft:desert': [250,148,24], + 'minecraft:desert_hills': [210,95,18], + 'minecraft:desert_lakes': [255,188,64], + 'minecraft:end_barrens': [128,128,255], + 'minecraft:end_highlands': [128,128,255], + 'minecraft:end_midlands': [128,128,255], + 'minecraft:eroded_badlands': [255,109,61], + 'minecraft:flower_forest': [45,142,73], + 'minecraft:forest': [5,102,33], + 'minecraft:frozen_ocean': [112,112,214], + 'minecraft:frozen_river': [160,160,255], + 'minecraft:giant_spruce_taiga': [129,142,121], + 'minecraft:giant_spruce_taiga_hills': [109,119,102], + 'minecraft:giant_tree_taiga': [89,102,81], + 'minecraft:giant_tree_taiga_hills': [69,79,62], + 'minecraft:gravelly_mountains': [136,136,136], + 'minecraft:ice_spikes': [180,220,220], + 'minecraft:jungle': [83,123,9], + 'minecraft:jungle_edge': [98,139,23], + 'minecraft:jungle_hills': [44,66,5], + 'minecraft:lukewarm_ocean': [0,0,144], + 'minecraft:modified_badlands_plateau': [242,180,141], + 'minecraft:modified_gravelly_mountains': [120,152,120], + 'minecraft:modified_jungle': [123,163,49], + 'minecraft:modified_jungle_edge': [138,179,63], + 'minecraft:modified_wooded_badlands_plateau': [216,191,141], + 'minecraft:mountain_edge': [114,120,154], + 'minecraft:mountains': [96,96,96], + 'minecraft:mushroom_field_shore': [160,0,255], + 'minecraft:mushroom_fields': [255,0,255], + 'minecraft:nether_wastes': [191,59,59], + 'minecraft:ocean': [0,0,112], + 'minecraft:plains': [141,179,96], + 'minecraft:river': [0,0,255], + 'minecraft:savanna': [189,178,95], + 'minecraft:savanna_plateau': [167,157,100], + 'minecraft:shattered_savanna': [229,218,135], + 'minecraft:shattered_savanna_plateau': [207,197,140], + 'minecraft:small_end_islands': [128,128,255], + 'minecraft:snowy_beach': [250,240,192], + 'minecraft:snowy_mountains': [160,160,160], + 'minecraft:snowy_taiga': [49,85,74], + 'minecraft:snowy_taiga_hills': [36,63,54], + 'minecraft:snowy_taiga_mountains': [89,125,114], + 'minecraft:snowy_tundra': [255,255,255], + 'minecraft:soul_sand_valley': [94,56,48], + 'minecraft:stone_shore': [162,162,132], + 'minecraft:sunflower_plains': [181,219,136], + 'minecraft:swamp': [7,249,178], + 'minecraft:swamp_hills': [47,255,218], + 'minecraft:taiga': [11,102,89], + 'minecraft:taiga_hills': [22,57,51], + 'minecraft:taiga_mountains': [51,142,129], + 'minecraft:tall_birch_forest': [88,156,108], + 'minecraft:tall_birch_hills': [71,135,90], + 'minecraft:the_end': [128,128,255], + 'minecraft:the_void': [0,0,0], + 'minecraft:warm_ocean': [0,0,172], + 'minecraft:warped_forest': [73,144,123], + 'minecraft:wooded_badlands_plateau': [176,151,101], + 'minecraft:wooded_hills': [34,85,28], + 'minecraft:wooded_mountains': [80,112,80], +}