@spyglassmc/java-edition 0.3.2 → 0.3.4

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