@nodecraft/rendermite 1.3.2 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atlas/registry.d.ts +3 -3
- package/dist/atlas/sources.d.ts +1 -1
- package/dist/{atlas-pack-DRTrWcSU.d.ts → atlas-pack-D8745_wo.d.ts} +1 -1
- package/dist/biomes-5ZwYxMYe.js +384 -0
- package/dist/biomes-CJDJQqJb.d.ts +38 -0
- package/dist/{blend-8lnfxtLe.d.ts → blend-eT64Z6qm.d.ts} +1 -1
- package/dist/blocks/atlas-pack.d.ts +1 -1
- package/dist/blocks/biomes.d.ts +2 -0
- package/dist/blocks/biomes.js +2 -0
- package/dist/blocks/block-entities.d.ts +3 -3
- package/dist/blocks/cli.js +1 -1
- package/dist/blocks/export.d.ts +1 -1
- package/dist/blocks/export.js +1 -1
- package/dist/blocks/obj-mesh.d.ts +1 -1
- package/dist/blocks/pack-format.d.ts +2 -2
- package/dist/blocks/tints.d.ts +2 -2
- package/dist/blocks/tints.js +2 -2
- package/dist/{cli-Dq4CFSPi.js → cli-DqJtT-Ms.js} +5 -4
- package/dist/cli.js +7 -7
- package/dist/{descriptor-BVIoEpPO.js → descriptor-D7VKgeGT.js} +2 -2
- package/dist/{discovery-BPSUtdm4.d.ts → discovery-C5ZR4aoG.d.ts} +1 -1
- package/dist/dynamic/generators.d.ts +1 -1
- package/dist/{encode-DNcXXvYe.d.ts → encode-Cf8hI5OY.d.ts} +1 -1
- package/dist/{export-BIpqNU3H.d.ts → export-Bllg8Fw7.d.ts} +4 -2
- package/dist/{export-B9lH7Tek.js → export-kMoMes_a.js} +24 -7
- package/dist/{face-BKwkeTps.d.ts → face-CuC_Wnx9.d.ts} +2 -2
- package/dist/{generators-DhRov4RB.d.ts → generators-BnIzAftW.d.ts} +1 -1
- package/dist/index.d.ts +20 -19
- package/dist/index.js +9 -8
- package/dist/items/blockstate.d.ts +1 -1
- package/dist/items/discovery.d.ts +1 -1
- package/dist/{jar-CFkA-VgT.d.ts → jar-B5iRZQeL.d.ts} +1 -1
- package/dist/{jar-5aLDI0nT.js → jar-W2cV2ZVO.js} +7 -7
- package/dist/{loader-C_1_amsq.d.ts → loader-DSir1-P0.d.ts} +1 -1
- package/dist/{loader-Myy22TDL.d.ts → loader-DUlx29PC.d.ts} +1 -1
- package/dist/{manager-CYbAkWuT.js → manager-BNibYkmI.js} +32 -5
- package/dist/{manager-Cv1NeFyF.d.ts → manager-exOIcdyx.d.ts} +23 -1
- package/dist/models/loader.d.ts +1 -1
- package/dist/{models-CQwcTZcg.js → models-CZjCOjs4.js} +1 -1
- package/dist/mods/models.d.ts +1 -1
- package/dist/mods/models.js +1 -1
- package/dist/mods/prepare.d.ts +1 -1
- package/dist/mods/prepare.js +1 -1
- package/dist/mods/synthesize.d.ts +2 -2
- package/dist/mods/tints.d.ts +2 -2
- package/dist/mods/tints.js +1 -1
- package/dist/{obj-mesh-C6Sp4Ysc.d.ts → obj-mesh-ydhVfLKs.d.ts} +2 -2
- package/dist/output/encode.d.ts +1 -1
- package/dist/{pack-format-CfCP4kzy.d.ts → pack-format-BVC_B-ZW.d.ts} +12 -3
- package/dist/pack.d.ts +5 -4
- package/dist/{pipeline-DeGRR0CP.js → pipeline-B8e6x8Hh.js} +1 -1
- package/dist/{pipeline-BDvXcw20.d.ts → pipeline-BwToOnuZ.d.ts} +3 -3
- package/dist/{prepare-Cs6QDqie.d.ts → prepare-6pH3CNpg.d.ts} +1 -1
- package/dist/{prepare-C95vjt_o.js → prepare-8LswFoS-.js} +2 -2
- package/dist/{prepare-B8oPdGYz.js → prepare-C9gjqQTt.js} +4 -4
- package/dist/{prepare-Dce7-HAe.d.ts → prepare-OS7wL3jv.d.ts} +1 -1
- package/dist/{rasterizer-BSQHEhJ-.d.ts → rasterizer-BFAHGtdT.d.ts} +1 -1
- package/dist/render/blend.d.ts +1 -1
- package/dist/render/compose.d.ts +2 -2
- package/dist/render/entity-fallback.d.ts +6 -6
- package/dist/render/face.d.ts +1 -1
- package/dist/render/fluid-bucket.d.ts +2 -2
- package/dist/render/geo.d.ts +4 -4
- package/dist/render/legacy-tints.d.ts +2 -2
- package/dist/render/obj.d.ts +5 -5
- package/dist/render/pipeline.d.ts +1 -1
- package/dist/render/pipeline.js +1 -1
- package/dist/render/rasterizer.d.ts +1 -1
- package/dist/render/renderer.d.ts +1 -1
- package/dist/render/tints.d.ts +1 -1
- package/dist/{renderer-U20hnhbi.d.ts → renderer-C_DFi8DF.d.ts} +5 -5
- package/dist/resources/descriptor.d.ts +1 -1
- package/dist/resources/descriptor.js +1 -1
- package/dist/resources/entity-textures.d.ts +2 -2
- package/dist/resources/jar.d.ts +1 -1
- package/dist/resources/jar.js +1 -1
- package/dist/resources/manager.d.ts +1 -1
- package/dist/resources/manager.js +1 -1
- package/dist/resources/synthetic.d.ts +1 -1
- package/dist/{run-Diql5y56.js → run-B_JAUbXe.js} +4 -4
- package/dist/{run-CvIqiZ6T.d.ts → run-Bblci_CC.d.ts} +2 -2
- package/dist/run.d.ts +1 -1
- package/dist/run.js +1 -1
- package/dist/{sources-B9X9w3qP.d.ts → sources-BFuYpSSD.d.ts} +1 -1
- package/dist/{synthetic-Qk-BSUXO.d.ts → synthetic-B3R7mW9k.d.ts} +1 -1
- package/dist/textures/loader.d.ts +1 -1
- package/dist/{tints-DqhgFi8a.d.ts → tints-6z6ysGUs.d.ts} +2 -2
- package/dist/{tints-nxtGrqv5.js → tints-C1tT6pKk.js} +1 -1
- package/dist/{tints-a9FWZLma.js → tints-Cl0r-Ol3.js} +44 -9
- package/dist/{tints-2k3ZhkY3.d.ts → tints-DoBv5S9v.d.ts} +11 -4
- package/dist/versions/legacy-reshape.d.ts +1 -1
- package/dist/versions/prepare.d.ts +1 -1
- package/dist/versions/prepare.js +1 -1
- package/dist/workers/render-worker.d.ts +2 -2
- package/dist/workers/render-worker.js +2 -2
- package/package.json +2 -2
package/dist/atlas/registry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as ResourceLocator } from "../locator-jDbdUeTd.js";
|
|
2
|
-
import { a as ResourceManager } from "../manager-
|
|
3
|
-
import { r as Texture } from "../loader-
|
|
4
|
-
import { t as AtlasResolver } from "../sources-
|
|
2
|
+
import { a as ResourceManager } from "../manager-exOIcdyx.js";
|
|
3
|
+
import { r as Texture } from "../loader-DUlx29PC.js";
|
|
4
|
+
import { t as AtlasResolver } from "../sources-BFuYpSSD.js";
|
|
5
5
|
//#region src/atlas/registry.d.ts
|
|
6
6
|
declare function loadAtlasResolver(resources: ResourceManager, loadTexture: (locator: ResourceLocator) => Promise<Texture | null>, onWarning?: (message: string) => void): Promise<AtlasResolver>;
|
|
7
7
|
//#endregion
|
package/dist/atlas/sources.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as HasTexture, c as SingleAtlasSource, d as parseAtlasSources, i as DirectoryAtlasSource, l as UnstitchAtlasSource, n as AtlasSource, o as PalettedPermutationsSource, r as AtlasSourceError, s as ResolvedSprite, t as AtlasResolver, u as createAtlasResolver } from "../sources-
|
|
1
|
+
import { a as HasTexture, c as SingleAtlasSource, d as parseAtlasSources, i as DirectoryAtlasSource, l as UnstitchAtlasSource, n as AtlasSource, o as PalettedPermutationsSource, r as AtlasSourceError, s as ResolvedSprite, t as AtlasResolver, u as createAtlasResolver } from "../sources-BFuYpSSD.js";
|
|
2
2
|
export { AtlasResolver, AtlasSource, AtlasSourceError, DirectoryAtlasSource, HasTexture, PalettedPermutationsSource, ResolvedSprite, SingleAtlasSource, UnstitchAtlasSource, createAtlasResolver, parseAtlasSources };
|
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
//#region src/blocks/biomes.ts
|
|
2
|
+
/** `effects.water_color` where a biome does not override it, which is most of them. */
|
|
3
|
+
const DEFAULT_WATER_COLOR = "#3f76e4";
|
|
4
|
+
/** Every vanilla biome's climate, by id. Ordered so a regenerated table diffs cleanly. */
|
|
5
|
+
const VANILLA_BIOME_CLIMATES = {
|
|
6
|
+
"minecraft:badlands": {
|
|
7
|
+
temperature: 2,
|
|
8
|
+
downfall: 0,
|
|
9
|
+
grass: "#90814d",
|
|
10
|
+
foliage: "#9e814d"
|
|
11
|
+
},
|
|
12
|
+
"minecraft:bamboo_jungle": {
|
|
13
|
+
temperature: .95,
|
|
14
|
+
downfall: .9
|
|
15
|
+
},
|
|
16
|
+
"minecraft:basalt_deltas": {
|
|
17
|
+
temperature: 2,
|
|
18
|
+
downfall: 0
|
|
19
|
+
},
|
|
20
|
+
"minecraft:beach": {
|
|
21
|
+
temperature: .8,
|
|
22
|
+
downfall: .4
|
|
23
|
+
},
|
|
24
|
+
"minecraft:birch_forest": {
|
|
25
|
+
temperature: .6,
|
|
26
|
+
downfall: .6
|
|
27
|
+
},
|
|
28
|
+
"minecraft:cherry_grove": {
|
|
29
|
+
temperature: .5,
|
|
30
|
+
downfall: .8,
|
|
31
|
+
water: "#5db7ef",
|
|
32
|
+
grass: "#b6db61",
|
|
33
|
+
foliage: "#b6db61"
|
|
34
|
+
},
|
|
35
|
+
"minecraft:cold_ocean": {
|
|
36
|
+
temperature: .5,
|
|
37
|
+
downfall: .5,
|
|
38
|
+
water: "#3d57d6"
|
|
39
|
+
},
|
|
40
|
+
"minecraft:crimson_forest": {
|
|
41
|
+
temperature: 2,
|
|
42
|
+
downfall: 0
|
|
43
|
+
},
|
|
44
|
+
"minecraft:dappled_forest": {
|
|
45
|
+
temperature: .6,
|
|
46
|
+
downfall: .6,
|
|
47
|
+
water: "#375154",
|
|
48
|
+
grass: "#df6827",
|
|
49
|
+
foliage: "#e68e30",
|
|
50
|
+
dryFoliage: "#8c3a04"
|
|
51
|
+
},
|
|
52
|
+
"minecraft:dark_forest": {
|
|
53
|
+
temperature: .7,
|
|
54
|
+
downfall: .8,
|
|
55
|
+
modifier: "dark_forest",
|
|
56
|
+
dryFoliage: "#7b5334"
|
|
57
|
+
},
|
|
58
|
+
"minecraft:deep_cold_ocean": {
|
|
59
|
+
temperature: .5,
|
|
60
|
+
downfall: .5,
|
|
61
|
+
water: "#3d57d6"
|
|
62
|
+
},
|
|
63
|
+
"minecraft:deep_dark": {
|
|
64
|
+
temperature: .8,
|
|
65
|
+
downfall: .4
|
|
66
|
+
},
|
|
67
|
+
"minecraft:deep_frozen_ocean": {
|
|
68
|
+
temperature: .5,
|
|
69
|
+
downfall: .5,
|
|
70
|
+
water: "#3938c9"
|
|
71
|
+
},
|
|
72
|
+
"minecraft:deep_lukewarm_ocean": {
|
|
73
|
+
temperature: .5,
|
|
74
|
+
downfall: .5,
|
|
75
|
+
water: "#45adf2"
|
|
76
|
+
},
|
|
77
|
+
"minecraft:deep_ocean": {
|
|
78
|
+
temperature: .5,
|
|
79
|
+
downfall: .5
|
|
80
|
+
},
|
|
81
|
+
"minecraft:desert": {
|
|
82
|
+
temperature: 2,
|
|
83
|
+
downfall: 0
|
|
84
|
+
},
|
|
85
|
+
"minecraft:dripstone_caves": {
|
|
86
|
+
temperature: .8,
|
|
87
|
+
downfall: .4
|
|
88
|
+
},
|
|
89
|
+
"minecraft:end_barrens": {
|
|
90
|
+
temperature: .5,
|
|
91
|
+
downfall: .5
|
|
92
|
+
},
|
|
93
|
+
"minecraft:end_highlands": {
|
|
94
|
+
temperature: .5,
|
|
95
|
+
downfall: .5
|
|
96
|
+
},
|
|
97
|
+
"minecraft:end_midlands": {
|
|
98
|
+
temperature: .5,
|
|
99
|
+
downfall: .5
|
|
100
|
+
},
|
|
101
|
+
"minecraft:eroded_badlands": {
|
|
102
|
+
temperature: 2,
|
|
103
|
+
downfall: 0,
|
|
104
|
+
grass: "#90814d",
|
|
105
|
+
foliage: "#9e814d"
|
|
106
|
+
},
|
|
107
|
+
"minecraft:flower_forest": {
|
|
108
|
+
temperature: .7,
|
|
109
|
+
downfall: .8
|
|
110
|
+
},
|
|
111
|
+
"minecraft:forest": {
|
|
112
|
+
temperature: .7,
|
|
113
|
+
downfall: .8
|
|
114
|
+
},
|
|
115
|
+
"minecraft:frozen_ocean": {
|
|
116
|
+
temperature: 0,
|
|
117
|
+
downfall: .5,
|
|
118
|
+
water: "#3938c9"
|
|
119
|
+
},
|
|
120
|
+
"minecraft:frozen_peaks": {
|
|
121
|
+
temperature: -.7,
|
|
122
|
+
downfall: .9
|
|
123
|
+
},
|
|
124
|
+
"minecraft:frozen_river": {
|
|
125
|
+
temperature: 0,
|
|
126
|
+
downfall: .5,
|
|
127
|
+
water: "#3938c9"
|
|
128
|
+
},
|
|
129
|
+
"minecraft:grove": {
|
|
130
|
+
temperature: -.2,
|
|
131
|
+
downfall: .8
|
|
132
|
+
},
|
|
133
|
+
"minecraft:ice_spikes": {
|
|
134
|
+
temperature: 0,
|
|
135
|
+
downfall: .5
|
|
136
|
+
},
|
|
137
|
+
"minecraft:jagged_peaks": {
|
|
138
|
+
temperature: -.7,
|
|
139
|
+
downfall: .9
|
|
140
|
+
},
|
|
141
|
+
"minecraft:jungle": {
|
|
142
|
+
temperature: .95,
|
|
143
|
+
downfall: .9
|
|
144
|
+
},
|
|
145
|
+
"minecraft:lukewarm_ocean": {
|
|
146
|
+
temperature: .5,
|
|
147
|
+
downfall: .5,
|
|
148
|
+
water: "#45adf2"
|
|
149
|
+
},
|
|
150
|
+
"minecraft:lush_caves": {
|
|
151
|
+
temperature: .5,
|
|
152
|
+
downfall: .5
|
|
153
|
+
},
|
|
154
|
+
"minecraft:mangrove_swamp": {
|
|
155
|
+
temperature: .8,
|
|
156
|
+
downfall: .9,
|
|
157
|
+
water: "#3a7a6a",
|
|
158
|
+
modifier: "swamp",
|
|
159
|
+
foliage: "#8db127",
|
|
160
|
+
dryFoliage: "#7b5334"
|
|
161
|
+
},
|
|
162
|
+
"minecraft:meadow": {
|
|
163
|
+
temperature: .5,
|
|
164
|
+
downfall: .8,
|
|
165
|
+
water: "#0e4ecf"
|
|
166
|
+
},
|
|
167
|
+
"minecraft:mushroom_fields": {
|
|
168
|
+
temperature: .9,
|
|
169
|
+
downfall: 1
|
|
170
|
+
},
|
|
171
|
+
"minecraft:nether_wastes": {
|
|
172
|
+
temperature: 2,
|
|
173
|
+
downfall: 0
|
|
174
|
+
},
|
|
175
|
+
"minecraft:ocean": {
|
|
176
|
+
temperature: .5,
|
|
177
|
+
downfall: .5
|
|
178
|
+
},
|
|
179
|
+
"minecraft:old_growth_birch_forest": {
|
|
180
|
+
temperature: .6,
|
|
181
|
+
downfall: .6
|
|
182
|
+
},
|
|
183
|
+
"minecraft:old_growth_pine_taiga": {
|
|
184
|
+
temperature: .3,
|
|
185
|
+
downfall: .8
|
|
186
|
+
},
|
|
187
|
+
"minecraft:old_growth_spruce_taiga": {
|
|
188
|
+
temperature: .25,
|
|
189
|
+
downfall: .8
|
|
190
|
+
},
|
|
191
|
+
"minecraft:pale_garden": {
|
|
192
|
+
temperature: .7,
|
|
193
|
+
downfall: .8,
|
|
194
|
+
water: "#76889d",
|
|
195
|
+
grass: "#778272",
|
|
196
|
+
foliage: "#878d76",
|
|
197
|
+
dryFoliage: "#a0a69c"
|
|
198
|
+
},
|
|
199
|
+
"minecraft:plains": {
|
|
200
|
+
temperature: .8,
|
|
201
|
+
downfall: .4
|
|
202
|
+
},
|
|
203
|
+
"minecraft:river": {
|
|
204
|
+
temperature: .5,
|
|
205
|
+
downfall: .5
|
|
206
|
+
},
|
|
207
|
+
"minecraft:savanna": {
|
|
208
|
+
temperature: 2,
|
|
209
|
+
downfall: 0
|
|
210
|
+
},
|
|
211
|
+
"minecraft:savanna_plateau": {
|
|
212
|
+
temperature: 2,
|
|
213
|
+
downfall: 0
|
|
214
|
+
},
|
|
215
|
+
"minecraft:small_end_islands": {
|
|
216
|
+
temperature: .5,
|
|
217
|
+
downfall: .5
|
|
218
|
+
},
|
|
219
|
+
"minecraft:snowy_beach": {
|
|
220
|
+
temperature: .05,
|
|
221
|
+
downfall: .3,
|
|
222
|
+
water: "#3d57d6"
|
|
223
|
+
},
|
|
224
|
+
"minecraft:snowy_plains": {
|
|
225
|
+
temperature: 0,
|
|
226
|
+
downfall: .5
|
|
227
|
+
},
|
|
228
|
+
"minecraft:snowy_slopes": {
|
|
229
|
+
temperature: -.3,
|
|
230
|
+
downfall: .9
|
|
231
|
+
},
|
|
232
|
+
"minecraft:snowy_taiga": {
|
|
233
|
+
temperature: -.5,
|
|
234
|
+
downfall: .4,
|
|
235
|
+
water: "#3d57d6"
|
|
236
|
+
},
|
|
237
|
+
"minecraft:soul_sand_valley": {
|
|
238
|
+
temperature: 2,
|
|
239
|
+
downfall: 0
|
|
240
|
+
},
|
|
241
|
+
"minecraft:sparse_jungle": {
|
|
242
|
+
temperature: .95,
|
|
243
|
+
downfall: .8
|
|
244
|
+
},
|
|
245
|
+
"minecraft:stony_peaks": {
|
|
246
|
+
temperature: 1,
|
|
247
|
+
downfall: .3
|
|
248
|
+
},
|
|
249
|
+
"minecraft:stony_shore": {
|
|
250
|
+
temperature: .2,
|
|
251
|
+
downfall: .3
|
|
252
|
+
},
|
|
253
|
+
"minecraft:sulfur_caves": {
|
|
254
|
+
temperature: .8,
|
|
255
|
+
downfall: .4,
|
|
256
|
+
water: "#34bf89",
|
|
257
|
+
grass: "#aba64f"
|
|
258
|
+
},
|
|
259
|
+
"minecraft:sunflower_plains": {
|
|
260
|
+
temperature: .8,
|
|
261
|
+
downfall: .4
|
|
262
|
+
},
|
|
263
|
+
"minecraft:swamp": {
|
|
264
|
+
temperature: .8,
|
|
265
|
+
downfall: .9,
|
|
266
|
+
water: "#617b64",
|
|
267
|
+
modifier: "swamp",
|
|
268
|
+
foliage: "#6a7039",
|
|
269
|
+
dryFoliage: "#7b5334"
|
|
270
|
+
},
|
|
271
|
+
"minecraft:taiga": {
|
|
272
|
+
temperature: .25,
|
|
273
|
+
downfall: .8
|
|
274
|
+
},
|
|
275
|
+
"minecraft:the_end": {
|
|
276
|
+
temperature: .5,
|
|
277
|
+
downfall: .5
|
|
278
|
+
},
|
|
279
|
+
"minecraft:the_void": {
|
|
280
|
+
temperature: .5,
|
|
281
|
+
downfall: .5
|
|
282
|
+
},
|
|
283
|
+
"minecraft:warm_ocean": {
|
|
284
|
+
temperature: .5,
|
|
285
|
+
downfall: .5,
|
|
286
|
+
water: "#43d5ee"
|
|
287
|
+
},
|
|
288
|
+
"minecraft:warped_forest": {
|
|
289
|
+
temperature: 2,
|
|
290
|
+
downfall: 0
|
|
291
|
+
},
|
|
292
|
+
"minecraft:windswept_forest": {
|
|
293
|
+
temperature: .2,
|
|
294
|
+
downfall: .3
|
|
295
|
+
},
|
|
296
|
+
"minecraft:windswept_gravelly_hills": {
|
|
297
|
+
temperature: .2,
|
|
298
|
+
downfall: .3
|
|
299
|
+
},
|
|
300
|
+
"minecraft:windswept_hills": {
|
|
301
|
+
temperature: .2,
|
|
302
|
+
downfall: .3
|
|
303
|
+
},
|
|
304
|
+
"minecraft:windswept_savanna": {
|
|
305
|
+
temperature: 2,
|
|
306
|
+
downfall: 0
|
|
307
|
+
},
|
|
308
|
+
"minecraft:wooded_badlands": {
|
|
309
|
+
temperature: 2,
|
|
310
|
+
downfall: 0,
|
|
311
|
+
grass: "#90814d",
|
|
312
|
+
foliage: "#9e814d"
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
/** Vanilla writes `grass_color_modifier` as one of two names; anything else is a mod's typo. */
|
|
316
|
+
const MODIFIERS = /* @__PURE__ */ new Set(["dark_forest", "swamp"]);
|
|
317
|
+
/**
|
|
318
|
+
* A colour as biome data spells it. Vanilla's own files use `#rrggbb` now, mod
|
|
319
|
+
* jars built against older versions write the same value as a decimal int, and
|
|
320
|
+
* both mean the same 24 bits.
|
|
321
|
+
*/
|
|
322
|
+
function biomeColor(value) {
|
|
323
|
+
if (typeof value === "string") {
|
|
324
|
+
const hex = /^#?([\da-f]{6})$/i.exec(value.trim());
|
|
325
|
+
return hex ? `#${hex[1].toLowerCase()}` : void 0;
|
|
326
|
+
}
|
|
327
|
+
if (typeof value === "number" && Number.isFinite(value)) return `#${(value & 16777215).toString(16).padStart(6, "0")}`;
|
|
328
|
+
}
|
|
329
|
+
/** One biome definition as a datapack states it, or `null` when it states no climate. */
|
|
330
|
+
function parseBiomeClimate(json) {
|
|
331
|
+
const biome = json;
|
|
332
|
+
if (typeof biome?.temperature !== "number" || typeof biome.downfall !== "number") return null;
|
|
333
|
+
const effects = biome.effects ?? {};
|
|
334
|
+
const modifier = typeof effects.grass_color_modifier === "string" && MODIFIERS.has(effects.grass_color_modifier) ? effects.grass_color_modifier : void 0;
|
|
335
|
+
const water = biomeColor(effects.water_color);
|
|
336
|
+
const grass = biomeColor(effects.grass_color);
|
|
337
|
+
const foliage = biomeColor(effects.foliage_color);
|
|
338
|
+
const dryFoliage = biomeColor(effects.dry_foliage_color);
|
|
339
|
+
return {
|
|
340
|
+
temperature: biome.temperature,
|
|
341
|
+
downfall: biome.downfall,
|
|
342
|
+
...water !== void 0 && water !== "#3f76e4" && { water },
|
|
343
|
+
...modifier && { modifier },
|
|
344
|
+
...grass !== void 0 && { grass },
|
|
345
|
+
...foliage !== void 0 && { foliage },
|
|
346
|
+
...dryFoliage !== void 0 && { dryFoliage }
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Climates for the namespaces a pack exports: whatever their datapacks declare,
|
|
351
|
+
* plus vanilla's own table when `minecraft` is one of them.
|
|
352
|
+
*
|
|
353
|
+
* A mod pack carries only its own biomes. The vanilla pack is always fetched
|
|
354
|
+
* beside it, so repeating vanilla's would be the same bytes in every one of the
|
|
355
|
+
* hundreds of mod packs published.
|
|
356
|
+
*/
|
|
357
|
+
async function buildBiomeClimates(resources, namespaces) {
|
|
358
|
+
const pack = {};
|
|
359
|
+
const unreadable = [];
|
|
360
|
+
for (const namespace of namespaces) {
|
|
361
|
+
if (namespace === "minecraft") Object.assign(pack, VANILLA_BIOME_CLIMATES);
|
|
362
|
+
for (const locator of await resources.listResources("biome", namespace)) {
|
|
363
|
+
const raw = await resources.getResource("biome", locator);
|
|
364
|
+
if (raw === null) continue;
|
|
365
|
+
let climate;
|
|
366
|
+
try {
|
|
367
|
+
climate = parseBiomeClimate(JSON.parse(raw.toString("utf8")));
|
|
368
|
+
} catch {
|
|
369
|
+
climate = null;
|
|
370
|
+
}
|
|
371
|
+
if (climate === null) {
|
|
372
|
+
unreadable.push(locator.toString());
|
|
373
|
+
continue;
|
|
374
|
+
}
|
|
375
|
+
pack[locator.toString()] = climate;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
return {
|
|
379
|
+
pack,
|
|
380
|
+
unreadable
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
//#endregion
|
|
384
|
+
export { parseBiomeClimate as i, VANILLA_BIOME_CLIMATES as n, buildBiomeClimates as r, DEFAULT_WATER_COLOR as t };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
2
|
+
//#region src/blocks/biomes.d.ts
|
|
3
|
+
/** Where a biome's colours come from. Colours are `#rrggbb`, as everywhere else in the pack. */
|
|
4
|
+
interface BiomeClimate {
|
|
5
|
+
/** As the biome declares it, unclamped: the peaks run to -0.7 and the deserts to 2. */
|
|
6
|
+
temperature: number;
|
|
7
|
+
downfall: number;
|
|
8
|
+
/** `effects.water_color`, when it is not the default. */
|
|
9
|
+
water?: string;
|
|
10
|
+
/** `effects.grass_color_modifier`, applied after the colormap lookup. */
|
|
11
|
+
modifier?: 'dark_forest' | 'swamp';
|
|
12
|
+
/** `effects.grass_color`, which replaces the colormap lookup outright. */
|
|
13
|
+
grass?: string;
|
|
14
|
+
foliage?: string;
|
|
15
|
+
dryFoliage?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `biomes.json`: biome id → climate. */
|
|
18
|
+
type BiomeClimatePack = Record<string, BiomeClimate>;
|
|
19
|
+
/** `effects.water_color` where a biome does not override it, which is most of them. */
|
|
20
|
+
declare const DEFAULT_WATER_COLOR = "#3f76e4";
|
|
21
|
+
/** Every vanilla biome's climate, by id. Ordered so a regenerated table diffs cleanly. */
|
|
22
|
+
declare const VANILLA_BIOME_CLIMATES: BiomeClimatePack;
|
|
23
|
+
/** One biome definition as a datapack states it, or `null` when it states no climate. */
|
|
24
|
+
declare function parseBiomeClimate(json: unknown): BiomeClimate | null;
|
|
25
|
+
/**
|
|
26
|
+
* Climates for the namespaces a pack exports: whatever their datapacks declare,
|
|
27
|
+
* plus vanilla's own table when `minecraft` is one of them.
|
|
28
|
+
*
|
|
29
|
+
* A mod pack carries only its own biomes. The vanilla pack is always fetched
|
|
30
|
+
* beside it, so repeating vanilla's would be the same bytes in every one of the
|
|
31
|
+
* hundreds of mod packs published.
|
|
32
|
+
*/
|
|
33
|
+
declare function buildBiomeClimates(resources: ResourceManager, namespaces: readonly string[]): Promise<{
|
|
34
|
+
pack: BiomeClimatePack;
|
|
35
|
+
unreadable: string[];
|
|
36
|
+
}>;
|
|
37
|
+
//#endregion
|
|
38
|
+
export { buildBiomeClimates as a, VANILLA_BIOME_CLIMATES as i, BiomeClimatePack as n, parseBiomeClimate as o, DEFAULT_WATER_COLOR as r, BiomeClimate as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as PackedRect, i as PackedPage, n as PackOptions, o as packAtlas, r as PackedAtlas, t as PackEntry } from "../atlas-pack-
|
|
1
|
+
import { a as PackedRect, i as PackedPage, n as PackOptions, o as packAtlas, r as PackedAtlas, t as PackEntry } from "../atlas-pack-D8745_wo.js";
|
|
2
2
|
export { PackEntry, PackOptions, PackedAtlas, PackedPage, PackedRect, packAtlas };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as buildBiomeClimates, i as VANILLA_BIOME_CLIMATES, n as BiomeClimatePack, o as parseBiomeClimate, r as DEFAULT_WATER_COLOR, t as BiomeClimate } from "../biomes-CJDJQqJb.js";
|
|
2
|
+
export { BiomeClimate, BiomeClimatePack, DEFAULT_WATER_COLOR, VANILLA_BIOME_CLIMATES, buildBiomeClimates, parseBiomeClimate };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as ResourceManager } from "../manager-
|
|
2
|
-
import { i as TextureLoader } from "../loader-
|
|
3
|
-
import { t as ModelLoader } from "../loader-
|
|
1
|
+
import { a as ResourceManager } from "../manager-exOIcdyx.js";
|
|
2
|
+
import { i as TextureLoader } from "../loader-DUlx29PC.js";
|
|
3
|
+
import { t as ModelLoader } from "../loader-DSir1-P0.js";
|
|
4
4
|
//#region src/blocks/block-entities.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* What the table is allowed to look at. The vanilla families are a lookup, but
|
package/dist/blocks/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as runBlocksCli } from "../cli-
|
|
1
|
+
import { t as runBlocksCli } from "../cli-DqJtT-Ms.js";
|
|
2
2
|
export { runBlocksCli };
|
package/dist/blocks/export.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as exportBlockPack, n as BlockPackResult, r as ExportBlockPackOptions, t as BlockPackFailure } from "../export-
|
|
1
|
+
import { i as exportBlockPack, n as BlockPackResult, r as ExportBlockPackOptions, t as BlockPackFailure } from "../export-Bllg8Fw7.js";
|
|
2
2
|
export { BlockPackFailure, BlockPackResult, ExportBlockPackOptions, exportBlockPack };
|
package/dist/blocks/export.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as exportBlockPack } from "../export-
|
|
1
|
+
import { t as exportBlockPack } from "../export-kMoMes_a.js";
|
|
2
2
|
export { exportBlockPack };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as buildObjMesh, n as ObjMesh, r as ObjMeshError, t as MeshGroup } from "../obj-mesh-
|
|
1
|
+
import { i as buildObjMesh, n as ObjMesh, r as ObjMeshError, t as MeshGroup } from "../obj-mesh-ydhVfLKs.js";
|
|
2
2
|
export { MeshGroup, ObjMesh, ObjMeshError, buildObjMesh };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as
|
|
2
|
-
export { BlockPackAtlasFile, BlockPackAtlasPage, BlockPackBlockState, BlockPackBlockStatesFile, BlockPackElement, BlockPackFace, BlockPackMetaFile, BlockPackModel, BlockPackModelsFile, BlockPackRenderLayer, BlockPackSprite, BlockPackSpriteFrame, BlockPackTintsFile, BlockPackVariant };
|
|
1
|
+
import { a as BlockPackBlockStatesFile, c as BlockPackMetaFile, d as BlockPackRenderLayer, f as BlockPackSprite, h as BlockPackVariant, i as BlockPackBlockState, l as BlockPackModel, m as BlockPackTintsFile, n as BlockPackAtlasPage, o as BlockPackElement, p as BlockPackSpriteFrame, r as BlockPackBiomesFile, s as BlockPackFace, t as BlockPackAtlasFile, u as BlockPackModelsFile } from "../pack-format-BVC_B-ZW.js";
|
|
2
|
+
export { BlockPackAtlasFile, BlockPackAtlasPage, BlockPackBiomesFile, BlockPackBlockState, BlockPackBlockStatesFile, BlockPackElement, BlockPackFace, BlockPackMetaFile, BlockPackModel, BlockPackModelsFile, BlockPackRenderLayer, BlockPackSprite, BlockPackSpriteFrame, BlockPackTintsFile, BlockPackVariant };
|
package/dist/blocks/tints.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { BlockTint, BlockTintPack, BuiltBlockTints, buildBlockTints };
|
|
1
|
+
import { a as buildBlockTints, i as UNREGISTERED_TINTS, n as BlockTintPack, r as BuiltBlockTints, t as BlockTint } from "../tints-DoBv5S9v.js";
|
|
2
|
+
export { BlockTint, BlockTintPack, BuiltBlockTints, UNREGISTERED_TINTS, buildBlockTints };
|
package/dist/blocks/tints.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { buildBlockTints };
|
|
1
|
+
import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "../tints-Cl0r-Ol3.js";
|
|
2
|
+
export { UNREGISTERED_TINTS, buildBlockTints };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { n as builtinPackPath } from "./builtin-WkWjATeh.js";
|
|
2
|
-
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-
|
|
3
|
-
import { t as exportBlockPack } from "./export-
|
|
4
|
-
import { n as prepareModResources } from "./prepare-
|
|
2
|
+
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
|
|
3
|
+
import { t as exportBlockPack } from "./export-kMoMes_a.js";
|
|
4
|
+
import { n as prepareModResources } from "./prepare-C9gjqQTt.js";
|
|
5
5
|
import { t as downloadClientJar } from "./download-1wAfrGKx.js";
|
|
6
|
-
import { a as prepareVersionResources, r as compareVersions } from "./prepare-
|
|
6
|
+
import { a as prepareVersionResources, r as compareVersions } from "./prepare-8LswFoS-.js";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import { parseArgs } from "node:util";
|
|
@@ -151,6 +151,7 @@ async function runBlocksCli(argv) {
|
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
153
|
console.log(`\n${result.blocks} blocks, ${result.models} models, ${result.sprites} sprites across ${result.pages} atlas page(s); ${result.writtenFiles} files written.`);
|
|
154
|
+
console.log(result.biomes > 0 ? `${result.biomes} biomes described in biomes.json.` : "No biomes to describe; biomes.json not written.");
|
|
154
155
|
console.log(`${result.failures.length} entries in failures.json.`);
|
|
155
156
|
return 0;
|
|
156
157
|
} finally {
|
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { n as builtinPackPath, t as bedCompatPath } from "./builtin-WkWjATeh.js";
|
|
3
|
-
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-
|
|
4
|
-
import { t as curatedModelOverrides } from "./models-
|
|
5
|
-
import { n as harvestTintOverrides, t as curatedTintOverrides } from "./tints-
|
|
6
|
-
import { t as JarResourceManager } from "./jar-
|
|
3
|
+
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
|
|
4
|
+
import { t as curatedModelOverrides } from "./models-CZjCOjs4.js";
|
|
5
|
+
import { n as harvestTintOverrides, t as curatedTintOverrides } from "./tints-C1tT6pKk.js";
|
|
6
|
+
import { t as JarResourceManager } from "./jar-W2cV2ZVO.js";
|
|
7
7
|
import { t as downloadClientJar } from "./download-1wAfrGKx.js";
|
|
8
|
-
import { a as prepareVersionResources, i as eraForVersion, n as GEOMETRY_DONOR_VERSIONS } from "./prepare-
|
|
9
|
-
import { t as runBlocksCli } from "./cli-
|
|
10
|
-
import { t as run } from "./run-
|
|
8
|
+
import { a as prepareVersionResources, i as eraForVersion, n as GEOMETRY_DONOR_VERSIONS } from "./prepare-8LswFoS-.js";
|
|
9
|
+
import { t as runBlocksCli } from "./cli-DqJtT-Ms.js";
|
|
10
|
+
import { t as run } from "./run-B_JAUbXe.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import os from "node:os";
|
|
13
13
|
import { parseArgs } from "node:util";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-
|
|
1
|
+
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
|
|
2
2
|
import { n as MapResourceManager, t as KindFilteredResourceManager } from "./synthetic-rc9BPT4P.js";
|
|
3
|
-
import { t as JarResourceManager } from "./jar-
|
|
3
|
+
import { t as JarResourceManager } from "./jar-W2cV2ZVO.js";
|
|
4
4
|
//#region src/resources/descriptor.ts
|
|
5
5
|
/**
|
|
6
6
|
* Serializable descriptions of a resource tree, so the same layered tree can be
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ResourceManager } from "./manager-
|
|
1
|
+
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
2
2
|
import { i as ItemRenderInstruction, r as ItemProperties } from "./definition-ricL7Jqf.js";
|
|
3
3
|
//#region src/items/discovery.d.ts
|
|
4
4
|
declare class ItemResolutionError extends Error {}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as TRIM_DARKER_MATERIALS, i as POTTERY_SHERDS, n as DynamicItem, o as TRIM_MATERIALS, r as DynamicResources, s as builtinDynamicResources, t as ARMOR_ITEM_TYPES } from "../generators-
|
|
1
|
+
import { a as TRIM_DARKER_MATERIALS, i as POTTERY_SHERDS, n as DynamicItem, o as TRIM_MATERIALS, r as DynamicResources, s as builtinDynamicResources, t as ARMOR_ITEM_TYPES } from "../generators-BnIzAftW.js";
|
|
2
2
|
export { ARMOR_ITEM_TYPES, DynamicItem, DynamicResources, POTTERY_SHERDS, TRIM_DARKER_MATERIALS, TRIM_MATERIALS, builtinDynamicResources };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ResourceManager } from "./manager-
|
|
1
|
+
import { a as ResourceManager } from "./manager-exOIcdyx.js";
|
|
2
2
|
//#region src/blocks/export.d.ts
|
|
3
3
|
interface ExportBlockPackOptions {
|
|
4
4
|
resources: ResourceManager;
|
|
@@ -27,7 +27,7 @@ interface BlockPackFailure {
|
|
|
27
27
|
* `intentional` is not a failure: it marks a block that is empty because the
|
|
28
28
|
* game draws nothing for it. Filter it out to get the real gaps.
|
|
29
29
|
*/
|
|
30
|
-
kind: 'blockstate' | 'model' | 'texture' | 'sprite' | 'geometry' | 'tint' | 'intentional';
|
|
30
|
+
kind: 'blockstate' | 'model' | 'texture' | 'sprite' | 'geometry' | 'tint' | 'biome' | 'intentional';
|
|
31
31
|
reason: string;
|
|
32
32
|
}
|
|
33
33
|
interface BlockPackResult {
|
|
@@ -35,6 +35,8 @@ interface BlockPackResult {
|
|
|
35
35
|
models: number;
|
|
36
36
|
sprites: number;
|
|
37
37
|
pages: number;
|
|
38
|
+
/** Biomes described in `biomes.json`; `0` means the file was not written. */
|
|
39
|
+
biomes: number;
|
|
38
40
|
/** Files actually written — the only trustworthy success signal. */
|
|
39
41
|
writtenFiles: number;
|
|
40
42
|
failures: BlockPackFailure[];
|