@spyglassmc/core 0.4.4 → 0.4.6

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 (91) hide show
  1. package/lib/common/Dev.js +2 -5
  2. package/lib/common/ReadonlyProxy.js +1 -3
  3. package/lib/common/StateProxy.js +2 -8
  4. package/lib/common/externals/BrowserExternals.js +7 -12
  5. package/lib/common/externals/NodeJsExternals.js +12 -8
  6. package/lib/common/externals/index.d.ts +8 -1
  7. package/lib/common/util.js +3 -10
  8. package/lib/node/AstNode.js +7 -9
  9. package/lib/node/BooleanNode.js +1 -4
  10. package/lib/node/FloatNode.js +1 -5
  11. package/lib/node/IntegerNode.js +1 -5
  12. package/lib/node/ListNode.d.ts +1 -1
  13. package/lib/node/LiteralNode.js +1 -6
  14. package/lib/node/LongNode.js +1 -5
  15. package/lib/node/PrefixedNode.d.ts +13 -0
  16. package/lib/node/PrefixedNode.js +22 -0
  17. package/lib/node/ResourceLocationNode.d.ts +1 -1
  18. package/lib/node/ResourceLocationNode.js +2 -8
  19. package/lib/node/StringNode.d.ts +2 -1
  20. package/lib/node/StringNode.js +1 -4
  21. package/lib/node/SymbolNode.js +1 -6
  22. package/lib/node/index.d.ts +1 -0
  23. package/lib/node/index.js +1 -0
  24. package/lib/parser/comment.d.ts +1 -1
  25. package/lib/parser/comment.js +2 -6
  26. package/lib/parser/error.js +1 -4
  27. package/lib/parser/file.d.ts +2 -2
  28. package/lib/parser/file.js +1 -2
  29. package/lib/parser/float.js +2 -7
  30. package/lib/parser/index.d.ts +1 -0
  31. package/lib/parser/index.js +1 -0
  32. package/lib/parser/integer.js +3 -7
  33. package/lib/parser/list.d.ts +1 -1
  34. package/lib/parser/list.js +2 -6
  35. package/lib/parser/literal.js +2 -9
  36. package/lib/parser/long.js +2 -7
  37. package/lib/parser/prefixed.d.ts +8 -0
  38. package/lib/parser/prefixed.js +23 -0
  39. package/lib/parser/record.d.ts +1 -1
  40. package/lib/parser/record.js +11 -17
  41. package/lib/parser/resourceLocation.d.ts +1 -0
  42. package/lib/parser/resourceLocation.js +6 -4
  43. package/lib/parser/string.js +6 -9
  44. package/lib/parser/util.d.ts +14 -3
  45. package/lib/parser/util.js +48 -26
  46. package/lib/processor/ColorInfoProvider.js +8 -25
  47. package/lib/processor/binder/builtin.d.ts +1 -0
  48. package/lib/processor/binder/builtin.js +20 -30
  49. package/lib/processor/checker/builtin.d.ts +1 -0
  50. package/lib/processor/checker/builtin.js +13 -7
  51. package/lib/processor/colorizer/Colorizer.d.ts +1 -1
  52. package/lib/processor/colorizer/Colorizer.js +4 -7
  53. package/lib/processor/colorizer/builtin.js +2 -2
  54. package/lib/processor/completer/Completer.js +1 -3
  55. package/lib/processor/completer/builtin.d.ts +3 -2
  56. package/lib/processor/completer/builtin.js +67 -23
  57. package/lib/processor/formatter/Formatter.js +1 -3
  58. package/lib/processor/formatter/builtin.js +2 -4
  59. package/lib/processor/linter/builtin/undeclaredSymbol.js +27 -40
  60. package/lib/service/CacheService.d.ts +1 -1
  61. package/lib/service/CacheService.js +12 -13
  62. package/lib/service/Config.d.ts +36 -0
  63. package/lib/service/Config.js +28 -45
  64. package/lib/service/Context.d.ts +2 -0
  65. package/lib/service/Context.js +4 -12
  66. package/lib/service/Downloader.d.ts +3 -0
  67. package/lib/service/Downloader.js +9 -3
  68. package/lib/service/ErrorReporter.js +3 -0
  69. package/lib/service/FileService.js +10 -29
  70. package/lib/service/Hover.js +1 -4
  71. package/lib/service/MetaRegistry.d.ts +4 -2
  72. package/lib/service/MetaRegistry.js +16 -8
  73. package/lib/service/Project.d.ts +9 -3
  74. package/lib/service/Project.js +71 -48
  75. package/lib/service/Service.d.ts +1 -1
  76. package/lib/service/Service.js +11 -36
  77. package/lib/service/SymbolLocations.js +1 -4
  78. package/lib/service/fileUtil.d.ts +7 -0
  79. package/lib/service/fileUtil.js +29 -4
  80. package/lib/source/IndexMap.js +1 -4
  81. package/lib/source/Location.js +3 -9
  82. package/lib/source/Position.js +1 -2
  83. package/lib/source/PositionRange.js +2 -2
  84. package/lib/source/Range.js +9 -21
  85. package/lib/source/Source.d.ts +11 -1
  86. package/lib/source/Source.js +31 -5
  87. package/lib/symbol/Symbol.d.ts +14 -9
  88. package/lib/symbol/Symbol.js +80 -61
  89. package/lib/symbol/SymbolUtil.d.ts +3 -3
  90. package/lib/symbol/SymbolUtil.js +48 -72
  91. package/package.json +3 -2
@@ -2,6 +2,13 @@ import type { Externals, FsLocation } from '../common/index.js';
2
2
  export type RootUriString = `${string}/`;
3
3
  export type FileExtension = `.${string}`;
4
4
  export declare namespace fileUtil {
5
+ /**
6
+ * Get the relative URI of `target` based from `base`.
7
+ *
8
+ * @returns The relative URI, or `undefined` if `target` is not under `base`.
9
+ */
10
+ function getRelativeUriFromBase(target: string, base: string): string | undefined;
11
+ function isSubUriOf(uri: string, base: string): boolean;
5
12
  /**
6
13
  * @param rootUris The root URIs. Each URI in this array must end with a slash (`/`).
7
14
  * @param uri The target file URI.
@@ -1,6 +1,31 @@
1
1
  import { bufferToString, Uri } from '../common/index.js';
2
2
  export var fileUtil;
3
3
  (function (fileUtil) {
4
+ /**
5
+ * Get the relative URI of `target` based from `base`.
6
+ *
7
+ * @returns The relative URI, or `undefined` if `target` is not under `base`.
8
+ */
9
+ function getRelativeUriFromBase(target, base) {
10
+ const baseUri = new Uri(base);
11
+ const targetUri = new Uri(target);
12
+ if (baseUri.origin !== targetUri.origin) {
13
+ // Different scheme, hostname, and/or port
14
+ return undefined;
15
+ }
16
+ const baseComponents = baseUri.pathname.split('/').filter((v) => !!v);
17
+ const targetComponents = targetUri.pathname.split('/').filter((v) => !!v);
18
+ if (baseComponents.length > targetComponents.length
19
+ || baseComponents.some((bc, i) => decodeURIComponent(bc) !== decodeURIComponent(targetComponents[i]))) {
20
+ return undefined;
21
+ }
22
+ return targetComponents.slice(baseComponents.length).map(encodeURIComponent).join('/');
23
+ }
24
+ fileUtil.getRelativeUriFromBase = getRelativeUriFromBase;
25
+ function isSubUriOf(uri, base) {
26
+ return getRelativeUriFromBase(uri, base) !== undefined;
27
+ }
28
+ fileUtil.isSubUriOf = isSubUriOf;
4
29
  /**
5
30
  * @param rootUris The root URIs. Each URI in this array must end with a slash (`/`).
6
31
  * @param uri The target file URI.
@@ -17,8 +42,9 @@ export var fileUtil;
17
42
  */
18
43
  function* getRels(uri, rootUris) {
19
44
  for (const root of rootUris) {
20
- if (uri.startsWith(root)) {
21
- yield decodeURIComponent(uri.slice(root.length));
45
+ const rel = getRelativeUriFromBase(uri, root);
46
+ if (rel !== undefined) {
47
+ yield rel;
22
48
  }
23
49
  }
24
50
  return undefined;
@@ -43,8 +69,7 @@ export var fileUtil;
43
69
  }
44
70
  fileUtil.ensureEndingSlash = ensureEndingSlash;
45
71
  function join(fromUri, toUri) {
46
- return (ensureEndingSlash(fromUri) +
47
- (toUri.startsWith('/') ? toUri.slice(1) : toUri));
72
+ return (ensureEndingSlash(fromUri) + (toUri.startsWith('/') ? toUri.slice(1) : toUri));
48
73
  }
49
74
  fileUtil.join = join;
50
75
  /**
@@ -33,10 +33,7 @@ export var IndexMap;
33
33
  }
34
34
  IndexMap.toOuterRange = toOuterRange;
35
35
  function merge(outerMap, innerMap) {
36
- return innerMap.map((p) => ({
37
- inner: p.inner,
38
- outer: toOuterRange(outerMap, p.outer),
39
- }));
36
+ return innerMap.map((p) => ({ inner: p.inner, outer: toOuterRange(outerMap, p.outer) }));
40
37
  }
41
38
  IndexMap.merge = merge;
42
39
  })(IndexMap || (IndexMap = {}));
@@ -6,19 +6,13 @@ export var Location;
6
6
  return {
7
7
  uri: partial.uri ?? '',
8
8
  range: Range.get(partial.range ?? { start: 0, end: 0 }),
9
- posRange: partial.posRange ?? {
10
- start: { line: 0, character: 0 },
11
- end: { line: 0, character: 0 },
12
- },
9
+ posRange: partial.posRange
10
+ ?? { start: { line: 0, character: 0 }, end: { line: 0, character: 0 } },
13
11
  };
14
12
  }
15
13
  Location.get = get;
16
14
  function create(doc, range) {
17
- return Location.get({
18
- uri: doc.uri,
19
- range,
20
- posRange: PositionRange.from(range, doc),
21
- });
15
+ return Location.get({ uri: doc.uri, range, posRange: PositionRange.from(range, doc) });
22
16
  }
23
17
  Location.create = create;
24
18
  })(Location || (Location = {}));
@@ -32,8 +32,7 @@ export var Position;
32
32
  }
33
33
  Position.toString = toString;
34
34
  function isBefore(pos1, pos2) {
35
- return (pos1.line < pos2.line ||
36
- (pos1.line === pos2.line && pos1.character < pos2.character));
35
+ return (pos1.line < pos2.line || (pos1.line === pos2.line && pos1.character < pos2.character));
37
36
  }
38
37
  Position.isBefore = isBefore;
39
38
  })(Position || (Position = {}));
@@ -68,8 +68,8 @@ export var PositionRange;
68
68
  return true;
69
69
  }
70
70
  // Now `pos` is in the same line as `start` and/or `end`.
71
- return ((pos.line === start.line ? pos.character >= start.character : true) &&
72
- (pos.line === end.line ? pos.character < end.character : true));
71
+ return ((pos.line === start.line ? pos.character >= start.character : true)
72
+ && (pos.line === end.line ? pos.character < end.character : true));
73
73
  }
74
74
  PositionRange.contains = contains;
75
75
  function endsBefore(range, pos) {
@@ -25,27 +25,21 @@ export var Range;
25
25
  */
26
26
  function create(start, end) {
27
27
  start = Offset.get(start);
28
- return {
29
- start,
30
- end: end !== undefined ? Offset.get(end) : start,
31
- };
28
+ return { start, end: end !== undefined ? Offset.get(end) : start };
32
29
  }
33
30
  Range.create = create;
34
31
  /**
35
32
  * Creates a range that covers the area between `from.start` and `to.end`.
36
33
  */
37
34
  function span(from, to) {
38
- return {
39
- start: Range.get(from).start,
40
- end: Range.get(to).end,
41
- };
35
+ return { start: Range.get(from).start, end: Range.get(to).end };
42
36
  }
43
37
  Range.span = span;
44
38
  function is(obj) {
45
- return (!!obj &&
46
- typeof obj === 'object' &&
47
- typeof obj.start === 'number' &&
48
- typeof obj.end === 'number');
39
+ return (!!obj
40
+ && typeof obj === 'object'
41
+ && typeof obj.start === 'number'
42
+ && typeof obj.end === 'number');
49
43
  }
50
44
  Range.is = is;
51
45
  /**
@@ -66,8 +60,7 @@ export var Range;
66
60
  Range.toString = toString;
67
61
  function contains(range, offset, endInclusive = false) {
68
62
  range = get(range);
69
- return (range.start <= offset &&
70
- (endInclusive ? offset <= range.end : offset < range.end));
63
+ return (range.start <= offset && (endInclusive ? offset <= range.end : offset < range.end));
71
64
  }
72
65
  Range.contains = contains;
73
66
  function containsRange(a, b, endInclusive = false) {
@@ -136,19 +129,14 @@ export var Range;
136
129
  */
137
130
  function translate(range, startOffset, endOffset = startOffset) {
138
131
  range = get(range);
139
- return {
140
- start: range.start + startOffset,
141
- end: range.end + endOffset,
142
- };
132
+ return { start: range.start + startOffset, end: range.end + endOffset };
143
133
  }
144
134
  Range.translate = translate;
145
135
  })(Range || (Range = {}));
146
136
  export var RangeContainer;
147
137
  (function (RangeContainer) {
148
138
  function is(obj) {
149
- return (!!obj &&
150
- typeof obj === 'object' &&
151
- Range.is(obj.range));
139
+ return (!!obj && typeof obj === 'object' && Range.is(obj.range));
152
140
  }
153
141
  RangeContainer.is = is;
154
142
  })(RangeContainer || (RangeContainer = {}));
@@ -26,6 +26,11 @@ export declare class ReadonlySource {
26
26
  * getCharRange(1) // Returns the range of the character after cursor.
27
27
  */
28
28
  getCharRange(offset?: number): Range;
29
+ /**
30
+ * Returns a string that helps visualize this `Source`'s index map.
31
+ * Primarily intended for debugging purposes.
32
+ */
33
+ visualizeIndexMap(): string;
29
34
  /**
30
35
  * Peeks a substring from the current cursor.
31
36
  * @param length The length of the substring. Defaults to 1
@@ -45,7 +50,12 @@ export declare class ReadonlySource {
45
50
  peekLine(): string;
46
51
  peekRemaining(): string;
47
52
  matchPattern(regex: RegExp): boolean;
48
- hasNonSpaceAheadInLine(): boolean;
53
+ /**
54
+ * If there is a non-space character between `cursor + offset` (inclusive) and the next newline, returns `true`. Otherwise returns `false`.
55
+ *
56
+ * @param offset Defaults to 0.
57
+ */
58
+ hasNonSpaceAheadInLine(offset?: number): boolean;
49
59
  slice(start: number, end?: number): string;
50
60
  slice(rangeLike: Range | RangeContainer): string;
51
61
  sliceToCursor(start: number): string;
@@ -28,6 +28,29 @@ export class ReadonlySource {
28
28
  getCharRange(offset = 0) {
29
29
  return IndexMap.toOuterRange(this.indexMap, Range.create(this.innerCursor + offset, this.innerCursor + offset + 1));
30
30
  }
31
+ /**
32
+ * Returns a string that helps visualize this `Source`'s index map.
33
+ * Primarily intended for debugging purposes.
34
+ */
35
+ visualizeIndexMap() {
36
+ let res = this.string;
37
+ const adjustments = [];
38
+ for (const { inner, outer } of this.indexMap) {
39
+ const innerLength = inner.end - inner.start;
40
+ const outerLength = outer.end - outer.start;
41
+ const { char, count } = outerLength > innerLength
42
+ ? {
43
+ count: outerLength - innerLength,
44
+ char: '\u2190', // ←
45
+ }
46
+ : { count: outer.start - inner.start, char: '\u2017' }; // ‗
47
+ adjustments.push({ idx: inner.start, str: char.repeat(count) });
48
+ }
49
+ for (const { idx, str } of adjustments.reverse()) {
50
+ res = `${res.slice(0, idx)}${str}${res.slice(idx)}`;
51
+ }
52
+ return res;
53
+ }
31
54
  /**
32
55
  * Peeks a substring from the current cursor.
33
56
  * @param length The length of the substring. Defaults to 1
@@ -76,8 +99,13 @@ export class ReadonlySource {
76
99
  matchPattern(regex) {
77
100
  return regex.test(this.peekRemaining());
78
101
  }
79
- hasNonSpaceAheadInLine() {
80
- for (let cursor = this.innerCursor; cursor < this.string.length; cursor++) {
102
+ /**
103
+ * If there is a non-space character between `cursor + offset` (inclusive) and the next newline, returns `true`. Otherwise returns `false`.
104
+ *
105
+ * @param offset Defaults to 0.
106
+ */
107
+ hasNonSpaceAheadInLine(offset = 0) {
108
+ for (let cursor = this.innerCursor + offset; cursor < this.string.length; cursor++) {
81
109
  const c = this.string.charAt(cursor);
82
110
  if (Source.isNewline(c)) {
83
111
  break;
@@ -91,9 +119,7 @@ export class ReadonlySource {
91
119
  slice(param0, end) {
92
120
  if (typeof param0 === 'number') {
93
121
  const innerStart = IndexMap.toInnerOffset(this.indexMap, param0);
94
- const innerEnd = end !== undefined
95
- ? IndexMap.toInnerOffset(this.indexMap, end)
96
- : undefined;
122
+ const innerEnd = end !== undefined ? IndexMap.toInnerOffset(this.indexMap, end) : undefined;
97
123
  return this.string.slice(innerStart, innerEnd);
98
124
  }
99
125
  const range = IndexMap.toInnerRange(this.indexMap, Range.get(param0));
@@ -4,23 +4,28 @@ import type { RangeLike } from '../source/index.js';
4
4
  import { PositionRange, Range } from '../source/index.js';
5
5
  export declare const McdocCategories: readonly ["mcdoc", "mcdoc/dispatcher"];
6
6
  export type McdocCategory = (typeof McdocCategories)[number];
7
- export declare const RegistryCategories: readonly ["activity", "attribute", "block", "block_entity_type", "block_predicate_type", "chunk_status", "custom_stat", "enchantment", "entity_type", "float_provider_type", "fluid", "game_event", "height_provider_type", "int_provider_type", "item", "loot_condition_type", "loot_function_type", "loot_nbt_provider_type", "loot_number_provider_type", "loot_pool_entry_type", "loot_score_provider_type", "memory_module_type", "menu", "mob_effect", "motive", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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/feature", "worldgen/feature_size_type", "worldgen/foliage_placer_type", "worldgen/material_condition", "worldgen/material_rule", "worldgen/placement_modifier_type", "worldgen/structure_feature", "worldgen/structure_piece", "worldgen/structure_pool_element", "worldgen/structure_processor", "worldgen/surface_builder", "worldgen/tree_decorator_type", "worldgen/trunk_placer_type"];
7
+ export declare const RegistryCategories: readonly ["activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "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", "float_provider_type", "fluid", "frog_variant", "game_event", "height_provider_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", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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"];
8
8
  export type RegistryCategory = (typeof RegistryCategories)[number];
9
- export declare const WorldgenFileCategories: readonly ["worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool"];
9
+ export declare const NormalFileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant"];
10
+ export type NormalFileCategory = (typeof NormalFileCategories)[number];
11
+ export declare const WorldgenFileCategories: readonly ["worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset"];
10
12
  export type WorldgenFileCategory = (typeof WorldgenFileCategories)[number];
11
- export declare const TaggableResourceLocationCategories: readonly ["function", "activity", "attribute", "block", "block_entity_type", "block_predicate_type", "chunk_status", "custom_stat", "enchantment", "entity_type", "float_provider_type", "fluid", "game_event", "height_provider_type", "int_provider_type", "item", "loot_condition_type", "loot_function_type", "loot_nbt_provider_type", "loot_number_provider_type", "loot_pool_entry_type", "loot_score_provider_type", "memory_module_type", "menu", "mob_effect", "motive", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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/feature", "worldgen/feature_size_type", "worldgen/foliage_placer_type", "worldgen/material_condition", "worldgen/material_rule", "worldgen/placement_modifier_type", "worldgen/structure_feature", "worldgen/structure_piece", "worldgen/structure_pool_element", "worldgen/structure_processor", "worldgen/surface_builder", "worldgen/tree_decorator_type", "worldgen/trunk_placer_type", "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool"];
13
+ export declare const TaggableResourceLocationCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant", "activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "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", "float_provider_type", "fluid", "frog_variant", "game_event", "height_provider_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", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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", "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset"];
12
14
  export type TaggableResourceLocationCategory = (typeof TaggableResourceLocationCategories)[number];
13
- export declare const TagFileCategories: readonly ("tag/function" | "tag/activity" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/chunk_status" | "tag/custom_stat" | "tag/enchantment" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/game_event" | "tag/height_provider_type" | "tag/int_provider_type" | "tag/item" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/template_pool")[];
15
+ export declare namespace TaggableResourceLocationCategory {
16
+ function is(category: string): category is TaggableResourceLocationCategory;
17
+ }
18
+ export declare const TagFileCategories: readonly ("tag/function" | "tag/activity" | "tag/armor_material" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/block_type" | "tag/cat_variant" | "tag/chunk_status" | "tag/command_argument_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/enchantment_effect_component_type" | "tag/enchantment_entity_effect_type" | "tag/enchantment_level_based_value_type" | "tag/enchantment_location_based_effect_type" | "tag/enchantment_provider_type" | "tag/enchantment_value_effect_type" | "tag/entity_sub_predicate_type" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/frog_variant" | "tag/game_event" | "tag/height_provider_type" | "tag/instrument" | "tag/int_provider_type" | "tag/item" | "tag/item_sub_predicate_type" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/map_decoration_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/number_format_type" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/trigger_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/density_function_type" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/pool_alias_binding" | "tag/worldgen/root_placer_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_placement" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/structure_type" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/advancement" | "tag/banner_pattern" | "tag/chat_type" | "tag/damage_type" | "tag/dimension" | "tag/dimension_type" | "tag/enchantment" | "tag/enchantment_provider" | "tag/item_modifier" | "tag/jukebox_song" | "tag/loot_table" | "tag/painting_variant" | "tag/predicate" | "tag/recipe" | "tag/structure" | "tag/trim_material" | "tag/trim_pattern" | "tag/wolf_variant" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/flat_level_generator_preset" | "tag/worldgen/multi_noise_biome_source_parameter_list" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/structure" | "tag/worldgen/structure_set" | "tag/worldgen/template_pool" | "tag/worldgen/world_preset")[];
14
19
  export type TagFileCategory = (typeof TagFileCategories)[number];
15
- export declare const FileCategories: readonly ["advancement", "chat_type", "damage_type", "dimension", "dimension_type", "function", "item_modifier", "loot_table", "predicate", "recipe", "structure", "trim_material", "trim_pattern", ...("tag/function" | "tag/activity" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/chunk_status" | "tag/custom_stat" | "tag/enchantment" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/game_event" | "tag/height_provider_type" | "tag/int_provider_type" | "tag/item" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/template_pool")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool"];
20
+ export declare const FileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant", ...("tag/function" | "tag/activity" | "tag/armor_material" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/block_type" | "tag/cat_variant" | "tag/chunk_status" | "tag/command_argument_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/enchantment_effect_component_type" | "tag/enchantment_entity_effect_type" | "tag/enchantment_level_based_value_type" | "tag/enchantment_location_based_effect_type" | "tag/enchantment_provider_type" | "tag/enchantment_value_effect_type" | "tag/entity_sub_predicate_type" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/frog_variant" | "tag/game_event" | "tag/height_provider_type" | "tag/instrument" | "tag/int_provider_type" | "tag/item" | "tag/item_sub_predicate_type" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/map_decoration_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/number_format_type" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/trigger_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/density_function_type" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/pool_alias_binding" | "tag/worldgen/root_placer_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_placement" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/structure_type" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/advancement" | "tag/banner_pattern" | "tag/chat_type" | "tag/damage_type" | "tag/dimension" | "tag/dimension_type" | "tag/enchantment" | "tag/enchantment_provider" | "tag/item_modifier" | "tag/jukebox_song" | "tag/loot_table" | "tag/painting_variant" | "tag/predicate" | "tag/recipe" | "tag/structure" | "tag/trim_material" | "tag/trim_pattern" | "tag/wolf_variant" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/flat_level_generator_preset" | "tag/worldgen/multi_noise_biome_source_parameter_list" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/structure" | "tag/worldgen/structure_set" | "tag/worldgen/template_pool" | "tag/worldgen/world_preset")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset"];
16
21
  export type FileCategory = (typeof FileCategories)[number];
17
- export declare const MiscCategories: readonly ["attribute_modifier_uuid", "bossbar", "objective", "score_holder", "storage", "tag", "team"];
22
+ export declare const MiscCategories: readonly ["attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage"];
18
23
  export type MiscCategory = (typeof MiscCategories)[number];
19
- export declare const DatapackCategories: readonly ["advancement", "chat_type", "damage_type", "dimension", "dimension_type", "function", "item_modifier", "loot_table", "predicate", "recipe", "structure", "trim_material", "trim_pattern", ...("tag/function" | "tag/activity" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/chunk_status" | "tag/custom_stat" | "tag/enchantment" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/game_event" | "tag/height_provider_type" | "tag/int_provider_type" | "tag/item" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/template_pool")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool", "attribute_modifier_uuid", "bossbar", "objective", "score_holder", "storage", "tag", "team"];
24
+ export declare const DatapackCategories: readonly ["attribute_modifier_uuid", "objective", "score_holder", "tag", "team", "advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant", ...("tag/function" | "tag/activity" | "tag/armor_material" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/block_type" | "tag/cat_variant" | "tag/chunk_status" | "tag/command_argument_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/enchantment_effect_component_type" | "tag/enchantment_entity_effect_type" | "tag/enchantment_level_based_value_type" | "tag/enchantment_location_based_effect_type" | "tag/enchantment_provider_type" | "tag/enchantment_value_effect_type" | "tag/entity_sub_predicate_type" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/frog_variant" | "tag/game_event" | "tag/height_provider_type" | "tag/instrument" | "tag/int_provider_type" | "tag/item" | "tag/item_sub_predicate_type" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/map_decoration_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/number_format_type" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/trigger_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/density_function_type" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/pool_alias_binding" | "tag/worldgen/root_placer_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_placement" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/structure_type" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/advancement" | "tag/banner_pattern" | "tag/chat_type" | "tag/damage_type" | "tag/dimension" | "tag/dimension_type" | "tag/enchantment" | "tag/enchantment_provider" | "tag/item_modifier" | "tag/jukebox_song" | "tag/loot_table" | "tag/painting_variant" | "tag/predicate" | "tag/recipe" | "tag/structure" | "tag/trim_material" | "tag/trim_pattern" | "tag/wolf_variant" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/flat_level_generator_preset" | "tag/worldgen/multi_noise_biome_source_parameter_list" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/structure" | "tag/worldgen/structure_set" | "tag/worldgen/template_pool" | "tag/worldgen/world_preset")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset", "attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage"];
20
25
  export type DatapackCategory = (typeof DatapackCategories)[number];
21
- export declare const AllCategories: readonly ["advancement", "chat_type", "damage_type", "dimension", "dimension_type", "function", "item_modifier", "loot_table", "predicate", "recipe", "structure", "trim_material", "trim_pattern", ...("tag/function" | "tag/activity" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/chunk_status" | "tag/custom_stat" | "tag/enchantment" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/game_event" | "tag/height_provider_type" | "tag/int_provider_type" | "tag/item" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/template_pool")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool", "attribute_modifier_uuid", "bossbar", "objective", "score_holder", "storage", "tag", "team", "mcdoc", "mcdoc/dispatcher", "activity", "attribute", "block", "block_entity_type", "block_predicate_type", "chunk_status", "custom_stat", "enchantment", "entity_type", "float_provider_type", "fluid", "game_event", "height_provider_type", "int_provider_type", "item", "loot_condition_type", "loot_function_type", "loot_nbt_provider_type", "loot_number_provider_type", "loot_pool_entry_type", "loot_score_provider_type", "memory_module_type", "menu", "mob_effect", "motive", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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/feature", "worldgen/feature_size_type", "worldgen/foliage_placer_type", "worldgen/material_condition", "worldgen/material_rule", "worldgen/placement_modifier_type", "worldgen/structure_feature", "worldgen/structure_piece", "worldgen/structure_pool_element", "worldgen/structure_processor", "worldgen/surface_builder", "worldgen/tree_decorator_type", "worldgen/trunk_placer_type"];
26
+ export declare const AllCategories: readonly ["attribute_modifier_uuid", "objective", "score_holder", "tag", "team", "advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant", ...("tag/function" | "tag/activity" | "tag/armor_material" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/block_type" | "tag/cat_variant" | "tag/chunk_status" | "tag/command_argument_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/enchantment_effect_component_type" | "tag/enchantment_entity_effect_type" | "tag/enchantment_level_based_value_type" | "tag/enchantment_location_based_effect_type" | "tag/enchantment_provider_type" | "tag/enchantment_value_effect_type" | "tag/entity_sub_predicate_type" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/frog_variant" | "tag/game_event" | "tag/height_provider_type" | "tag/instrument" | "tag/int_provider_type" | "tag/item" | "tag/item_sub_predicate_type" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/map_decoration_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/number_format_type" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/trigger_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/density_function_type" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/pool_alias_binding" | "tag/worldgen/root_placer_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_placement" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/structure_type" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/advancement" | "tag/banner_pattern" | "tag/chat_type" | "tag/damage_type" | "tag/dimension" | "tag/dimension_type" | "tag/enchantment" | "tag/enchantment_provider" | "tag/item_modifier" | "tag/jukebox_song" | "tag/loot_table" | "tag/painting_variant" | "tag/predicate" | "tag/recipe" | "tag/structure" | "tag/trim_material" | "tag/trim_pattern" | "tag/wolf_variant" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/flat_level_generator_preset" | "tag/worldgen/multi_noise_biome_source_parameter_list" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/structure" | "tag/worldgen/structure_set" | "tag/worldgen/template_pool" | "tag/worldgen/world_preset")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset", "attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage", "mcdoc", "mcdoc/dispatcher", "activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "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", "float_provider_type", "fluid", "frog_variant", "game_event", "height_provider_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", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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"];
22
27
  export type AllCategory = (typeof AllCategories)[number];
23
- export declare const ResourceLocationCategories: readonly ["bossbar", "storage", "mcdoc/dispatcher", "advancement", "chat_type", "damage_type", "dimension", "dimension_type", "function", "item_modifier", "loot_table", "predicate", "recipe", "structure", "trim_material", "trim_pattern", ...("tag/function" | "tag/activity" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/chunk_status" | "tag/custom_stat" | "tag/enchantment" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/game_event" | "tag/height_provider_type" | "tag/int_provider_type" | "tag/item" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/template_pool")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/template_pool", "activity", "attribute", "block", "block_entity_type", "block_predicate_type", "chunk_status", "custom_stat", "enchantment", "entity_type", "float_provider_type", "fluid", "game_event", "height_provider_type", "int_provider_type", "item", "loot_condition_type", "loot_function_type", "loot_nbt_provider_type", "loot_number_provider_type", "loot_pool_entry_type", "loot_score_provider_type", "memory_module_type", "menu", "mob_effect", "motive", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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/feature", "worldgen/feature_size_type", "worldgen/foliage_placer_type", "worldgen/material_condition", "worldgen/material_rule", "worldgen/placement_modifier_type", "worldgen/structure_feature", "worldgen/structure_piece", "worldgen/structure_pool_element", "worldgen/structure_processor", "worldgen/surface_builder", "worldgen/tree_decorator_type", "worldgen/trunk_placer_type"];
28
+ export declare const ResourceLocationCategories: readonly ["mcdoc/dispatcher", "attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage", "advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trim_material", "trim_pattern", "wolf_variant", ...("tag/function" | "tag/activity" | "tag/armor_material" | "tag/attribute" | "tag/block" | "tag/block_entity_type" | "tag/block_predicate_type" | "tag/block_type" | "tag/cat_variant" | "tag/chunk_status" | "tag/command_argument_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/enchantment_effect_component_type" | "tag/enchantment_entity_effect_type" | "tag/enchantment_level_based_value_type" | "tag/enchantment_location_based_effect_type" | "tag/enchantment_provider_type" | "tag/enchantment_value_effect_type" | "tag/entity_sub_predicate_type" | "tag/entity_type" | "tag/float_provider_type" | "tag/fluid" | "tag/frog_variant" | "tag/game_event" | "tag/height_provider_type" | "tag/instrument" | "tag/int_provider_type" | "tag/item" | "tag/item_sub_predicate_type" | "tag/loot_condition_type" | "tag/loot_function_type" | "tag/loot_nbt_provider_type" | "tag/loot_number_provider_type" | "tag/loot_pool_entry_type" | "tag/loot_score_provider_type" | "tag/map_decoration_type" | "tag/memory_module_type" | "tag/menu" | "tag/mob_effect" | "tag/motive" | "tag/number_format_type" | "tag/particle_type" | "tag/point_of_interest_type" | "tag/pos_rule_test" | "tag/position_source_type" | "tag/potion" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/sound_event" | "tag/stat_type" | "tag/trigger_type" | "tag/villager_profession" | "tag/villager_type" | "tag/worldgen/biome_source" | "tag/worldgen/block_placer_type" | "tag/worldgen/block_state_provider_type" | "tag/worldgen/carver" | "tag/worldgen/chunk_generator" | "tag/worldgen/decorator" | "tag/worldgen/density_function_type" | "tag/worldgen/feature" | "tag/worldgen/feature_size_type" | "tag/worldgen/foliage_placer_type" | "tag/worldgen/material_condition" | "tag/worldgen/material_rule" | "tag/worldgen/placement_modifier_type" | "tag/worldgen/pool_alias_binding" | "tag/worldgen/root_placer_type" | "tag/worldgen/structure_feature" | "tag/worldgen/structure_piece" | "tag/worldgen/structure_placement" | "tag/worldgen/structure_pool_element" | "tag/worldgen/structure_processor" | "tag/worldgen/structure_type" | "tag/worldgen/surface_builder" | "tag/worldgen/tree_decorator_type" | "tag/worldgen/trunk_placer_type" | "tag/advancement" | "tag/banner_pattern" | "tag/chat_type" | "tag/damage_type" | "tag/dimension" | "tag/dimension_type" | "tag/enchantment" | "tag/enchantment_provider" | "tag/item_modifier" | "tag/jukebox_song" | "tag/loot_table" | "tag/painting_variant" | "tag/predicate" | "tag/recipe" | "tag/structure" | "tag/trim_material" | "tag/trim_pattern" | "tag/wolf_variant" | "tag/worldgen/biome" | "tag/worldgen/configured_carver" | "tag/worldgen/configured_feature" | "tag/worldgen/configured_structure_feature" | "tag/worldgen/configured_surface_builder" | "tag/worldgen/density_function" | "tag/worldgen/flat_level_generator_preset" | "tag/worldgen/multi_noise_biome_source_parameter_list" | "tag/worldgen/noise" | "tag/worldgen/noise_settings" | "tag/worldgen/placed_feature" | "tag/worldgen/processor_list" | "tag/worldgen/structure" | "tag/worldgen/structure_set" | "tag/worldgen/template_pool" | "tag/worldgen/world_preset")[], "worldgen/biome", "worldgen/configured_carver", "worldgen/configured_feature", "worldgen/configured_structure_feature", "worldgen/configured_surface_builder", "worldgen/density_function", "worldgen/flat_level_generator_preset", "worldgen/multi_noise_biome_source_parameter_list", "worldgen/noise", "worldgen/noise_settings", "worldgen/placed_feature", "worldgen/processor_list", "worldgen/structure", "worldgen/structure_set", "worldgen/template_pool", "worldgen/world_preset", "activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "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", "float_provider_type", "fluid", "frog_variant", "game_event", "height_provider_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", "particle_type", "point_of_interest_type", "pos_rule_test", "position_source_type", "potion", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "sound_event", "stat_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"];
24
29
  export type ResourceLocationCategory = (typeof ResourceLocationCategories)[number];
25
30
  export declare namespace ResourceLocationCategory {
26
31
  function is(category: string): category is ResourceLocationCategory;