@spyglassmc/core 0.4.13 → 0.4.15

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.
@@ -1,3 +1,11 @@
1
- import type { Externals } from './index.js';
1
+ import type { ExternalEventEmitter, Externals } from './index.js';
2
+ type Listener = (...args: unknown[]) => unknown;
3
+ export declare class BrowserEventEmitter implements ExternalEventEmitter {
4
+ #private;
5
+ emit(eventName: string, ...args: unknown[]): boolean;
6
+ on(eventName: string, listener: Listener): this;
7
+ once(eventName: string, listener: Listener): this;
8
+ }
2
9
  export declare const BrowserExternals: Externals;
10
+ export {};
3
11
  //# sourceMappingURL=BrowserExternals.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { decode as arrayBufferFromBase64, encode as arrayBufferToBase64 } from 'base64-arraybuffer';
2
2
  import pako from 'pako';
3
3
  import { fileUtil } from '../../service/fileUtil.js';
4
- class BrowserEventEmitter {
4
+ export class BrowserEventEmitter {
5
5
  #listeners = new Map();
6
6
  emit(eventName, ...args) {
7
7
  const listeners = this.#listeners.get(eventName);
@@ -80,9 +80,6 @@ class BrowserFileSystem {
80
80
  async chmod(_location, _mode) {
81
81
  return;
82
82
  }
83
- async getAllFiles(_location) {
84
- return [];
85
- }
86
83
  async mkdir(location, _options) {
87
84
  location = fileUtil.ensureEndingSlash(location.toString());
88
85
  if (this.states[location]) {
@@ -91,6 +88,10 @@ class BrowserFileSystem {
91
88
  this.states[location] = { type: 'directory' };
92
89
  this.saveStates();
93
90
  }
91
+ async readdir(_location) {
92
+ // Not implemented
93
+ return [];
94
+ }
94
95
  async readFile(location) {
95
96
  location = location.toString();
96
97
  const entry = this.states[location];
@@ -2,7 +2,6 @@
2
2
  import chokidar from 'chokidar';
3
3
  import decompress from 'decompress';
4
4
  import followRedirects from 'follow-redirects';
5
- import globby from 'globby';
6
5
  import { Buffer } from 'node:buffer';
7
6
  import cp from 'node:child_process';
8
7
  import crypto from 'node:crypto';
@@ -72,14 +71,12 @@ export const NodeJsExternals = {
72
71
  chmod(location, mode) {
73
72
  return fsp.chmod(toFsPathLike(location), mode);
74
73
  },
75
- async getAllFiles(location, depth) {
76
- const path = toPath(location).replaceAll('\\', '/') + '**/*';
77
- const files = await globby(path, { absolute: true, dot: true, deep: depth });
78
- return files.map(uriFromPath);
79
- },
80
74
  async mkdir(location, options) {
81
75
  return void (await fsp.mkdir(toFsPathLike(location), options));
82
76
  },
77
+ readdir(location) {
78
+ return fsp.readdir(toFsPathLike(location), { encoding: 'utf-8', withFileTypes: true });
79
+ },
83
80
  readFile(location) {
84
81
  return fsp.readFile(toFsPathLike(location));
85
82
  },
@@ -106,7 +103,10 @@ export const NodeJsExternals = {
106
103
  return fsp.unlink(toFsPathLike(location));
107
104
  },
108
105
  watch(locations, { usePolling = false } = {}) {
109
- return new ChokidarWatcherWrapper(chokidar.watch(locations.map(toPath), { usePolling }));
106
+ return new ChokidarWatcherWrapper(chokidar.watch(locations.map(toPath), {
107
+ usePolling,
108
+ disableGlobbing: true,
109
+ }));
110
110
  },
111
111
  writeFile(location, data, options) {
112
112
  return fsp.writeFile(toFsPathLike(location), data, options);
@@ -49,10 +49,6 @@ export interface ExternalFileSystem {
49
49
  * @param mode File mode bit mask (e.g. `0o775`).
50
50
  */
51
51
  chmod(location: FsLocation, mode: number): Promise<void>;
52
- /**
53
- * @returns an array of file URIs under the given `location`.
54
- */
55
- getAllFiles(location: FsLocation, depth?: number): Promise<string[]>;
56
52
  /**
57
53
  * @param options `mode` - File mode bit mask (e.g. `0o775`).
58
54
  */
@@ -60,6 +56,12 @@ export interface ExternalFileSystem {
60
56
  mode?: number;
61
57
  recursive?: boolean;
62
58
  }): Promise<void>;
59
+ readdir(location: FsLocation): Promise<{
60
+ name: string;
61
+ isDirectory(): boolean;
62
+ isFile(): boolean;
63
+ isSymbolicLink(): boolean;
64
+ }[]>;
63
65
  readFile(location: FsLocation): Promise<Uint8Array>;
64
66
  /**
65
67
  * Show the file/directory in the platform-specific explorer program.
@@ -8,6 +8,7 @@ export type ResourceLocationOptions = {
8
8
  requireCanonical?: boolean;
9
9
  usageType?: SymbolUsageType;
10
10
  namespacePathSep?: ':' | '.';
11
+ implicitPath?: string;
11
12
  } & ({
12
13
  category: ResourceLocationCategory;
13
14
  pool?: undefined;
@@ -42,7 +42,7 @@ export declare namespace Color {
42
42
  */
43
43
  function fromHexRGB(value: string): Color;
44
44
  /**
45
- * @param value `R << 16 + G << 8 + B`. Negative values result in white.
45
+ * @param value `R << 16 + G << 8 + B`.
46
46
  */
47
47
  function fromCompositeRGB(value: number): Color;
48
48
  /**
@@ -77,17 +77,12 @@ export var Color;
77
77
  }
78
78
  Color.fromHexRGB = fromHexRGB;
79
79
  /**
80
- * @param value `R << 16 + G << 8 + B`. Negative values result in white.
80
+ * @param value `R << 16 + G << 8 + B`.
81
81
  */
82
82
  function fromCompositeRGB(value) {
83
- if (value < 0) {
84
- return fromDecRGB(1.0, 1.0, 1.0);
85
- }
86
- const b = value % 256;
87
- value >>>= 8;
88
- const g = value % 256;
89
- value >>>= 8;
90
- const r = value % 256;
83
+ const r = value >> 16 & 0xff;
84
+ const g = value >> 8 & 0xff;
85
+ const b = value & 0xff;
91
86
  return fromIntRGB(r, g, b);
92
87
  }
93
88
  Color.fromCompositeRGB = fromCompositeRGB;
@@ -95,13 +90,12 @@ export var Color;
95
90
  * @param value `A << 24 + R << 16 + G << 8 + B`.
96
91
  */
97
92
  function fromCompositeARGB(value) {
98
- const b = value % 256;
99
- value >>>= 8;
100
- const g = value % 256;
101
- value >>>= 8;
102
- const r = value % 256;
103
- value >>>= 8;
104
- const a = value % 256;
93
+ // Cast to signed 32-bit integer
94
+ value |= 0;
95
+ const a = (value >>> 24) & 0xff;
96
+ const r = (value >>> 16) & 0xff;
97
+ const g = (value >>> 8) & 0xff;
98
+ const b = value & 0xff;
105
99
  return fromIntRGBA(r, g, b, a);
106
100
  }
107
101
  Color.fromCompositeARGB = fromCompositeARGB;
@@ -168,10 +162,11 @@ export var ColorPresentation;
168
162
  case ColorFormat.CompositeRGB:
169
163
  return `${Math.round(((color[0] * 255) << 16) + ((color[1] * 255) << 8) + color[2] * 255)}`;
170
164
  case ColorFormat.CompositeARGB:
171
- return `${(BigInt(Math.round(color[3] * 255)) << 24n)
165
+ return `${Number((BigInt(Math.round(color[3] * 255)) << 24n)
172
166
  + (BigInt(Math.round(color[0] * 255)) << 16n)
173
167
  + (BigInt(Math.round(color[1] * 255)) << 8n)
174
- + BigInt(Math.round(color[2] * 255))}`;
168
+ + BigInt(Math.round(color[2] * 255))) << 0 // Convert to signed 32-bit integer
169
+ }`;
175
170
  }
176
171
  }
177
172
  })(ColorPresentation || (ColorPresentation = {}));
@@ -92,9 +92,14 @@ export const dispatchSync = SyncBinder.create((node, ctx) => {
92
92
  });
93
93
  export const resourceLocation = SyncBinder.create((node, ctx) => {
94
94
  const raw = ResourceLocationNode.toString(node, 'full');
95
- const sanitizedRaw = ResourceLocation.lengthen(node.options.namespacePathSep === '.'
95
+ let sanitizedRaw = ResourceLocation.lengthen(node.options.namespacePathSep === '.'
96
96
  ? raw.replace(/\./g, ResourceLocation.NamespacePathSep)
97
97
  : raw);
98
+ if (node.options.implicitPath) {
99
+ const sepIndex = sanitizedRaw.indexOf(ResourceLocation.NamespacePathSep);
100
+ sanitizedRaw = sanitizedRaw.substring(0, sepIndex + 1) + node.options.implicitPath
101
+ + sanitizedRaw.substring(sepIndex + 1);
102
+ }
98
103
  if (node.options.category) {
99
104
  ctx.symbols.query(ctx.doc, node.isTag ? `tag/${node.options.category}` : node.options.category, sanitizedRaw).enter({
100
105
  usage: { type: node.options.usageType, node, accessType: node.options.accessType },
@@ -110,10 +110,10 @@ export const resourceLocation = (node, ctx) => {
110
110
  return optimizePool(declarations);
111
111
  };
112
112
  const optimizePool = (pool) => {
113
- const defaultNsPrefix = `${ResourceLocation.DefaultNamespace}${ResourceLocation.NamespacePathSep}`;
113
+ const defaultNsPrefix = ResourceLocation.DefaultNamespace + ResourceLocation.NamespacePathSep;
114
114
  const defaultNsIds = [];
115
115
  const otherIds = [];
116
- for (const id of pool) {
116
+ for (const id of filterPool(pool)) {
117
117
  if (id.startsWith(defaultNsPrefix)) {
118
118
  defaultNsIds.push(id);
119
119
  }
@@ -136,6 +136,20 @@ export const resourceLocation = (node, ctx) => {
136
136
  }
137
137
  return ans;
138
138
  };
139
+ const filterPool = (pool) => {
140
+ if (!node.options.implicitPath) {
141
+ return pool;
142
+ }
143
+ const ans = [];
144
+ for (const id of pool) {
145
+ const sep = id.indexOf(ResourceLocation.NamespacePathSep);
146
+ const path = id.slice(sep + 1);
147
+ if (path.startsWith(node.options.implicitPath)) {
148
+ ans.push(id.slice(0, sep + 1) + path.slice(node.options.implicitPath.length));
149
+ }
150
+ }
151
+ return ans;
152
+ };
139
153
  const pool = node.options.pool
140
154
  ? optimizePool(node.options.pool)
141
155
  : [
@@ -1,7 +1,8 @@
1
- import type { AstNode, BooleanBaseNode, CommentNode, FileNode, FloatBaseNode, IntegerNode, LiteralBaseNode, LongNode, ResourceLocationBaseNode, StringBaseNode } from '../../node/index.js';
1
+ import type { AstNode, BooleanBaseNode, CommentNode, ErrorNode, FileNode, FloatBaseNode, IntegerNode, LiteralBaseNode, LongNode, ResourceLocationBaseNode, StringBaseNode } from '../../node/index.js';
2
2
  import type { MetaRegistry } from '../../service/index.js';
3
3
  import type { Formatter } from './Formatter.js';
4
4
  export declare const fallback: Formatter;
5
+ export declare const error: Formatter<ErrorNode>;
5
6
  export declare const file: Formatter<FileNode<AstNode>>;
6
7
  export declare const boolean: Formatter<BooleanBaseNode>;
7
8
  export declare const comment: Formatter<CommentNode>;
@@ -2,6 +2,9 @@ import { ResourceLocationNode } from '../../node/index.js';
2
2
  export const fallback = (node) => {
3
3
  throw new Error(`No formatter registered for type ${node.type}`);
4
4
  };
5
+ export const error = (node) => {
6
+ return '';
7
+ };
5
8
  export const file = (node, ctx) => {
6
9
  return node.children.map((child) => {
7
10
  return ctx.meta.getFormatter(child.type)(child, ctx);
@@ -33,6 +36,7 @@ export const string = (node) => {
33
36
  return `"${node.value}"`;
34
37
  };
35
38
  export function registerFormatters(meta) {
39
+ meta.registerFormatter('error', error);
36
40
  meta.registerFormatter('file', file);
37
41
  meta.registerFormatter('boolean', boolean);
38
42
  meta.registerFormatter('comment', comment);
@@ -7,7 +7,7 @@ import type { Project } from './Project.js';
7
7
  * The format version of the cache. Should be increased when any changes that
8
8
  * could invalidate the cache are introduced to the Spyglass codebase.
9
9
  */
10
- export declare const LatestCacheVersion = 5;
10
+ export declare const LatestCacheVersion = 6;
11
11
  /**
12
12
  * Checksums of cached files or roots.
13
13
  */
@@ -5,7 +5,7 @@ import { fileUtil } from './fileUtil.js';
5
5
  * The format version of the cache. Should be increased when any changes that
6
6
  * could invalidate the cache are introduced to the Spyglass codebase.
7
7
  */
8
- export const LatestCacheVersion = 5;
8
+ export const LatestCacheVersion = 6;
9
9
  var Checksums;
10
10
  (function (Checksums) {
11
11
  function create() {
@@ -106,7 +106,7 @@ export var SymbolLinterConfig;
106
106
  export const VanillaConfig = {
107
107
  env: {
108
108
  dataSource: 'GitHub',
109
- dependencies: ['@vanilla-datapack', '@vanilla-mcdoc'],
109
+ dependencies: ['@vanilla-datapack', '@vanilla-resourcepack', '@vanilla-mcdoc'],
110
110
  exclude: ['@gitignore', '.vscode/', '.github/'],
111
111
  customResources: {},
112
112
  feature: {
@@ -197,6 +197,10 @@ export const VanillaConfig = {
197
197
  ],
198
198
  then: { report: 'warning' },
199
199
  },
200
+ {
201
+ if: { category: ['attribute_modifier', 'attribute_modifier_uuid', 'tag'] },
202
+ then: { declare: 'public' },
203
+ },
200
204
  {
201
205
  then: { declare: 'block' },
202
206
  },
@@ -142,7 +142,7 @@ export class FileUriSupporter {
142
142
  if (fileUtil.isFileUri(uri) && (await externals.fs.stat(uri)).isDirectory()) {
143
143
  uri = fileUtil.ensureEndingSlash(uri);
144
144
  roots.push(uri);
145
- files.set(uri, await externals.fs.getAllFiles(uri));
145
+ files.set(uri, await fileUtil.getAllFiles(externals, uri));
146
146
  }
147
147
  }
148
148
  catch (e) {
@@ -34,9 +34,6 @@ export declare namespace fileUtil {
34
34
  function isRootUri(uri: string): uri is RootUriString;
35
35
  function ensureEndingSlash(uri: string): RootUriString;
36
36
  function join(fromUri: string, toUri: string): string;
37
- /**
38
- * @throws If `uri` is not a valid URI.
39
- */
40
37
  function isFileUri(uri: string): boolean;
41
38
  /**
42
39
  * @returns The part from the last `.` to the end of the URI, or `undefined` if no dots exist. No special treatment for leading dots.
@@ -46,6 +43,10 @@ export declare namespace fileUtil {
46
43
  * @returns The part from the last `/` to the end of the URI.
47
44
  */
48
45
  function basename(uri: string): string;
46
+ /**
47
+ * @returns The part from the beginning of the URI to the last `/`.
48
+ */
49
+ function dirname(uri: string): string;
49
50
  function getParentOfFile(externals: Externals, path: FsLocation): FsLocation;
50
51
  /**
51
52
  * @throws
@@ -63,6 +64,10 @@ export declare namespace fileUtil {
63
64
  function ensureParentOfFile(externals: Externals, path: FsLocation, mode?: number): Promise<void>;
64
65
  function chmod(externals: Externals, path: FsLocation, mode: number): Promise<void>;
65
66
  function ensureWritable(externals: Externals, path: FsLocation): Promise<void>;
67
+ /**
68
+ * @returns An array of file URI strings.
69
+ */
70
+ function getAllFiles(externals: Externals, root: FsLocation, depth?: number): Promise<string[]>;
66
71
  function markReadOnly(externals: Externals, path: FsLocation): Promise<void>;
67
72
  function unlink(externals: Externals, path: FsLocation): Promise<void>;
68
73
  function readFile(externals: Externals, path: FsLocation): Promise<Uint8Array>;
@@ -72,9 +72,6 @@ export var fileUtil;
72
72
  return (ensureEndingSlash(fromUri) + (toUri.startsWith('/') ? toUri.slice(1) : toUri));
73
73
  }
74
74
  fileUtil.join = join;
75
- /**
76
- * @throws If `uri` is not a valid URI.
77
- */
78
75
  function isFileUri(uri) {
79
76
  return uri.startsWith('file:');
80
77
  }
@@ -95,6 +92,14 @@ export var fileUtil;
95
92
  return i >= 0 ? uri.slice(i + 1) : uri;
96
93
  }
97
94
  fileUtil.basename = basename;
95
+ /**
96
+ * @returns The part from the beginning of the URI to the last `/`.
97
+ */
98
+ function dirname(uri) {
99
+ const i = uri.lastIndexOf('/');
100
+ return i >= 0 ? uri.slice(0, i) : uri;
101
+ }
102
+ fileUtil.dirname = dirname;
98
103
  /* istanbul ignore next */
99
104
  function getParentOfFile(externals, path) {
100
105
  return new Uri('.', path);
@@ -144,6 +149,31 @@ export var fileUtil;
144
149
  }
145
150
  }
146
151
  fileUtil.ensureWritable = ensureWritable;
152
+ /**
153
+ * @returns An array of file URI strings.
154
+ */
155
+ async function getAllFiles(externals, root, depth = Number.POSITIVE_INFINITY) {
156
+ async function walk(path, level) {
157
+ if (level > depth) {
158
+ return [];
159
+ }
160
+ const entries = await externals.fs.readdir(path);
161
+ return (await Promise.all(entries.map(async (e) => {
162
+ const entryPath = fileUtil.join(path.toString(), e.name);
163
+ if (e.isDirectory()) {
164
+ return await walk(entryPath, level + 1);
165
+ }
166
+ else if (e.isFile()) {
167
+ return entryPath;
168
+ }
169
+ else {
170
+ return [];
171
+ }
172
+ }))).flat();
173
+ }
174
+ return walk(root, 0);
175
+ }
176
+ fileUtil.getAllFiles = getAllFiles;
147
177
  async function markReadOnly(externals, path) {
148
178
  return chmod(externals, path, 0o444);
149
179
  }
@@ -4,28 +4,36 @@ 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", "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"];
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", "consume_effect_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "decorated_pot_patterns", "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_book_category", "recipe_display", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "slot_display", "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
9
  export declare const NormalFileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "trim_material", "trim_pattern", "wolf_variant"];
10
10
  export type NormalFileCategory = (typeof NormalFileCategories)[number];
11
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"];
12
12
  export type WorldgenFileCategory = (typeof WorldgenFileCategories)[number];
13
- export declare const TaggableResourceLocationCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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"];
13
+ export declare const TaggableResourceLocationCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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", "consume_effect_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "decorated_pot_patterns", "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_book_category", "recipe_display", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "slot_display", "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"];
14
14
  export type TaggableResourceLocationCategory = (typeof TaggableResourceLocationCategories)[number];
15
15
  export declare namespace TaggableResourceLocationCategory {
16
16
  function is(category: string): category is TaggableResourceLocationCategory;
17
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/trial_spawner" | "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")[];
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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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")[];
19
19
  export type TagFileCategory = (typeof TagFileCategories)[number];
20
- export declare const FileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/trial_spawner" | "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"];
21
- export type FileCategory = (typeof FileCategories)[number];
22
- export declare const MiscCategories: readonly ["attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage"];
23
- export type MiscCategory = (typeof MiscCategories)[number];
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", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/trial_spawner" | "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
+ export declare const DataFileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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"];
21
+ export type DataFileCategory = (typeof DataFileCategories)[number];
22
+ export declare const DataMiscCategories: readonly ["attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage"];
23
+ export type DataMiscCategory = (typeof DataMiscCategories)[number];
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", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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"];
25
25
  export type DatapackCategory = (typeof DatapackCategories)[number];
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", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/trial_spawner" | "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"];
26
+ export declare const AssetsFileCategories: readonly ["atlas", "block_definition", "equipment", "font", "font/ttf", "font/otf", "font/unihex", "item_definition", "lang", "model", "particle", "post_effect", "shader", "shader/fragment", "shader/vertex", "sound", "texture"];
27
+ export type AssetsFileCategory = (typeof AssetsFileCategories)[number];
28
+ export declare const AssetsMiscCategories: readonly ["shader_target"];
29
+ export type AssetsMiscCategory = (typeof AssetsMiscCategories)[number];
30
+ export declare const ResourcepackCategories: readonly ["shader_target", "atlas", "block_definition", "equipment", "font", "font/ttf", "font/otf", "font/unihex", "item_definition", "lang", "model", "particle", "post_effect", "shader", "shader/fragment", "shader/vertex", "sound", "texture"];
31
+ export type ResourcepackCategory = (typeof ResourcepackCategories)[number];
32
+ export declare const FileCategories: readonly ["advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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", "atlas", "block_definition", "equipment", "font", "font/ttf", "font/otf", "font/unihex", "item_definition", "lang", "model", "particle", "post_effect", "shader", "shader/fragment", "shader/vertex", "sound", "texture"];
33
+ export type FileCategory = (typeof FileCategories)[number];
34
+ 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", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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", "shader_target", "atlas", "block_definition", "equipment", "font", "font/ttf", "font/otf", "font/unihex", "item_definition", "lang", "model", "particle", "post_effect", "shader", "shader/fragment", "shader/vertex", "sound", "texture", "mcdoc", "mcdoc/dispatcher", "activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "consume_effect_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "decorated_pot_patterns", "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_book_category", "recipe_display", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "slot_display", "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"];
27
35
  export type AllCategory = (typeof AllCategories)[number];
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", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/trial_spawner" | "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"];
36
+ export declare const ResourceLocationCategories: readonly ["mcdoc/dispatcher", "attribute_modifier", "bossbar", "jigsaw_block_name", "random_sequence", "storage", "shader_target", "advancement", "banner_pattern", "chat_type", "damage_type", "dimension", "dimension_type", "enchantment", "enchantment_provider", "function", "instrument", "item_modifier", "jukebox_song", "loot_table", "painting_variant", "predicate", "recipe", "structure", "trial_spawner", "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/consume_effect_type" | "tag/creative_mode_tab" | "tag/custom_stat" | "tag/data_component_type" | "tag/decorated_pot_pattern" | "tag/decorated_pot_patterns" | "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_book_category" | "tag/recipe_display" | "tag/recipe_serializer" | "tag/recipe_type" | "tag/rule_block_entity_modifier" | "tag/rule_test" | "tag/schedule" | "tag/sensor_type" | "tag/slot_display" | "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/trial_spawner" | "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", "atlas", "block_definition", "equipment", "font", "font/ttf", "font/otf", "font/unihex", "item_definition", "lang", "model", "particle", "post_effect", "shader", "shader/fragment", "shader/vertex", "sound", "texture", "activity", "armor_material", "attribute", "block", "block_entity_type", "block_predicate_type", "block_type", "cat_variant", "chunk_status", "command_argument_type", "consume_effect_type", "creative_mode_tab", "custom_stat", "data_component_type", "decorated_pot_pattern", "decorated_pot_patterns", "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_book_category", "recipe_display", "recipe_serializer", "recipe_type", "rule_block_entity_modifier", "rule_test", "schedule", "sensor_type", "slot_display", "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"];
29
37
  export type ResourceLocationCategory = (typeof ResourceLocationCategories)[number];
30
38
  export declare namespace ResourceLocationCategory {
31
39
  function is(category: string): category is ResourceLocationCategory;
@@ -8,7 +8,7 @@ export const McdocCategories = Object.freeze(['mcdoc', 'mcdoc/dispatcher']);
8
8
  // Data in `java-edition/src/binder/index.ts` may need to be updated when this section is changed.
9
9
  export const RegistryCategories = Object.freeze([
10
10
  'activity',
11
- 'armor_material',
11
+ 'armor_material', // Removed
12
12
  'attribute',
13
13
  'block',
14
14
  'block_entity_type',
@@ -17,10 +17,12 @@ export const RegistryCategories = Object.freeze([
17
17
  'cat_variant',
18
18
  'chunk_status',
19
19
  'command_argument_type',
20
+ 'consume_effect_type',
20
21
  'creative_mode_tab',
21
22
  'custom_stat',
22
23
  'data_component_type',
23
24
  'decorated_pot_pattern',
25
+ 'decorated_pot_patterns', // Removed
24
26
  'enchantment_effect_component_type',
25
27
  'enchantment_entity_effect_type',
26
28
  'enchantment_level_based_value_type',
@@ -55,12 +57,15 @@ export const RegistryCategories = Object.freeze([
55
57
  'pos_rule_test',
56
58
  'position_source_type',
57
59
  'potion',
60
+ 'recipe_book_category',
61
+ 'recipe_display',
58
62
  'recipe_serializer',
59
63
  'recipe_type',
60
64
  'rule_block_entity_modifier',
61
65
  'rule_test',
62
66
  'schedule',
63
67
  'sensor_type',
68
+ 'slot_display',
64
69
  'sound_event',
65
70
  'stat_type',
66
71
  'trigger_type',
@@ -143,8 +148,8 @@ export var TaggableResourceLocationCategory;
143
148
  TaggableResourceLocationCategory.is = is;
144
149
  })(TaggableResourceLocationCategory || (TaggableResourceLocationCategory = {}));
145
150
  export const TagFileCategories = Object.freeze(TaggableResourceLocationCategories.map((key) => `tag/${key}`));
146
- export const FileCategories = Object.freeze([...NormalFileCategories, ...TagFileCategories, ...WorldgenFileCategories]);
147
- export const MiscCategories = Object.freeze([
151
+ export const DataFileCategories = Object.freeze([...NormalFileCategories, ...TagFileCategories, ...WorldgenFileCategories]);
152
+ export const DataMiscCategories = Object.freeze([
148
153
  'attribute_modifier',
149
154
  'bossbar',
150
155
  'jigsaw_block_name',
@@ -157,14 +162,49 @@ export const DatapackCategories = Object.freeze([
157
162
  'score_holder',
158
163
  'tag',
159
164
  'team',
160
- ...FileCategories,
161
- ...MiscCategories,
165
+ ...DataFileCategories,
166
+ ...DataMiscCategories,
162
167
  ]);
163
168
  // #endregion
164
- export const AllCategories = Object.freeze([...DatapackCategories, ...McdocCategories, ...RegistryCategories]);
169
+ // #region Resource Pack Categories
170
+ export const AssetsFileCategories = Object.freeze([
171
+ 'atlas',
172
+ 'block_definition', // blockstates
173
+ 'equipment',
174
+ 'font',
175
+ 'font/ttf',
176
+ 'font/otf',
177
+ 'font/unihex',
178
+ 'item_definition', // items
179
+ 'lang',
180
+ 'model',
181
+ 'particle',
182
+ 'post_effect',
183
+ 'shader',
184
+ 'shader/fragment',
185
+ 'shader/vertex',
186
+ 'sound',
187
+ 'texture',
188
+ ]);
189
+ export const AssetsMiscCategories = Object.freeze([
190
+ 'shader_target',
191
+ ]);
192
+ export const ResourcepackCategories = Object.freeze([
193
+ ...AssetsMiscCategories,
194
+ ...AssetsFileCategories,
195
+ ]);
196
+ // #endregion
197
+ export const FileCategories = Object.freeze([...DataFileCategories, ...AssetsFileCategories]);
198
+ export const AllCategories = Object.freeze([
199
+ ...DatapackCategories,
200
+ ...ResourcepackCategories,
201
+ ...McdocCategories,
202
+ ...RegistryCategories,
203
+ ]);
165
204
  export const ResourceLocationCategories = Object.freeze([
166
205
  'mcdoc/dispatcher',
167
- ...MiscCategories,
206
+ ...DataMiscCategories,
207
+ ...AssetsMiscCategories,
168
208
  ...FileCategories,
169
209
  ...RegistryCategories,
170
210
  ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spyglassmc/core",
3
- "version": "0.4.13",
3
+ "version": "0.4.15",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -19,13 +19,12 @@
19
19
  "chokidar": "^3.5.2",
20
20
  "decompress": "^4.2.1",
21
21
  "follow-redirects": "^1.14.8",
22
- "globby": "^11.0.4",
23
22
  "ignore": "^5.3.1",
24
23
  "pako": "^2.0.4",
25
24
  "rfdc": "^1.3.0",
26
25
  "vscode-languageserver-textdocument": "^1.0.4",
27
26
  "whatwg-url": "^14.0.0",
28
- "@spyglassmc/locales": "0.3.8"
27
+ "@spyglassmc/locales": "0.3.9"
29
28
  },
30
29
  "devDependencies": {
31
30
  "@types/decompress": "^4.2.3",