@@ -2,7 +2,8 @@ import { mat3 } from 'gl-matrix'
22import { useCallback , useRef , useState } from 'preact/hooks'
33import { getWorldgenProjectData , useLocale , useProject , useStore , useVersion } from '../../contexts/index.js'
44import { useAsync } from '../../hooks/index.js'
5- import { iterateWorld2D , randomSeed , safeJsonParse , stringToColor } from '../../Utils.js'
5+ import type { Color } from '../../Utils.js'
6+ import { hexToRgb , iterateWorld2D , randomSeed , safeJsonParse , stringToColor } from '../../Utils.js'
67import { ErrorPanel } from '../ErrorPanel.jsx'
78import { Btn , BtnMenu , NumberInput } from '../index.js'
89import { Deepslate } from './Deepslate.js'
@@ -121,9 +122,8 @@ export const BiomeSourcePreview = ({ docAndNode, shown }: PreviewProps) => {
121122 </ >
122123}
123124
124- type Triple = [ number , number , number ]
125- type BiomeColors = Record < string , Triple >
126- function getBiomeColor ( biome : string , biomeColors : BiomeColors ) : Triple {
125+ type BiomeColors = Record < string , Color >
126+ function getBiomeColor ( biome : string , biomeColors : BiomeColors ) : Color {
127127 if ( ! biome ) {
128128 return [ 128 , 128 , 128 ]
129129 }
@@ -134,109 +134,113 @@ function getBiomeColor(biome: string, biomeColors: BiomeColors): Triple {
134134 return color
135135}
136136
137- export const VanillaColors : Record < string , Triple > = {
138- 'minecraft:badlands' : [ 217 , 69 , 21 ] ,
139- 'minecraft:badlands_plateau' : [ 202 , 140 , 101 ] ,
140- 'minecraft:bamboo_jungle' : [ 118 , 142 , 20 ] ,
141- 'minecraft:bamboo_jungle_hills' : [ 59 , 71 , 10 ] ,
142- 'minecraft:basalt_deltas' : [ 64 , 54 , 54 ] ,
143- 'minecraft:beach' : [ 250 , 222 , 85 ] ,
144- 'minecraft:birch_forest' : [ 48 , 116 , 68 ] ,
145- 'minecraft:birch_forest_hills' : [ 31 , 95 , 50 ] ,
146- 'minecraft:cold_ocean' : [ 32 , 32 , 112 ] ,
147- 'minecraft:crimson_forest' : [ 221 , 8 , 8 ] ,
148- 'minecraft:dark_forest' : [ 64 , 81 , 26 ] ,
149- 'minecraft:dark_forest_hills' : [ 104 , 121 , 66 ] ,
150- 'minecraft:deep_cold_ocean' : [ 32 , 32 , 56 ] ,
151- 'minecraft:deep_frozen_ocean' : [ 64 , 64 , 144 ] ,
152- 'minecraft:deep_lukewarm_ocean' : [ 0 , 0 , 64 ] ,
153- 'minecraft:deep_ocean' : [ 0 , 0 , 48 ] ,
154- 'minecraft:deep_warm_ocean' : [ 0 , 0 , 80 ] ,
155- 'minecraft:desert' : [ 250 , 148 , 24 ] ,
156- 'minecraft:desert_hills' : [ 210 , 95 , 18 ] ,
157- 'minecraft:desert_lakes' : [ 255 , 188 , 64 ] ,
158- 'minecraft:end_barrens' : [ 39 , 30 , 61 ] ,
159- 'minecraft:end_highlands' : [ 232 , 244 , 178 ] ,
160- 'minecraft:end_midlands' : [ 194 , 187 , 136 ] ,
161- 'minecraft:eroded_badlands' : [ 255 , 109 , 61 ] ,
162- 'minecraft:flower_forest' : [ 45 , 142 , 73 ] ,
163- 'minecraft:forest' : [ 5 , 102 , 33 ] ,
164- 'minecraft:frozen_ocean' : [ 112 , 112 , 214 ] ,
165- 'minecraft:frozen_river' : [ 160 , 160 , 255 ] ,
166- 'minecraft:giant_spruce_taiga' : [ 129 , 142 , 121 ] ,
167- 'minecraft:old_growth_spruce_taiga' : [ 129 , 142 , 121 ] ,
168- 'minecraft:giant_spruce_taiga_hills' : [ 109 , 119 , 102 ] ,
169- 'minecraft:giant_tree_taiga' : [ 89 , 102 , 81 ] ,
170- 'minecraft:old_growth_pine_taiga' : [ 89 , 102 , 81 ] ,
171- 'minecraft:giant_tree_taiga_hills' : [ 69 , 79 , 62 ] ,
172- 'minecraft:gravelly_hills' : [ 136 , 136 , 136 ] ,
173- 'minecraft:gravelly_mountains' : [ 136 , 136 , 136 ] ,
174- 'minecraft:windswept_gravelly_hills' : [ 136 , 136 , 136 ] ,
175- 'minecraft:ice_spikes' : [ 180 , 220 , 220 ] ,
176- 'minecraft:jungle' : [ 83 , 123 , 9 ] ,
177- 'minecraft:jungle_edge' : [ 98 , 139 , 23 ] ,
178- 'minecraft:sparse_jungle' : [ 98 , 139 , 23 ] ,
179- 'minecraft:jungle_hills' : [ 44 , 66 , 5 ] ,
180- 'minecraft:lukewarm_ocean' : [ 0 , 0 , 144 ] ,
181- 'minecraft:modified_badlands_plateau' : [ 242 , 180 , 141 ] ,
182- 'minecraft:modified_gravelly_mountains' : [ 120 , 152 , 120 ] ,
183- 'minecraft:modified_jungle' : [ 123 , 163 , 49 ] ,
184- 'minecraft:modified_jungle_edge' : [ 138 , 179 , 63 ] ,
185- 'minecraft:modified_wooded_badlands_plateau' : [ 216 , 191 , 141 ] ,
186- 'minecraft:mountain_edge' : [ 114 , 120 , 154 ] ,
187- 'minecraft:extreme_hills' : [ 96 , 96 , 96 ] ,
188- 'minecraft:mountains' : [ 96 , 96 , 96 ] ,
189- 'minecraft:windswept_hills' : [ 96 , 96 , 96 ] ,
190- 'minecraft:mushroom_field_shore' : [ 160 , 0 , 255 ] ,
191- 'minecraft:mushroom_fields' : [ 255 , 0 , 255 ] ,
192- 'minecraft:nether_wastes' : [ 191 , 59 , 59 ] ,
193- 'minecraft:ocean' : [ 0 , 0 , 112 ] ,
194- 'minecraft:plains' : [ 141 , 179 , 96 ] ,
195- 'minecraft:river' : [ 0 , 0 , 255 ] ,
196- 'minecraft:savanna' : [ 189 , 178 , 95 ] ,
197- 'minecraft:savanna_plateau' : [ 167 , 157 , 100 ] ,
198- 'minecraft:shattered_savanna' : [ 229 , 218 , 135 ] ,
199- 'minecraft:windswept_savanna' : [ 229 , 218 , 135 ] ,
200- 'minecraft:shattered_savanna_plateau' : [ 207 , 197 , 140 ] ,
201- 'minecraft:small_end_islands' : [ 16 , 12 , 28 ] ,
202- 'minecraft:snowy_beach' : [ 250 , 240 , 192 ] ,
203- 'minecraft:snowy_mountains' : [ 160 , 160 , 160 ] ,
204- 'minecraft:snowy_taiga' : [ 49 , 85 , 74 ] ,
205- 'minecraft:snowy_taiga_hills' : [ 36 , 63 , 54 ] ,
206- 'minecraft:snowy_taiga_mountains' : [ 89 , 125 , 114 ] ,
207- 'minecraft:snowy_tundra' : [ 255 , 255 , 255 ] ,
208- 'minecraft:snowy_plains' : [ 255 , 255 , 255 ] ,
209- 'minecraft:soul_sand_valley' : [ 94 , 56 , 48 ] ,
210- 'minecraft:stone_shore' : [ 162 , 162 , 132 ] ,
211- 'minecraft:stony_shore' : [ 162 , 162 , 132 ] ,
212- 'minecraft:sunflower_plains' : [ 181 , 219 , 136 ] ,
213- 'minecraft:swamp' : [ 7 , 249 , 178 ] ,
214- 'minecraft:swamp_hills' : [ 47 , 255 , 218 ] ,
215- 'minecraft:taiga' : [ 11 , 102 , 89 ] ,
216- 'minecraft:taiga_hills' : [ 22 , 57 , 51 ] ,
217- 'minecraft:taiga_mountains' : [ 51 , 142 , 129 ] ,
218- 'minecraft:tall_birch_forest' : [ 88 , 156 , 108 ] ,
219- 'minecraft:old_growth_birch_forest' : [ 88 , 156 , 108 ] ,
220- 'minecraft:tall_birch_hills' : [ 71 , 135 , 90 ] ,
221- 'minecraft:the_end' : [ 59 , 39 , 84 ] ,
222- 'minecraft:the_void' : [ 0 , 0 , 0 ] ,
223- 'minecraft:warm_ocean' : [ 0 , 0 , 172 ] ,
224- 'minecraft:warped_forest' : [ 73 , 144 , 123 ] ,
225- 'minecraft:wooded_badlands_plateau' : [ 176 , 151 , 101 ] ,
226- 'minecraft:wooded_badlands' : [ 176 , 151 , 101 ] ,
227- 'minecraft:wooded_hills' : [ 34 , 85 , 28 ] ,
228- 'minecraft:wooded_mountains' : [ 80 , 112 , 80 ] ,
229- 'minecraft:windswept_forest' : [ 80 , 112 , 80 ] ,
230- 'minecraft:snowy_slopes' : [ 140 , 195 , 222 ] ,
231- 'minecraft:lofty_peaks' : [ 196 , 168 , 193 ] ,
232- 'minecraft:jagged_peaks' : [ 196 , 168 , 193 ] ,
233- 'minecraft:snowcapped_peaks' : [ 200 , 198 , 200 ] ,
234- 'minecraft:frozen_peaks' : [ 200 , 198 , 200 ] ,
235- 'minecraft:stony_peaks' : [ 82 , 92 , 103 ] ,
236- 'minecraft:grove' : [ 150 , 150 , 189 ] ,
237- 'minecraft:meadow' : [ 169 , 197 , 80 ] ,
238- 'minecraft:lush_caves' : [ 112 , 255 , 79 ] ,
239- 'minecraft:dripstone_caves' : [ 140 , 124 , 0 ] ,
240- 'minecraft:deep_dark' : [ 10 , 14 , 19 ] ,
241- 'minecraft:mangrove_swamp' : [ 36 , 196 , 142 ] ,
137+ export const VanillaColors : Record < string , Color > = {
138+ 'minecraft:badlands' : hexToRgb ( '#d94515' ) ,
139+ 'minecraft:badlands_plateau' : hexToRgb ( '#ca8c65' ) ,
140+ 'minecraft:bamboo_jungle' : hexToRgb ( '#768e14' ) ,
141+ 'minecraft:bamboo_jungle_hills' : hexToRgb ( '#3b470a' ) ,
142+ 'minecraft:basalt_deltas' : hexToRgb ( '#403636' ) ,
143+ 'minecraft:beach' : hexToRgb ( '#fade55' ) ,
144+ 'minecraft:birch_forest' : hexToRgb ( '#307444' ) ,
145+ 'minecraft:birch_forest_hills' : hexToRgb ( '#1f5f32' ) ,
146+ 'minecraft:cold_ocean' : hexToRgb ( '#202070' ) ,
147+ 'minecraft:crimson_forest' : hexToRgb ( '#dd0808' ) ,
148+ 'minecraft:dark_forest' : hexToRgb ( '#40511a' ) ,
149+ 'minecraft:dark_forest_hills' : hexToRgb ( '#687942' ) ,
150+ 'minecraft:deep_cold_ocean' : hexToRgb ( '#202038' ) ,
151+ 'minecraft:deep_frozen_ocean' : hexToRgb ( '#404090' ) ,
152+ 'minecraft:deep_lukewarm_ocean' : hexToRgb ( '#000040' ) ,
153+ 'minecraft:deep_ocean' : hexToRgb ( '#000030' ) ,
154+ 'minecraft:deep_warm_ocean' : hexToRgb ( '#000050' ) ,
155+ 'minecraft:desert' : hexToRgb ( '#fa9418' ) ,
156+ 'minecraft:desert_hills' : hexToRgb ( '#d25f12' ) ,
157+ 'minecraft:desert_lakes' : hexToRgb ( '#ffbc40' ) ,
158+ 'minecraft:end_barrens' : hexToRgb ( '#271e3d' ) ,
159+ 'minecraft:end_highlands' : hexToRgb ( '#e8f4b2' ) ,
160+ 'minecraft:end_midlands' : hexToRgb ( '#c2bb88' ) ,
161+ 'minecraft:eroded_badlands' : hexToRgb ( '#ff6d3d' ) ,
162+ 'minecraft:flower_forest' : hexToRgb ( '#2d8e49' ) ,
163+ 'minecraft:forest' : hexToRgb ( '#056621' ) ,
164+ 'minecraft:frozen_ocean' : hexToRgb ( '#7070d6' ) ,
165+ 'minecraft:frozen_river' : hexToRgb ( '#a0a0ff' ) ,
166+ 'minecraft:giant_spruce_taiga' : hexToRgb ( '#818e79' ) ,
167+ 'minecraft:old_growth_spruce_taiga' : hexToRgb ( '#818e79' ) ,
168+ 'minecraft:giant_spruce_taiga_hills' : hexToRgb ( '#6d7766' ) ,
169+ 'minecraft:giant_tree_taiga' : hexToRgb ( '#596651' ) ,
170+ 'minecraft:old_growth_pine_taiga' : hexToRgb ( '#596651' ) ,
171+ 'minecraft:giant_tree_taiga_hills' : hexToRgb ( '#454f3e' ) ,
172+ 'minecraft:gravelly_hills' : hexToRgb ( '#888888' ) ,
173+ 'minecraft:gravelly_mountains' : hexToRgb ( '#888888' ) ,
174+ 'minecraft:windswept_gravelly_hills' : hexToRgb ( '#888888' ) ,
175+ 'minecraft:ice_spikes' : hexToRgb ( '#b4dcdc' ) ,
176+ 'minecraft:jungle' : hexToRgb ( '#537b09' ) ,
177+ 'minecraft:jungle_edge' : hexToRgb ( '#628b17' ) ,
178+ 'minecraft:sparse_jungle' : hexToRgb ( '#628b17' ) ,
179+ 'minecraft:jungle_hills' : hexToRgb ( '#2c4205' ) ,
180+ 'minecraft:lukewarm_ocean' : hexToRgb ( '#000090' ) ,
181+ 'minecraft:modified_badlands_plateau' : hexToRgb ( '#f2b48d' ) ,
182+ 'minecraft:modified_gravelly_mountains' : hexToRgb ( '#789878' ) ,
183+ 'minecraft:modified_jungle' : hexToRgb ( '#7ba331' ) ,
184+ 'minecraft:modified_jungle_edge' : hexToRgb ( '#8ab33f' ) ,
185+ 'minecraft:modified_wooded_badlands_plateau' : hexToRgb ( '#d8bf8d' ) ,
186+ 'minecraft:mountain_edge' : hexToRgb ( '#72789a' ) ,
187+ 'minecraft:extreme_hills' : hexToRgb ( '#606060' ) ,
188+ 'minecraft:mountains' : hexToRgb ( '#606060' ) ,
189+ 'minecraft:windswept_hills' : hexToRgb ( '#606060' ) ,
190+ 'minecraft:mushroom_field_shore' : hexToRgb ( '#a000ff' ) ,
191+ 'minecraft:mushroom_fields' : hexToRgb ( '#ff00ff' ) ,
192+ 'minecraft:nether_wastes' : hexToRgb ( '#bf3b3b' ) ,
193+ 'minecraft:ocean' : hexToRgb ( '#000070' ) ,
194+ 'minecraft:plains' : hexToRgb ( '#8db360' ) ,
195+ 'minecraft:river' : hexToRgb ( '#0000ff' ) ,
196+ 'minecraft:savanna' : hexToRgb ( '#bdb25f' ) ,
197+ 'minecraft:savanna_plateau' : hexToRgb ( '#a79d64' ) ,
198+ 'minecraft:shattered_savanna' : hexToRgb ( '#e5da87' ) ,
199+ 'minecraft:windswept_savanna' : hexToRgb ( '#e5da87' ) ,
200+ 'minecraft:shattered_savanna_plateau' : hexToRgb ( '#cfc58c' ) ,
201+ 'minecraft:small_end_islands' : hexToRgb ( '#100c1c' ) ,
202+ 'minecraft:snowy_beach' : hexToRgb ( '#faf0c0' ) ,
203+ 'minecraft:snowy_mountains' : hexToRgb ( '#a0a0a0' ) ,
204+ 'minecraft:snowy_taiga' : hexToRgb ( '#31554a' ) ,
205+ 'minecraft:snowy_taiga_hills' : hexToRgb ( '#243f36' ) ,
206+ 'minecraft:snowy_taiga_mountains' : hexToRgb ( '#597d72' ) ,
207+ 'minecraft:snowy_tundra' : hexToRgb ( '#ffffff' ) ,
208+ 'minecraft:snowy_plains' : hexToRgb ( '#ffffff' ) ,
209+ 'minecraft:soul_sand_valley' : hexToRgb ( '#5e3830' ) ,
210+ 'minecraft:stone_shore' : hexToRgb ( '#a2a284' ) ,
211+ 'minecraft:stony_shore' : hexToRgb ( '#a2a284' ) ,
212+ 'minecraft:sunflower_plains' : hexToRgb ( '#b7dc89' ) ,
213+ 'minecraft:swamp' : hexToRgb ( '#07f9b2' ) ,
214+ 'minecraft:swamp_hills' : hexToRgb ( '#2fffda' ) ,
215+ 'minecraft:taiga' : hexToRgb ( '#0b6659' ) ,
216+ 'minecraft:taiga_hills' : hexToRgb ( '#163933' ) ,
217+ 'minecraft:taiga_mountains' : hexToRgb ( '#338e81' ) ,
218+ 'minecraft:tall_birch_forest' : hexToRgb ( '#589c6c' ) ,
219+ 'minecraft:old_growth_birch_forest' : hexToRgb ( '#589c6c' ) ,
220+ 'minecraft:tall_birch_hills' : hexToRgb ( '#47875a' ) ,
221+ 'minecraft:the_end' : hexToRgb ( '#3b2754' ) ,
222+ 'minecraft:the_void' : hexToRgb ( '#000000' ) ,
223+ 'minecraft:warm_ocean' : hexToRgb ( '#0000ac' ) ,
224+ 'minecraft:warped_forest' : hexToRgb ( '#49907b' ) ,
225+ 'minecraft:wooded_badlands_plateau' : hexToRgb ( '#b09765' ) ,
226+ 'minecraft:wooded_badlands' : hexToRgb ( '#b09765' ) ,
227+ 'minecraft:wooded_hills' : hexToRgb ( '#22551c' ) ,
228+ 'minecraft:wooded_mountains' : hexToRgb ( '#507050' ) ,
229+ 'minecraft:windswept_forest' : hexToRgb ( '#507050' ) ,
230+ 'minecraft:snowy_slopes' : hexToRgb ( '#8cc3de' ) ,
231+ 'minecraft:lofty_peaks' : hexToRgb ( '#c4a8c1' ) ,
232+ 'minecraft:jagged_peaks' : hexToRgb ( '#c4a8c1' ) ,
233+ 'minecraft:snowcapped_peaks' : hexToRgb ( '#c8c6c8' ) ,
234+ 'minecraft:frozen_peaks' : hexToRgb ( '#c8c6c8' ) ,
235+ 'minecraft:stony_peaks' : hexToRgb ( '#525c67' ) ,
236+ 'minecraft:grove' : hexToRgb ( '#9696bd' ) ,
237+ 'minecraft:meadow' : hexToRgb ( '#a9c550' ) ,
238+ 'minecraft:lush_caves' : hexToRgb ( '#70ff4f' ) ,
239+ 'minecraft:dripstone_caves' : hexToRgb ( '#8c7c00' ) ,
240+ 'minecraft:deep_dark' : hexToRgb ( '#0a0e13' ) ,
241+ 'minecraft:mangrove_swamp' : hexToRgb ( '#24c48e' ) ,
242+ 'minecraft:cherry_grove' : hexToRgb ( '#e1abcb' ) ,
243+ 'minecraft:pale_garden' : hexToRgb ( '#7b8078' ) ,
244+ 'minecraft:sulfur_caves' : hexToRgb ( '#bdb275' ) ,
245+ 'minecraft:dappled_forest' : hexToRgb ( '#bf632d' ) ,
242246}
0 commit comments