@spyglassmc/java-edition 0.1.0

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.
Files changed (94) hide show
  1. package/README.md +36 -0
  2. package/lib/binder/index.d.ts +15 -0
  3. package/lib/binder/index.js +102 -0
  4. package/lib/common/index.d.ts +7 -0
  5. package/lib/common/index.js +60 -0
  6. package/lib/dependency/common.d.ts +26 -0
  7. package/lib/dependency/common.js +39 -0
  8. package/lib/dependency/index.d.ts +30 -0
  9. package/lib/dependency/index.js +172 -0
  10. package/lib/dependency/mcmeta.d.ts +79 -0
  11. package/lib/dependency/mcmeta.js +205 -0
  12. package/lib/index.d.ts +6 -0
  13. package/lib/index.js +76 -0
  14. package/lib/json/checker/data/advancement.d.ts +14 -0
  15. package/lib/json/checker/data/advancement.js +450 -0
  16. package/lib/json/checker/data/biome.d.ts +4 -0
  17. package/lib/json/checker/data/biome.js +151 -0
  18. package/lib/json/checker/data/common.d.ts +22 -0
  19. package/lib/json/checker/data/common.js +286 -0
  20. package/lib/json/checker/data/dimension.d.ts +4 -0
  21. package/lib/json/checker/data/dimension.js +238 -0
  22. package/lib/json/checker/data/feature.d.ts +9 -0
  23. package/lib/json/checker/data/feature.js +733 -0
  24. package/lib/json/checker/data/index.d.ts +4 -0
  25. package/lib/json/checker/data/index.js +43 -0
  26. package/lib/json/checker/data/loot_table.d.ts +8 -0
  27. package/lib/json/checker/data/loot_table.js +279 -0
  28. package/lib/json/checker/data/recipe.d.ts +2 -0
  29. package/lib/json/checker/data/recipe.js +53 -0
  30. package/lib/json/checker/data/structure.d.ts +8 -0
  31. package/lib/json/checker/data/structure.js +148 -0
  32. package/lib/json/checker/data/tag.d.ts +7 -0
  33. package/lib/json/checker/data/tag.js +38 -0
  34. package/lib/json/checker/data/text_component.d.ts +2 -0
  35. package/lib/json/checker/data/text_component.js +142 -0
  36. package/lib/json/checker/index.d.ts +5 -0
  37. package/lib/json/checker/index.js +28 -0
  38. package/lib/json/checker/util/advancement.d.ts +3 -0
  39. package/lib/json/checker/util/advancement.js +20 -0
  40. package/lib/json/checker/util/block_states.d.ts +13 -0
  41. package/lib/json/checker/util/block_states.js +85 -0
  42. package/lib/json/checker/util/color.d.ts +4 -0
  43. package/lib/json/checker/util/color.js +64 -0
  44. package/lib/json/checker/util/index.d.ts +8 -0
  45. package/lib/json/checker/util/index.js +20 -0
  46. package/lib/json/checker/util/nbt.d.ts +17 -0
  47. package/lib/json/checker/util/nbt.js +71 -0
  48. package/lib/json/checker/util/recipe.d.ts +6 -0
  49. package/lib/json/checker/util/recipe.js +16 -0
  50. package/lib/json/checker/util/uuid.d.ts +2 -0
  51. package/lib/json/checker/util/uuid.js +12 -0
  52. package/lib/json/checker/util/version.d.ts +46 -0
  53. package/lib/json/checker/util/version.js +54 -0
  54. package/lib/json/index.d.ts +4 -0
  55. package/lib/json/index.js +32 -0
  56. package/lib/mcfunction/checker/index.d.ts +7 -0
  57. package/lib/mcfunction/checker/index.js +217 -0
  58. package/lib/mcfunction/colorizer/index.d.ts +6 -0
  59. package/lib/mcfunction/colorizer/index.js +38 -0
  60. package/lib/mcfunction/common/index.d.ts +7 -0
  61. package/lib/mcfunction/common/index.js +47 -0
  62. package/lib/mcfunction/completer/argument.d.ts +5 -0
  63. package/lib/mcfunction/completer/argument.js +292 -0
  64. package/lib/mcfunction/completer/index.d.ts +2 -0
  65. package/lib/mcfunction/completer/index.js +14 -0
  66. package/lib/mcfunction/index.d.ts +8 -0
  67. package/lib/mcfunction/index.js +72 -0
  68. package/lib/mcfunction/inlayHintProvider.d.ts +4 -0
  69. package/lib/mcfunction/inlayHintProvider.js +40 -0
  70. package/lib/mcfunction/node/argument.d.ts +187 -0
  71. package/lib/mcfunction/node/argument.js +281 -0
  72. package/lib/mcfunction/node/index.d.ts +2 -0
  73. package/lib/mcfunction/node/index.js +14 -0
  74. package/lib/mcfunction/parser/argument.d.ts +15 -0
  75. package/lib/mcfunction/parser/argument.js +934 -0
  76. package/lib/mcfunction/parser/index.d.ts +2 -0
  77. package/lib/mcfunction/parser/index.js +14 -0
  78. package/lib/mcfunction/signatureHelpProvider.d.ts +8 -0
  79. package/lib/mcfunction/signatureHelpProvider.js +103 -0
  80. package/lib/mcfunction/tree/1.15.d.ts +9 -0
  81. package/lib/mcfunction/tree/1.15.js +542 -0
  82. package/lib/mcfunction/tree/1.16.d.ts +10 -0
  83. package/lib/mcfunction/tree/1.16.js +77 -0
  84. package/lib/mcfunction/tree/1.17.d.ts +12 -0
  85. package/lib/mcfunction/tree/1.17.js +166 -0
  86. package/lib/mcfunction/tree/1.18.d.ts +26 -0
  87. package/lib/mcfunction/tree/1.18.js +6 -0
  88. package/lib/mcfunction/tree/1.19.d.ts +26 -0
  89. package/lib/mcfunction/tree/1.19.js +6 -0
  90. package/lib/mcfunction/tree/argument.d.ts +179 -0
  91. package/lib/mcfunction/tree/argument.js +3 -0
  92. package/lib/mcfunction/tree/index.d.ts +7 -0
  93. package/lib/mcfunction/tree/index.js +19 -0
  94. package/package.json +41 -0
@@ -0,0 +1,286 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Direction = exports.Slots = exports.HeightmapType = exports.noise_parameters = exports.inclusiveRange = exports.uniformInt = exports.intProvider = exports.floatProvider = exports.height_provider = exports.vertical_anchor = exports.fluid_state = exports.block_state = exports.float_bounds = exports.int_bounds = exports.nbt_provider = exports.score_provider = exports.number_provider = exports.MIN_Y = exports.MAX_Y = exports.Y_SIZE = void 0;
4
+ const primitives_1 = require("@spyglassmc/json/lib/checker/primitives");
5
+ const util_1 = require("../util");
6
+ function smallestEncompassingPowerOfTwo(n) {
7
+ n = n - 1;
8
+ n |= n >> 1;
9
+ n |= n >> 2;
10
+ n |= n >> 4;
11
+ n |= n >> 8;
12
+ n |= n >> 16;
13
+ return n + 1;
14
+ }
15
+ const BITS_FOR_Y = 64 - 2 * (1 + Math.log2(smallestEncompassingPowerOfTwo(30000000))); // 12
16
+ exports.Y_SIZE = (1 << BITS_FOR_Y) - 32; // 4064
17
+ exports.MAX_Y = (exports.Y_SIZE >> 1) - 1; // 2031
18
+ exports.MIN_Y = exports.MAX_Y - exports.Y_SIZE + 1; // -2031
19
+ exports.number_provider = (0, primitives_1.as)('range', (0, primitives_1.any)([
20
+ primitives_1.float,
21
+ (0, primitives_1.dispatch)('type', (type) => (0, primitives_1.record)({
22
+ type: (0, primitives_1.opt)((0, primitives_1.resource)('loot_number_provider_type')),
23
+ ...type === undefined ? {
24
+ min: exports.number_provider,
25
+ max: exports.number_provider,
26
+ } : {},
27
+ ...(0, primitives_1.pick)(type, {
28
+ constant: {
29
+ value: primitives_1.float,
30
+ },
31
+ uniform: {
32
+ min: exports.number_provider,
33
+ max: exports.number_provider,
34
+ },
35
+ binomial: {
36
+ n: exports.number_provider,
37
+ p: exports.number_provider,
38
+ },
39
+ score: {
40
+ target: exports.score_provider,
41
+ score: (0, primitives_1.literal)('objective'),
42
+ scale: (0, primitives_1.opt)(primitives_1.float),
43
+ },
44
+ }),
45
+ })),
46
+ ]));
47
+ exports.score_provider = (0, primitives_1.any)([
48
+ (0, primitives_1.literal)(['this', 'killer', 'player_killer', 'direct_killer']),
49
+ (0, primitives_1.dispatch)('type', (type) => (0, primitives_1.record)({
50
+ type: (0, primitives_1.resource)('loot_score_provider_type'),
51
+ ...(0, primitives_1.pick)(type, {
52
+ context: {
53
+ target: (0, primitives_1.literal)(['this', 'killer', 'player_killer', 'direct_killer']),
54
+ },
55
+ fixed: {
56
+ name: primitives_1.simpleString, // TODO: score holder, no selector
57
+ },
58
+ }),
59
+ })),
60
+ ]);
61
+ exports.nbt_provider = (0, primitives_1.any)([
62
+ (0, primitives_1.literal)(['this', 'killer', 'killer_player', 'block_entity']),
63
+ (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
64
+ type: (0, primitives_1.resource)('loot_nbt_provider_type'),
65
+ ...(0, primitives_1.pick)(type, {
66
+ context: {
67
+ target: (0, primitives_1.literal)(['this', 'killer', 'killer_player', 'block_entity']),
68
+ },
69
+ storage: {
70
+ source: (0, primitives_1.resource)('storage'),
71
+ },
72
+ }),
73
+ })),
74
+ ]);
75
+ exports.int_bounds = (0, primitives_1.as)('bounds', (0, primitives_1.any)([
76
+ primitives_1.int,
77
+ (0, primitives_1.any)([
78
+ (0, primitives_1.record)({
79
+ min: primitives_1.int,
80
+ max: (0, primitives_1.opt)(primitives_1.int),
81
+ }),
82
+ (0, primitives_1.record)({
83
+ min: (0, primitives_1.opt)(primitives_1.int),
84
+ max: primitives_1.int,
85
+ }),
86
+ ]),
87
+ ]));
88
+ exports.float_bounds = (0, primitives_1.as)('bounds', (0, primitives_1.any)([
89
+ primitives_1.float,
90
+ (0, primitives_1.any)([
91
+ (0, primitives_1.record)({
92
+ min: primitives_1.float,
93
+ max: (0, primitives_1.opt)(primitives_1.float),
94
+ }),
95
+ (0, primitives_1.record)({
96
+ min: (0, primitives_1.opt)(primitives_1.float),
97
+ max: primitives_1.float,
98
+ }),
99
+ ]),
100
+ ]));
101
+ exports.block_state = (0, primitives_1.as)('block_state', (0, primitives_1.dispatch)(props => (0, primitives_1.record)({
102
+ Name: (0, primitives_1.resource)('block'),
103
+ Properties: (0, primitives_1.opt)((0, util_1.blockStateMap)({
104
+ id: (0, primitives_1.extract)('Name', props),
105
+ requireAll: true,
106
+ })),
107
+ })));
108
+ exports.fluid_state = (0, primitives_1.as)('fluid_state', (0, primitives_1.dispatch)(props => (0, primitives_1.record)({
109
+ Name: (0, primitives_1.resource)('fluid'),
110
+ Properties: (0, primitives_1.opt)((0, util_1.blockStateMap)({
111
+ id: (0, primitives_1.extract)('Name', props),
112
+ category: 'fluid',
113
+ requireAll: true,
114
+ })),
115
+ })));
116
+ exports.vertical_anchor = (0, primitives_1.as)('vertical_anchor', (0, primitives_1.any)([
117
+ (0, primitives_1.record)({
118
+ absolute: (0, primitives_1.intRange)(exports.MIN_Y, exports.MAX_Y),
119
+ }),
120
+ (0, primitives_1.record)({
121
+ above_bottom: (0, primitives_1.intRange)(exports.MIN_Y, exports.MAX_Y),
122
+ }),
123
+ (0, primitives_1.record)({
124
+ below_top: (0, primitives_1.intRange)(exports.MIN_Y, exports.MAX_Y),
125
+ }),
126
+ ]));
127
+ exports.height_provider = (0, primitives_1.as)('height_provider', (0, primitives_1.any)([
128
+ exports.vertical_anchor,
129
+ (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
130
+ type: (0, primitives_1.resource)('height_provider_type'),
131
+ ...(0, primitives_1.pick)(type, {
132
+ constant: {
133
+ value: exports.vertical_anchor,
134
+ },
135
+ uniform: {
136
+ min_inclusive: exports.vertical_anchor,
137
+ max_inclusive: exports.vertical_anchor,
138
+ },
139
+ biased_to_bottom: {
140
+ min_inclusive: exports.vertical_anchor,
141
+ max_inclusive: exports.vertical_anchor,
142
+ inner: (0, primitives_1.opt)((0, primitives_1.intRange)(1, undefined), 1),
143
+ },
144
+ very_biased_to_bottom: {
145
+ min_inclusive: exports.vertical_anchor,
146
+ max_inclusive: exports.vertical_anchor,
147
+ inner: (0, primitives_1.opt)((0, primitives_1.intRange)(1, undefined), 1),
148
+ },
149
+ trapezoid: {
150
+ min_inclusive: exports.vertical_anchor,
151
+ max_inclusive: exports.vertical_anchor,
152
+ plateau: (0, primitives_1.opt)(primitives_1.int, 0),
153
+ },
154
+ weighted_list: {
155
+ distribution: (0, primitives_1.listOf)((0, primitives_1.record)({
156
+ data: (0, primitives_1.ref)(() => exports.height_provider),
157
+ weight: primitives_1.int,
158
+ })),
159
+ },
160
+ }),
161
+ })),
162
+ ]));
163
+ const floatProvider = (min = undefined, max = undefined) => (0, primitives_1.as)('float_provider', (0, primitives_1.any)([
164
+ (0, primitives_1.floatRange)(min, max),
165
+ (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
166
+ type: (0, primitives_1.resource)('float_provider_type'),
167
+ ...(0, primitives_1.pick)(type, {
168
+ constant: {
169
+ value: (0, primitives_1.floatRange)(min, max),
170
+ },
171
+ uniform: {
172
+ value: (0, primitives_1.record)({
173
+ min_inclusive: (0, primitives_1.floatRange)(min, max),
174
+ max_exclusive: (0, primitives_1.floatRange)(min, max),
175
+ }),
176
+ },
177
+ clamped_normal: {
178
+ value: (0, primitives_1.record)({
179
+ mean: primitives_1.float,
180
+ deviation: primitives_1.float,
181
+ min: (0, primitives_1.floatRange)(min, max),
182
+ max: (0, primitives_1.floatRange)(min, max),
183
+ }),
184
+ },
185
+ trapezoid: {
186
+ value: (0, primitives_1.record)({
187
+ min: (0, primitives_1.floatRange)(min, max),
188
+ max: (0, primitives_1.floatRange)(min, max),
189
+ plateau: primitives_1.float,
190
+ }),
191
+ },
192
+ }),
193
+ })),
194
+ ]));
195
+ exports.floatProvider = floatProvider;
196
+ const intProvider = (min = undefined, max = undefined) => (0, primitives_1.as)('int_provider', (0, primitives_1.any)([
197
+ (0, primitives_1.intRange)(min, max),
198
+ (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
199
+ type: (0, primitives_1.resource)('int_provider_type'),
200
+ ...(0, primitives_1.pick)(type, {
201
+ constant: {
202
+ value: (0, primitives_1.intRange)(min, max),
203
+ },
204
+ uniform: {
205
+ value: (0, primitives_1.record)({
206
+ min_inclusive: (0, primitives_1.intRange)(min, max),
207
+ max_inclusive: (0, primitives_1.intRange)(min, max),
208
+ }),
209
+ },
210
+ biased_to_bottom: {
211
+ value: (0, primitives_1.record)({
212
+ min_inclusive: (0, primitives_1.intRange)(min, max),
213
+ max_inclusive: (0, primitives_1.intRange)(min, max),
214
+ }),
215
+ },
216
+ clamped: {
217
+ value: (0, primitives_1.record)({
218
+ min_inclusive: (0, primitives_1.intRange)(min, max),
219
+ max_inclusive: (0, primitives_1.intRange)(min, max),
220
+ source: (0, primitives_1.ref)(() => (0, exports.intProvider)()),
221
+ }),
222
+ },
223
+ clamped_normal: {
224
+ value: (0, primitives_1.record)({
225
+ mean: primitives_1.float,
226
+ deviation: primitives_1.float,
227
+ min_inclusive: (0, primitives_1.intRange)(min, max),
228
+ max_inclusive: (0, primitives_1.intRange)(min, max),
229
+ }),
230
+ },
231
+ weighted_list: {
232
+ distribution: (0, primitives_1.listOf)((0, primitives_1.record)({
233
+ data: (0, primitives_1.ref)(() => (0, exports.intProvider)()),
234
+ weight: primitives_1.int,
235
+ })),
236
+ },
237
+ }),
238
+ })),
239
+ ]));
240
+ exports.intProvider = intProvider;
241
+ // until 1.16
242
+ const uniformInt = (min, max, maxSpread) => (0, primitives_1.as)('uniform_int', (0, primitives_1.any)([
243
+ (0, primitives_1.intRange)(min, max),
244
+ (0, primitives_1.record)({
245
+ base: (0, primitives_1.intRange)(min, max),
246
+ spread: (0, primitives_1.intRange)(0, maxSpread),
247
+ }),
248
+ ]));
249
+ exports.uniformInt = uniformInt;
250
+ const inclusiveRange = (min, max) => (0, primitives_1.as)('inclusive_range', (0, primitives_1.any)([
251
+ (0, primitives_1.record)({
252
+ min_inclusive: (0, primitives_1.intRange)(min, max),
253
+ max_inclusive: (0, primitives_1.intRange)(min, max),
254
+ }),
255
+ (0, primitives_1.listOf)((0, primitives_1.intRange)(min, max)),
256
+ ]));
257
+ exports.inclusiveRange = inclusiveRange;
258
+ exports.noise_parameters = (0, primitives_1.record)({
259
+ firstOctave: primitives_1.int,
260
+ amplitudes: (0, primitives_1.listOf)(primitives_1.float),
261
+ });
262
+ exports.HeightmapType = [
263
+ 'MOTION_BLOCKING',
264
+ 'MOTION_BLOCKING_NO_LEAVES',
265
+ 'OCEAN_FLOOR',
266
+ 'OCEAN_FLOOR_WG',
267
+ 'WORLD_SURFACE',
268
+ 'WORLD_SURFACE_WG',
269
+ ];
270
+ exports.Slots = [
271
+ 'mainhand',
272
+ 'offhand',
273
+ 'head',
274
+ 'chest',
275
+ 'legs',
276
+ 'feet',
277
+ ];
278
+ exports.Direction = [
279
+ 'up',
280
+ 'down',
281
+ 'north',
282
+ 'east',
283
+ 'south',
284
+ 'west',
285
+ ];
286
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1,4 @@
1
+ export declare const noise_settings: import("@spyglassmc/json/lib/checker").JsonChecker;
2
+ export declare const dimension_type: import("@spyglassmc/json/lib/checker").JsonChecker;
3
+ export declare const dimension: import("@spyglassmc/json/lib/checker").JsonChecker;
4
+ //# sourceMappingURL=dimension.d.ts.map
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.dimension = exports.dimension_type = exports.noise_settings = void 0;
4
+ const primitives_1 = require("@spyglassmc/json/lib/checker/primitives");
5
+ const util_1 = require("../util");
6
+ const common_1 = require("./common");
7
+ const material_condition = (0, primitives_1.as)('material_condition', (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
8
+ type: (0, primitives_1.resource)('worldgen/material_condition'),
9
+ ...(0, primitives_1.pick)(type, {
10
+ biome: {
11
+ biome_is: (0, primitives_1.listOf)((0, primitives_1.resource)('worldgen/biome')),
12
+ },
13
+ noise_threshold: {
14
+ noise: (0, primitives_1.resource)('worldgen/noise'),
15
+ min_threshold: primitives_1.float,
16
+ max_threshold: primitives_1.float,
17
+ },
18
+ not: {
19
+ invert: material_condition,
20
+ },
21
+ stone_depth: {
22
+ offset: primitives_1.int,
23
+ surface_type: (0, primitives_1.literal)(['floor', 'ceiling']),
24
+ add_surface_depth: primitives_1.boolean,
25
+ add_surface_secondary_depth: primitives_1.boolean,
26
+ },
27
+ vertical_gradient: {
28
+ random_name: primitives_1.simpleString,
29
+ true_at_and_below: common_1.vertical_anchor,
30
+ false_at_and_above: common_1.vertical_anchor,
31
+ },
32
+ water: {
33
+ offset: primitives_1.int,
34
+ surface_depth_multiplier: (0, primitives_1.intRange)(-20, 20),
35
+ add_stone_depth: primitives_1.boolean,
36
+ },
37
+ y_above: {
38
+ anchor: common_1.vertical_anchor,
39
+ surface_depth_multiplier: (0, primitives_1.intRange)(-20, 20),
40
+ add_stone_depth: primitives_1.boolean,
41
+ },
42
+ }),
43
+ })));
44
+ const material_rule = (0, primitives_1.as)('material_rule', (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
45
+ type: (0, primitives_1.resource)('worldgen/material_rule'),
46
+ ...(0, primitives_1.pick)(type, {
47
+ block: {
48
+ result_state: common_1.block_state,
49
+ },
50
+ condition: {
51
+ if_true: material_condition,
52
+ then_run: material_rule,
53
+ },
54
+ sequence: {
55
+ sequence: (0, primitives_1.listOf)(material_rule),
56
+ },
57
+ }),
58
+ })));
59
+ const terrain_spline = (0, primitives_1.as)('terrain_spline', (0, primitives_1.any)([
60
+ primitives_1.float,
61
+ (0, primitives_1.record)({
62
+ coordinate: (0, primitives_1.literal)(['continents', 'erosion', 'weirdness', 'ridges']),
63
+ points: (0, primitives_1.listOf)((0, primitives_1.record)({
64
+ location: primitives_1.float,
65
+ value: (0, primitives_1.ref)(() => terrain_spline),
66
+ derivative: primitives_1.float,
67
+ })),
68
+ }),
69
+ ]));
70
+ const structure_settings = (0, primitives_1.as)('structure_settings', (0, primitives_1.record)({
71
+ stronghold: (0, primitives_1.opt)((0, primitives_1.record)({
72
+ distance: (0, primitives_1.intRange)(0, 1023),
73
+ spread: (0, primitives_1.intRange)(0, 1023),
74
+ count: (0, primitives_1.intRange)(1, 4095),
75
+ })),
76
+ structures: (0, primitives_1.object)((0, primitives_1.resource)('worldgen/structure_feature'), () => (0, primitives_1.record)({
77
+ spacing: (0, primitives_1.intRange)(0, 4096),
78
+ separation: (0, primitives_1.intRange)(0, 4096),
79
+ salt: (0, primitives_1.intRange)(0, undefined),
80
+ })),
81
+ }));
82
+ const noise_slide_settings = (0, primitives_1.dispatch)((_, ctx) => (0, primitives_1.record)({
83
+ target: primitives_1.float,
84
+ size: (0, util_1.versioned)(ctx, primitives_1.int, '1.17', (0, primitives_1.intRange)(0, undefined)),
85
+ offset: primitives_1.int,
86
+ }));
87
+ exports.noise_settings = (0, primitives_1.as)('noise_settings', (0, primitives_1.dispatch)((_, ctx) => (0, primitives_1.record)({
88
+ bedrock_roof_position: (0, util_1.versioned)(ctx, primitives_1.int, '1.18'),
89
+ bedrock_floor_position: (0, util_1.versioned)(ctx, primitives_1.int, '1.18'),
90
+ sea_level: primitives_1.int,
91
+ min_surface_level: (0, util_1.versioned)(ctx, '1.17', (0, util_1.versioned)(ctx, primitives_1.int, '1.18')),
92
+ disable_mob_generation: primitives_1.boolean,
93
+ ...(0, util_1.versioned)(ctx, '1.17', {
94
+ noise_caves_enabled: primitives_1.boolean,
95
+ noodle_caves_enabled: primitives_1.boolean,
96
+ aquifers_enabled: primitives_1.boolean,
97
+ deepslate_enabled: (0, util_1.versioned)(ctx, primitives_1.boolean, '1.18'),
98
+ ore_veins_enabled: primitives_1.boolean,
99
+ }),
100
+ legacy_random_source: (0, util_1.versioned)(ctx, '1.18', primitives_1.boolean),
101
+ default_block: common_1.block_state,
102
+ default_fluid: common_1.block_state,
103
+ noise: (0, primitives_1.record)({
104
+ min_y: (0, util_1.versioned)(ctx, '1.17', (0, primitives_1.intRange)(-2048, 2047)),
105
+ height: (0, primitives_1.intRange)(0, 4096),
106
+ size_horizontal: (0, primitives_1.intRange)(1, 4),
107
+ size_vertical: (0, primitives_1.intRange)(1, 4),
108
+ density_factor: (0, util_1.versioned)(ctx, primitives_1.float, '1.18'),
109
+ density_offset: (0, util_1.versioned)(ctx, primitives_1.float, '1.18'),
110
+ simplex_surface_noise: (0, util_1.versioned)(ctx, primitives_1.boolean, '1.18'),
111
+ random_density_offset: (0, primitives_1.opt)((0, util_1.versioned)(ctx, primitives_1.boolean, '1.18'), false),
112
+ island_noise_override: (0, primitives_1.opt)(primitives_1.boolean, false),
113
+ amplified: (0, primitives_1.opt)(primitives_1.boolean, false),
114
+ large_biomes: (0, primitives_1.opt)((0, util_1.versioned)(ctx, '1.18', primitives_1.boolean), false),
115
+ sampling: (0, primitives_1.record)({
116
+ xz_scale: (0, primitives_1.floatRange)(0.001, 1000),
117
+ y_scale: (0, primitives_1.floatRange)(0.001, 1000),
118
+ xz_factor: (0, primitives_1.floatRange)(0.001, 1000),
119
+ y_factor: (0, primitives_1.floatRange)(0.001, 1000),
120
+ }),
121
+ top_slide: noise_slide_settings,
122
+ bottom_slide: noise_slide_settings,
123
+ terrain_shaper: (0, util_1.versioned)(ctx, '1.18', (0, primitives_1.record)({
124
+ offset: terrain_spline,
125
+ factor: terrain_spline,
126
+ jaggedness: terrain_spline,
127
+ })),
128
+ }),
129
+ surface_rule: (0, util_1.versioned)(ctx, '1.18', material_rule),
130
+ structures: structure_settings,
131
+ })));
132
+ const climate_parameter = (0, primitives_1.any)([
133
+ (0, primitives_1.floatRange)(-2, 2),
134
+ (0, primitives_1.listOf)((0, primitives_1.floatRange)(-2, 2)),
135
+ ]);
136
+ const biome_source = (0, primitives_1.as)('biome_source', (0, primitives_1.dispatch)('type', (type, _, ctx) => (0, primitives_1.record)({
137
+ type: (0, primitives_1.resource)('worldgen/biome_source'),
138
+ ...(0, primitives_1.pick)(type, {
139
+ checkerboard: {
140
+ scale: (0, primitives_1.opt)((0, primitives_1.intRange)(0, 62), 2),
141
+ biomes: (0, primitives_1.listOf)((0, primitives_1.resource)('worldgen/biome')),
142
+ },
143
+ fixed: {
144
+ biome: (0, primitives_1.resource)('worldgen/biome'),
145
+ },
146
+ multi_noise: {
147
+ seed: (0, util_1.versioned)(ctx, primitives_1.int, '1.18'),
148
+ preset: (0, primitives_1.opt)((0, util_1.versioned)(ctx, (0, primitives_1.literal)([
149
+ 'nether',
150
+ ]), '1.18', (0, primitives_1.resource)([
151
+ 'minecraft:overworld',
152
+ 'minecraft:nether',
153
+ ]))),
154
+ ...(0, util_1.versioned)(ctx, {
155
+ altitude_noise: common_1.noise_parameters,
156
+ temperature_noise: common_1.noise_parameters,
157
+ humidity_noise: common_1.noise_parameters,
158
+ weirdness_noise: common_1.noise_parameters,
159
+ }, '1.18'),
160
+ biomes: (0, primitives_1.listOf)((0, primitives_1.record)({
161
+ biome: (0, primitives_1.resource)('worldgen/biome'),
162
+ parameters: (0, primitives_1.record)((0, util_1.versioned)(ctx, {
163
+ altitude: primitives_1.float,
164
+ temperature: primitives_1.float,
165
+ humidity: primitives_1.float,
166
+ weirdness: primitives_1.float,
167
+ offset: primitives_1.float,
168
+ }, '1.18', {
169
+ temperature: climate_parameter,
170
+ humidity: climate_parameter,
171
+ continentalness: climate_parameter,
172
+ erosion: climate_parameter,
173
+ weirdness: climate_parameter,
174
+ depth: climate_parameter,
175
+ offset: (0, primitives_1.floatRange)(0, 1),
176
+ })),
177
+ })),
178
+ },
179
+ the_end: {
180
+ seed: primitives_1.int,
181
+ },
182
+ vanilla_layered: {
183
+ seed: primitives_1.int,
184
+ large_biomes: (0, primitives_1.opt)(primitives_1.boolean, false),
185
+ legacy_biome_init_layer: (0, primitives_1.opt)(primitives_1.boolean, false),
186
+ },
187
+ }),
188
+ })));
189
+ exports.dimension_type = (0, primitives_1.as)('dimension_type', (0, primitives_1.dispatch)((_, ctx) => (0, primitives_1.record)({
190
+ min_y: (0, util_1.versioned)(ctx, '1.17', (0, primitives_1.intRange)(-2048, 2047)),
191
+ height: (0, util_1.versioned)(ctx, '1.17', (0, primitives_1.intRange)(0, 4096)),
192
+ logical_height: (0, util_1.versioned)(ctx, (0, primitives_1.intRange)(0, 256), '1.17', (0, primitives_1.intRange)(0, 4096)),
193
+ coordinate_scale: (0, primitives_1.floatRange)(0.00001, 30000000),
194
+ ambient_light: primitives_1.float,
195
+ fixed_time: (0, primitives_1.opt)(primitives_1.int),
196
+ infiniburn: (0, primitives_1.resource)('tag/block'),
197
+ effects: (0, primitives_1.opt)((0, primitives_1.resource)(['overworld', 'the_nether', 'the_end']), 'overworld'),
198
+ ultrawarm: primitives_1.boolean,
199
+ natural: primitives_1.boolean,
200
+ piglin_safe: primitives_1.boolean,
201
+ respawn_anchor_works: primitives_1.boolean,
202
+ bed_works: primitives_1.boolean,
203
+ has_raids: primitives_1.boolean,
204
+ has_skylight: primitives_1.boolean,
205
+ has_ceiling: primitives_1.boolean,
206
+ })));
207
+ exports.dimension = (0, primitives_1.as)('dimension', (0, primitives_1.record)({
208
+ type: (0, primitives_1.any)([
209
+ (0, primitives_1.resource)('dimension_type'),
210
+ exports.dimension_type,
211
+ ]),
212
+ generator: (0, primitives_1.as)('chunk_generator', (0, primitives_1.dispatch)('type', type => (0, primitives_1.record)({
213
+ type: (0, primitives_1.resource)('worldgen/chunk_generator'),
214
+ ...(0, primitives_1.pick)(type, {
215
+ flat: {
216
+ settings: (0, primitives_1.record)({
217
+ layers: (0, primitives_1.listOf)((0, primitives_1.record)({
218
+ block: (0, primitives_1.resource)('block'),
219
+ height: (0, primitives_1.intRange)(0, 4096),
220
+ })),
221
+ biome: (0, primitives_1.resource)('worldgen/biome'),
222
+ lakes: (0, primitives_1.opt)(primitives_1.boolean, false),
223
+ features: (0, primitives_1.opt)(primitives_1.boolean, false),
224
+ structures: structure_settings,
225
+ }),
226
+ },
227
+ noise: {
228
+ seed: primitives_1.int,
229
+ settings: (0, primitives_1.any)([
230
+ (0, primitives_1.resource)('worldgen/noise_settings'),
231
+ exports.noise_settings,
232
+ ]),
233
+ biome_source: biome_source,
234
+ },
235
+ }),
236
+ }))),
237
+ }));
238
+ //# sourceMappingURL=dimension.js.map
@@ -0,0 +1,9 @@
1
+ export declare const configured_decorator: import("@spyglassmc/json/lib/checker").JsonChecker;
2
+ export declare const placement_modifier: import("@spyglassmc/json/lib/checker").JsonChecker;
3
+ export declare const configured_feature: import("@spyglassmc/json/lib/checker").JsonChecker;
4
+ export declare const configured_feature_ref: import("@spyglassmc/json/lib/checker").JsonChecker;
5
+ export declare const configured_feature_list_ref: import("@spyglassmc/json/lib/checker").JsonChecker;
6
+ export declare const placed_feature: import("@spyglassmc/json/lib/checker").JsonChecker;
7
+ export declare const placed_feature_ref: import("@spyglassmc/json/lib/checker").JsonChecker;
8
+ export declare const placed_feature_list_ref: import("@spyglassmc/json/lib/checker").JsonChecker;
9
+ //# sourceMappingURL=feature.d.ts.map