@spyglassmc/java-edition 0.3.59 → 0.3.61

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.
@@ -49,6 +49,7 @@ resource('cat_variant', { since: '1.21.5' });
49
49
  resource('chat_type', { since: '1.19' });
50
50
  resource('chicken_variant', { since: '1.21.5' });
51
51
  resource('cow_variant', { since: '1.21.5' });
52
+ resource('decorated_pot_pattern', { since: '26.3' });
52
53
  resource('damage_type', { since: '1.19.4' });
53
54
  resource('dialog', { since: '1.21.6' });
54
55
  resource('enchantment', { since: '1.21' });
@@ -58,6 +59,7 @@ resource('instrument', { since: '1.21.2' });
58
59
  resource('jukebox_song', { since: '1.21' });
59
60
  resource('painting_variant', { since: '1.21' });
60
61
  resource('pig_variant', { since: '1.21.5' });
62
+ resource('slot_source', { since: '26.3' });
61
63
  resource('sulfur_cube_archetype', { since: '26.2' });
62
64
  resource('test_instance', { since: '1.21.5' });
63
65
  resource('test_environment', { since: '1.21.5' });
@@ -76,16 +78,19 @@ resource('dimension', { since: '1.16' });
76
78
  resource('dimension_type', { since: '1.16' });
77
79
  resource('worldgen/biome', { since: '1.16.2' });
78
80
  resource('worldgen/configured_carver', { since: '1.16.2' });
79
- resource('worldgen/configured_feature', { since: '1.16.2' });
81
+ resource('worldgen/configured_feature', { since: '1.16.2', until: '26.3' });
80
82
  resource('worldgen/configured_structure_feature', { since: '1.16.2', until: '1.19' });
83
+ resource('worldgen/configured_surface_builder', { since: '1.16.2', until: '1.18' });
81
84
  resource('worldgen/density_function', { since: '1.18.2' });
85
+ resource('worldgen/feature', { since: '26.3' });
82
86
  resource('worldgen/flat_level_generator_preset', { since: '1.19' });
87
+ resource('worldgen/material_condition', { since: '26.3' });
88
+ resource('worldgen/material_rule', { since: '26.3' });
83
89
  resource('worldgen/multi_noise_biome_source_parameter_list', { since: '1.19.4' });
84
90
  resource('worldgen/noise', { since: '1.18' });
85
91
  resource('worldgen/noise_settings', { since: '1.16.2' });
86
92
  resource('worldgen/placed_feature', { since: '1.18' });
87
93
  resource('worldgen/processor_list', { since: '1.16.2' });
88
- resource('worldgen/configured_surface_builder', { since: '1.16.2', until: '1.18' });
89
94
  resource('worldgen/structure', { since: '1.19' });
90
95
  resource('worldgen/structure_set', { since: '1.18.2' });
91
96
  resource('worldgen/template_pool', { since: '1.16.2' });
@@ -11,7 +11,6 @@ export function getItemSlotArgumentValues(ctx) {
11
11
  ...[...Array(15).keys()].map((n) => `horse.${n}`),
12
12
  ...[...Array(9).keys()].map((n) => `hotbar.${n}`),
13
13
  ...[...Array(27).keys()].map((n) => `inventory.${n}`),
14
- ...[...Array(8).keys()].map((n) => `villager.${n}`),
15
14
  'armor.chest',
16
15
  'armor.feet',
17
16
  'armor.head',
@@ -33,11 +32,18 @@ export function getItemSlotArgumentValues(ctx) {
33
32
  else {
34
33
  output.push('horse.saddle');
35
34
  }
35
+ if (ReleaseVersion.cmp(release, '26.1') >= 0) {
36
+ output.push(...[...Array(8).keys()].map((n) => `mob.inventory.${n}`));
37
+ }
38
+ else {
39
+ output.push(...[...Array(8).keys()].map((n) => `villager.${n}`));
40
+ }
36
41
  return output;
37
42
  }
38
43
  // Only exists since 1.20.5
39
44
  export function getItemSlotsArgumentValues(ctx) {
40
- return [
45
+ const release = ctx.project['loadedVersion'];
46
+ const output = [
41
47
  ...getItemSlotArgumentValues(ctx),
42
48
  'armor.*',
43
49
  'container.*',
@@ -46,9 +52,15 @@ export function getItemSlotsArgumentValues(ctx) {
46
52
  'hotbar.*',
47
53
  'inventory.*',
48
54
  'player.crafting.*',
49
- 'villager.*',
50
55
  'weapon.*',
51
56
  ];
57
+ if (ReleaseVersion.cmp(release, '26.1') >= 0) {
58
+ output.push('mob.inventory.*');
59
+ }
60
+ else {
61
+ output.push('villager.*');
62
+ }
63
+ return output;
52
64
  }
53
65
  export const OperationArgumentValues = ['=', '+=', '-=', '*=', '/=', '%=', '<', '>', '><'];
54
66
  export function getScoreboardSlotArgumentValues(ctx) {
@@ -1,4 +1,4 @@
1
- import { AstNode, binarySearch, BooleanNode, BrigadierStringOptions, completer, CompletionItem, FloatNode, getStates, InsertTextBuilder, IntegerNode, LiteralNode, Range, ResourceLocation, ResourceLocationNode, StringNode, SymbolNode, } from '@spyglassmc/core';
1
+ import { AstNode, binarySearch, BooleanNode, BrigadierStringOptions, Color, completer, CompletionItem, FloatNode, getStates, InsertTextBuilder, IntegerNode, LiteralNode, Range, ResourceLocation, ResourceLocationNode, StringNode, SymbolNode, } from '@spyglassmc/core';
2
2
  import * as json from '@spyglassmc/json';
3
3
  import { localeQuote, localize } from '@spyglassmc/locales';
4
4
  import { getTagValues } from '../../common/index.js';
@@ -110,12 +110,16 @@ export const getMockNodes = (rawTreeNode, prevNodes, ctx) => {
110
110
  return LiteralNode.mock(range, { pool: getScoreboardSlotArgumentValues(ctx) });
111
111
  case 'minecraft:score_holder':
112
112
  return ScoreHolderNode.mock(range);
113
+ case 'minecraft:slot_source':
114
+ return LiteralNode.mock(range, { pool: getItemSlotsArgumentValues(ctx) });
113
115
  case 'minecraft:style':
114
116
  return json.JsonObjectNode.mock(range);
115
117
  case 'minecraft:swizzle':
116
118
  return LiteralNode.mock(range, { pool: SwizzleArgumentValues });
117
119
  case 'minecraft:team':
118
120
  return SymbolNode.mock(range, { category: 'team' });
121
+ case 'minecraft:team_color':
122
+ return LiteralNode.mock(range, { pool: Color.ColorNames });
119
123
  case 'minecraft:template_mirror':
120
124
  return LiteralNode.mock(range, { pool: MirrorValues });
121
125
  case 'minecraft:template_rotation':
@@ -253,7 +253,7 @@ export interface ObjectiveCriteriaNode extends core.AstNode {
253
253
  }
254
254
  export declare namespace ObjectiveCriteriaNode {
255
255
  const SimpleValues: string[];
256
- const ComplexCategories: Map<string, "activity" | "armor_material" | "attribute" | "attribute_type" | "block" | "block_entity_type" | "block_predicate_type" | "block_type" | "chunk_status" | "command_argument_type" | "consume_effect_type" | "creative_mode_tab" | "custom_stat" | "data_component_predicate_type" | "data_component_type" | "debug_subscription" | "decorated_pot_pattern" | "decorated_pot_patterns" | "dialog_action_type" | "dialog_body_type" | "dialog_type" | "enchantment_effect_component_type" | "enchantment_entity_effect_type" | "enchantment_level_based_value_type" | "enchantment_location_based_effect_type" | "enchantment_provider_type" | "enchantment_value_effect_type" | "entity_sub_predicate_type" | "entity_type" | "environment_attribute" | "float_provider_type" | "fluid" | "game_event" | "game_rule" | "height_provider_type" | "incoming_rpc_methods" | "input_control_type" | "instrument" | "int_provider_type" | "item" | "item_sub_predicate_type" | "loot_condition_type" | "loot_function_type" | "loot_nbt_provider_type" | "loot_number_provider_type" | "loot_pool_entry_type" | "loot_score_provider_type" | "map_decoration_type" | "memory_module_type" | "menu" | "mob_effect" | "motive" | "number_format_type" | "outgoing_rpc_methods" | "particle_type" | "permission_check_type" | "permission_type" | "point_of_interest_type" | "pos_rule_test" | "position_source_type" | "potion" | "recipe_book_category" | "recipe_display" | "recipe_serializer" | "recipe_type" | "rule_block_entity_modifier" | "rule_test" | "schedule" | "sensor_type" | "slot_display" | "slot_source_type" | "sound_event" | "spawn_condition_type" | "stat_type" | "test_environment_definition_type" | "test_function" | "test_instance_type" | "ticket_type" | "trigger_type" | "villager_profession" | "villager_type" | "worldgen/biome_source" | "worldgen/block_placer_type" | "worldgen/block_state_provider_type" | "worldgen/carver" | "worldgen/chunk_generator" | "worldgen/decorator" | "worldgen/density_function_type" | "worldgen/feature" | "worldgen/feature_size_type" | "worldgen/foliage_placer_type" | "worldgen/material_condition" | "worldgen/material_rule" | "worldgen/placement_modifier_type" | "worldgen/pool_alias_binding" | "worldgen/root_placer_type" | "worldgen/structure_feature" | "worldgen/structure_piece" | "worldgen/structure_placement" | "worldgen/structure_pool_element" | "worldgen/structure_processor" | "worldgen/structure_type" | "worldgen/surface_builder" | "worldgen/tree_decorator_type" | "worldgen/trunk_placer_type">;
256
+ const ComplexCategories: Map<string, "activity" | "armor_material" | "attribute" | "attribute_type" | "block" | "block_entity_type" | "block_predicate_type" | "block_type" | "chunk_status" | "command_argument_type" | "consume_effect_type" | "creative_mode_tab" | "custom_stat" | "data_component_predicate_type" | "data_component_type" | "debug_subscription" | "decorated_pot_pattern" | "decorated_pot_patterns" | "dialog_action_type" | "dialog_body_type" | "dialog_type" | "enchantment_effect_component_type" | "enchantment_entity_effect_type" | "enchantment_level_based_value_type" | "enchantment_location_based_effect_type" | "enchantment_provider_type" | "enchantment_value_effect_type" | "entity_sub_predicate_type" | "entity_type" | "environment_attribute" | "float_provider_type" | "fluid" | "game_event" | "game_rule" | "height_provider_type" | "incoming_rpc_methods" | "input_control_type" | "instrument" | "int_provider_type" | "item" | "item_sub_predicate_type" | "loot_condition_type" | "loot_function_type" | "loot_nbt_provider_type" | "loot_number_provider_type" | "loot_pool_entry_type" | "loot_score_provider_type" | "map_decoration_type" | "memory_module_type" | "menu" | "mob_effect" | "motive" | "number_format_type" | "outgoing_rpc_methods" | "particle_type" | "permission_check_type" | "permission_type" | "point_of_interest_type" | "pos_rule_test" | "position_source_type" | "potion" | "recipe_book_category" | "recipe_display" | "recipe_serializer" | "recipe_type" | "rule_block_entity_modifier" | "rule_test" | "schedule" | "sensor_type" | "slot_display" | "slot_source_type" | "sound_event" | "spawn_condition_type" | "stat_type" | "test_environment_definition_type" | "test_function" | "test_instance_type" | "ticket_type" | "trigger_type" | "villager_profession" | "villager_type" | "worldgen/biome_source" | "worldgen/block_placer_type" | "worldgen/block_state_provider_type" | "worldgen/carver" | "worldgen/chunk_generator" | "worldgen/decorator" | "worldgen/density_function_type" | "worldgen/feature" | "worldgen/feature_size_type" | "worldgen/feature_type" | "worldgen/foliage_placer_type" | "worldgen/material_condition" | "worldgen/material_condition_type" | "worldgen/material_rule" | "worldgen/material_rule_type" | "worldgen/placement_modifier_type" | "worldgen/pool_alias_binding" | "worldgen/root_placer_type" | "worldgen/structure_feature" | "worldgen/structure_piece" | "worldgen/structure_placement" | "worldgen/structure_pool_element" | "worldgen/structure_processor" | "worldgen/structure_type" | "worldgen/surface_builder" | "worldgen/tree_decorator_type" | "worldgen/trunk_placer_type">;
257
257
  const ComplexSep = ":";
258
258
  function mock(range: core.RangeLike): ObjectiveCriteriaNode;
259
259
  }
@@ -174,6 +174,8 @@ export const argument = (rawTreeNode, prevNodes) => {
174
174
  return wrap((src, ctx) => {
175
175
  return commandLiteral({ pool: getScoreboardSlotArgumentValues(ctx) })(src, ctx);
176
176
  });
177
+ case 'minecraft:slot_source':
178
+ return wrap(slotSource);
177
179
  case 'minecraft:style':
178
180
  return wrap(typeRefParser('::java::server::util::text::TextStyle'));
179
181
  case 'minecraft:swizzle':
@@ -182,6 +184,13 @@ export const argument = (rawTreeNode, prevNodes) => {
182
184
  return wrap(team(core.SymbolUsageType.is(treeNode.properties?.usageType)
183
185
  ? treeNode.properties?.usageType
184
186
  : undefined));
187
+ case 'minecraft:team_color':
188
+ return wrap(core.map(commandLiteral({ pool: core.Color.ColorNames }), (res) => ({
189
+ ...res,
190
+ color: core.Color.NamedColors.has(res.value)
191
+ ? core.Color.fromCompositeRGB(core.Color.NamedColors.get(res.value))
192
+ : undefined,
193
+ })));
185
194
  case 'minecraft:template_mirror':
186
195
  return wrap(commandLiteral({ pool: MirrorValues }));
187
196
  case 'minecraft:template_rotation':
@@ -965,6 +974,13 @@ export function scoreHolder(usageType, amount) {
965
974
  return ans;
966
975
  });
967
976
  }
977
+ const slotSource = core
978
+ .any([
979
+ (src, ctx) => {
980
+ return commandLiteral({ pool: getItemSlotsArgumentValues(ctx) })(src, ctx);
981
+ },
982
+ resourceOrInline('slot_source'),
983
+ ]);
968
984
  function symbol(options, terminators = []) {
969
985
  return core.stopBefore(core.symbol(options), core.Whitespaces, terminators);
970
986
  }
@@ -246,6 +246,9 @@ export interface MinecraftScoreHolderArgumentTreeNode extends mcf.ArgumentTreeNo
246
246
  export interface MinecraftScoreboardSlotArgumentTreeNode extends mcf.ArgumentTreeNode {
247
247
  parser: 'minecraft:scoreboard_slot';
248
248
  }
249
+ export interface MinecraftSlotSourceArgumentTreeNode extends mcf.ArgumentTreeNode {
250
+ parser: 'minecraft:slot_source';
251
+ }
249
252
  export interface MinecraftStyleArgumentTreeNode extends mcf.ArgumentTreeNode {
250
253
  parser: 'minecraft:style';
251
254
  }
@@ -255,6 +258,9 @@ export interface MinecraftSwizzleArgumentTreeNode extends mcf.ArgumentTreeNode {
255
258
  export interface MinecraftTeamArgumentTreeNode extends mcf.ArgumentTreeNode {
256
259
  parser: 'minecraft:team';
257
260
  }
261
+ export interface MinecraftTeamColorArgumentTreeNode extends mcf.ArgumentTreeNode {
262
+ parser: 'minecraft:team_color';
263
+ }
258
264
  export interface MinecraftTemplateMirrorArgumentTreeNode extends mcf.ArgumentTreeNode {
259
265
  parser: 'minecraft:template_mirror';
260
266
  }
@@ -280,5 +286,5 @@ export interface SpyglassmcCriterionArgumentTreeNode extends mcf.ArgumentTreeNod
280
286
  export interface SpyglassmcTagArgumentTreeNode extends mcf.ArgumentTreeNode {
281
287
  parser: 'spyglassmc:tag';
282
288
  }
283
- export type ArgumentTreeNode = BrigadierBoolArgumentTreeNode | BrigadierDoubleArgumentTreeNode | BrigadierFloatArgumentTreeNode | BrigadierIntegerArgumentTreeNode | BrigadierLongArgumentTreeNode | BrigadierStringArgumentTreeNode | MinecraftAngleArgumentTreeNode | MinecraftBlockPosArgumentTreeNode | MinecraftBlockPredicateArgumentTreeNode | MinecraftBlockStateArgumentTreeNode | MinecraftColorArgumentTreeNode | MinecraftColumnPosArgumentTreeNode | MinecraftComponentArgumentTreeNode | MinecraftDialogArgumentTreeNode | MinecraftDimensionArgumentTreeNode | MinecraftEntityArgumentTreeNode | MinecraftEntityAnchorArgumentTreeNode | MinecraftEntitySummonArgumentTreeNode | MinecraftFloatRangeArgumentTreeNode | MinecraftFunctionArgumentTreeNode | MinecraftGamemodeArgumentTreeNode | MinecraftGameProfileArgumentTreeNode | MinecraftHeightmapArgumentTreeNode | MinecraftIntRangeArgumentTreeNode | MinecraftItemEnchantmentArgumentTreeNode | MinecraftItemPredicateArgumentTreeNode | MinecraftItemSlotArgumentTreeNode | MinecraftItemSlotsArgumentTreeNode | MinecraftItemStackArgumentTreeNode | MinecraftLootModifierArgumentTreeNode | MinecraftLootPredicateArgumentTreeNode | MinecraftLootTableArgumentTreeNode | MinecraftMessageArgumentTreeNode | MinecraftMobEffectArgumentTreeNode | MinecraftNbtCompoundTagArgumentTreeNode | MinecraftNbtPathArgumentTreeNode | MinecraftNbtTagArgumentTreeNode | MinecraftObjectiveArgumentTreeNode | MinecraftObjectiveCriteriaArgumentTreeNode | MinecraftOperationArgumentTreeNode | MinecraftParticleArgumentTreeNode | MinecraftResourceArgumentTreeNode | MinecraftResourceKeyArgumentTreeNode | MinecraftResourceLocationArgumentTreeNode | MinecraftResourceOrTagArgumentTreeNode | MinecraftResourceOrTagKeyArgumentTreeNode | MinecraftResourceSelectorTreeNode | MinecraftRotationArgumentTreeNode | MinecraftScoreHolderArgumentTreeNode | MinecraftScoreboardSlotArgumentTreeNode | MinecraftStyleArgumentTreeNode | MinecraftSwizzleArgumentTreeNode | MinecraftTeamArgumentTreeNode | MinecraftTemplateMirrorArgumentTreeNode | MinecraftTemplateRotationArgumentTreeNode | MinecraftTimeArgumentTreeNode | MinecraftUuidArgumentTreeNode | MinecraftVec2ArgumentTreeNode | MinecraftVec3ArgumentTreeNode | SpyglassmcCriterionArgumentTreeNode | SpyglassmcTagArgumentTreeNode;
289
+ export type ArgumentTreeNode = BrigadierBoolArgumentTreeNode | BrigadierDoubleArgumentTreeNode | BrigadierFloatArgumentTreeNode | BrigadierIntegerArgumentTreeNode | BrigadierLongArgumentTreeNode | BrigadierStringArgumentTreeNode | MinecraftAngleArgumentTreeNode | MinecraftBlockPosArgumentTreeNode | MinecraftBlockPredicateArgumentTreeNode | MinecraftBlockStateArgumentTreeNode | MinecraftColorArgumentTreeNode | MinecraftColumnPosArgumentTreeNode | MinecraftComponentArgumentTreeNode | MinecraftDialogArgumentTreeNode | MinecraftDimensionArgumentTreeNode | MinecraftEntityArgumentTreeNode | MinecraftEntityAnchorArgumentTreeNode | MinecraftEntitySummonArgumentTreeNode | MinecraftFloatRangeArgumentTreeNode | MinecraftFunctionArgumentTreeNode | MinecraftGamemodeArgumentTreeNode | MinecraftGameProfileArgumentTreeNode | MinecraftHeightmapArgumentTreeNode | MinecraftIntRangeArgumentTreeNode | MinecraftItemEnchantmentArgumentTreeNode | MinecraftItemPredicateArgumentTreeNode | MinecraftItemSlotArgumentTreeNode | MinecraftItemSlotsArgumentTreeNode | MinecraftItemStackArgumentTreeNode | MinecraftLootModifierArgumentTreeNode | MinecraftLootPredicateArgumentTreeNode | MinecraftLootTableArgumentTreeNode | MinecraftMessageArgumentTreeNode | MinecraftMobEffectArgumentTreeNode | MinecraftNbtCompoundTagArgumentTreeNode | MinecraftNbtPathArgumentTreeNode | MinecraftNbtTagArgumentTreeNode | MinecraftObjectiveArgumentTreeNode | MinecraftObjectiveCriteriaArgumentTreeNode | MinecraftOperationArgumentTreeNode | MinecraftParticleArgumentTreeNode | MinecraftResourceArgumentTreeNode | MinecraftResourceKeyArgumentTreeNode | MinecraftResourceLocationArgumentTreeNode | MinecraftResourceOrTagArgumentTreeNode | MinecraftResourceOrTagKeyArgumentTreeNode | MinecraftResourceSelectorTreeNode | MinecraftRotationArgumentTreeNode | MinecraftScoreHolderArgumentTreeNode | MinecraftScoreboardSlotArgumentTreeNode | MinecraftSlotSourceArgumentTreeNode | MinecraftStyleArgumentTreeNode | MinecraftSwizzleArgumentTreeNode | MinecraftTeamArgumentTreeNode | MinecraftTeamColorArgumentTreeNode | MinecraftTemplateMirrorArgumentTreeNode | MinecraftTemplateRotationArgumentTreeNode | MinecraftTimeArgumentTreeNode | MinecraftUuidArgumentTreeNode | MinecraftVec2ArgumentTreeNode | MinecraftVec3ArgumentTreeNode | SpyglassmcCriterionArgumentTreeNode | SpyglassmcTagArgumentTreeNode;
284
290
  //# sourceMappingURL=argument.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spyglassmc/java-edition",
3
- "version": "0.3.59",
3
+ "version": "0.3.61",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -17,12 +17,12 @@
17
17
  "release:dry": "npm publish --tag latest --dry-run"
18
18
  },
19
19
  "dependencies": {
20
- "@spyglassmc/core": "0.4.47",
21
- "@spyglassmc/json": "0.3.51",
22
- "@spyglassmc/locales": "0.3.24",
23
- "@spyglassmc/mcfunction": "0.2.50",
24
- "@spyglassmc/mcdoc": "0.3.51",
25
- "@spyglassmc/nbt": "0.3.53"
20
+ "@spyglassmc/core": "0.4.48",
21
+ "@spyglassmc/json": "0.3.52",
22
+ "@spyglassmc/locales": "0.3.25",
23
+ "@spyglassmc/mcfunction": "0.2.51",
24
+ "@spyglassmc/mcdoc": "0.3.52",
25
+ "@spyglassmc/nbt": "0.3.54"
26
26
  },
27
27
  "devDependencies": {},
28
28
  "publishConfig": {