@adeficior/data-modifier 1.0.0-rc.49 → 1.0.0-rc.51
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.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/loader/pack.d.ts +2 -1
- package/dist/loader/pack.js +13 -14
- package/dist/loader/pack.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type { TagRules } from "./emit/data/tags.js";
|
|
|
15
15
|
export type { ClearableEmitter as ClearableEmitter, RegistryProvider, } from "./emit/index.js";
|
|
16
16
|
export { default as RuledEmitter } from "./emit/ruled.js";
|
|
17
17
|
export { IllegalShapeError, UnknownRegistryEntry } from "./error.js";
|
|
18
|
+
export { JsonLoader } from "./loader/index.js";
|
|
18
19
|
export { default as PackLoader, type LoaderEmitOptions, type PackLoaderOptions, } from "./loader/pack.js";
|
|
19
20
|
export type { TagRegistry, TagRegistryHolder } from "./loader/tags.js";
|
|
20
21
|
export * from "./packFormat.js";
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { EMPTY_LOOT_MODIFIER, EMPTY_LOOT_TABLE, } from "./emit/data/loot.js";
|
|
|
7
7
|
export { EMPTY_RECIPE } from "./emit/data/recipe.js";
|
|
8
8
|
export { default as RuledEmitter } from "./emit/ruled.js";
|
|
9
9
|
export { IllegalShapeError, UnknownRegistryEntry } from "./error.js";
|
|
10
|
+
export { JsonLoader } from "./loader/index.js";
|
|
10
11
|
export { default as PackLoader, } from "./loader/pack.js";
|
|
11
12
|
export * from "./packFormat.js";
|
|
12
13
|
export { EmptyLootEntry } from "./schema/data/loot.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,GAKP,MAAM,gBAAgB,CAAC;AACxB,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,cAAc,0BAA0B,CAAC;AAYzC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EACL,OAAO,IAAI,UAAU,GAGtB,MAAM,kBAAkB,CAAC;AAE1B,cAAc,iBAAiB,CAAC;AAehC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,GAKP,MAAM,gBAAgB,CAAC;AACxB,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3D,cAAc,0BAA0B,CAAC;AAYzC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAOrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,OAAO,IAAI,UAAU,GAGtB,MAAM,kBAAkB,CAAC;AAE1B,cAAc,iBAAiB,CAAC;AAehC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/loader/pack.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export default class PackLoader implements Loader {
|
|
|
27
27
|
private readonly logger;
|
|
28
28
|
private readonly lookup;
|
|
29
29
|
private readonly emitters;
|
|
30
|
+
private readonly loaders;
|
|
30
31
|
readonly tags: TagRules;
|
|
31
32
|
readonly recipes: RecipeRules;
|
|
32
33
|
readonly loot: LootRules;
|
|
@@ -43,11 +44,11 @@ export default class PackLoader implements Loader {
|
|
|
43
44
|
readonly models: ModelRulesGroup;
|
|
44
45
|
private readonly results;
|
|
45
46
|
private readonly ingredients;
|
|
46
|
-
private readonly acceptor;
|
|
47
47
|
private readonly context;
|
|
48
48
|
private readonly packFormat;
|
|
49
49
|
readonly recipeGraph: RecipeGraphAccessor;
|
|
50
50
|
constructor(logger: Logger, options: PackLoaderOptions);
|
|
51
|
+
registerLoader<T extends Acceptor>(filePattern: string, loader: T): T;
|
|
51
52
|
registerEmitter<T extends ClearableEmitter>(emitter: T): T;
|
|
52
53
|
registerRegistry(key: string): void;
|
|
53
54
|
tagRegistry<T extends RegistryId>(key: T): import("./tags.js").TagRegistry<T>;
|
package/dist/loader/pack.js
CHANGED
|
@@ -26,6 +26,7 @@ export default class PackLoader {
|
|
|
26
26
|
logger;
|
|
27
27
|
lookup = new WrappedRegistryLookup();
|
|
28
28
|
emitters = [];
|
|
29
|
+
loaders = {};
|
|
29
30
|
tags;
|
|
30
31
|
recipes;
|
|
31
32
|
loot;
|
|
@@ -45,16 +46,15 @@ export default class PackLoader {
|
|
|
45
46
|
};
|
|
46
47
|
results;
|
|
47
48
|
ingredients;
|
|
48
|
-
acceptor;
|
|
49
49
|
context;
|
|
50
50
|
packFormat;
|
|
51
51
|
recipeGraph;
|
|
52
52
|
constructor(logger, options) {
|
|
53
53
|
this.logger = logger;
|
|
54
54
|
this.packFormat = options.packFormat;
|
|
55
|
-
this.tagLoader = new TagsLoader(options.packFormat);
|
|
56
|
-
this.lootLoader = new LootTableLoader();
|
|
57
|
-
this.langLoader = new LangLoader();
|
|
55
|
+
this.tagLoader = this.registerLoader("data/*/tags/**/*.json", new TagsLoader(options.packFormat));
|
|
56
|
+
this.lootLoader = this.registerLoader(`data/*/${lootTableFolder(this.packFormat)}/**/*.json`, new LootTableLoader());
|
|
57
|
+
this.langLoader = this.registerLoader("assets/*/lang/*.json", new LangLoader());
|
|
58
58
|
this.tags = this.registerEmitter(new TagEmitter(this.tagLoader, options));
|
|
59
59
|
this.results = createResultSerializer(options.packFormat, this.lookup);
|
|
60
60
|
this.ingredients = createIngredientSerializer(options.packFormat, this.lookup);
|
|
@@ -65,7 +65,7 @@ export default class PackLoader {
|
|
|
65
65
|
lookup: this.lookup,
|
|
66
66
|
packFormat: options.packFormat,
|
|
67
67
|
};
|
|
68
|
-
this._recipeLoader = new RecipeLoader(this.context);
|
|
68
|
+
this._recipeLoader = this.registerLoader(`data/*/${recipeFolder(this.packFormat)}/**/*.json`, new RecipeLoader(this.context));
|
|
69
69
|
this.recipes = this.registerEmitter(new RecipeEmitter(logger, this._recipeLoader, this.context, this._recipeLoader));
|
|
70
70
|
this.loot = this.registerEmitter(new LootTableEmitter(this.lootLoader, this.context));
|
|
71
71
|
this.lang = this.registerEmitter(new LangEmitter(this.langLoader));
|
|
@@ -73,16 +73,12 @@ export default class PackLoader {
|
|
|
73
73
|
this.blacklist = this.registerEmitter(new BlacklistEmitter(this.context, options));
|
|
74
74
|
this.itemDefinition = this.registerEmitter(new ItemDefinitionEmitter(this.models, this.blockstates, this.loot));
|
|
75
75
|
this.blockDefinition = this.registerEmitter(new BlockDefinitionEmitter(this.models.blocks, this.blockstates, this.loot));
|
|
76
|
-
this.acceptor = filterAcceptor(createMergingAcceptor(distributedAcceptor({
|
|
77
|
-
"data/*/tags/**/*.json": this.tagLoader,
|
|
78
|
-
[`data/*/${recipeFolder(options.packFormat)}/**/*.json`]: this._recipeLoader,
|
|
79
|
-
[`data/*/${lootTableFolder(options.packFormat)}/**/*.json`]: this.lootLoader,
|
|
80
|
-
"assets/*/lang/*.json": this.langLoader,
|
|
81
|
-
})), {
|
|
82
|
-
include: ["assets/**/*.json", "data/**/*.json"],
|
|
83
|
-
});
|
|
84
76
|
this.recipeGraph = this.registerEmitter(new RecipeGraphEmitter(this._recipeLoader, this.tagLoader));
|
|
85
77
|
}
|
|
78
|
+
registerLoader(filePattern, loader) {
|
|
79
|
+
this.loaders[filePattern] = loader;
|
|
80
|
+
return loader;
|
|
81
|
+
}
|
|
86
82
|
registerEmitter(emitter) {
|
|
87
83
|
this.emitters.push(emitter);
|
|
88
84
|
return emitter;
|
|
@@ -113,7 +109,10 @@ export default class PackLoader {
|
|
|
113
109
|
return this.loadFrom(combined);
|
|
114
110
|
}
|
|
115
111
|
async loadFrom(resolver) {
|
|
116
|
-
|
|
112
|
+
const acceptor = filterAcceptor(createMergingAcceptor(distributedAcceptor(this.loaders)), {
|
|
113
|
+
include: ["assets/**/*.json", "data/**/*.json"],
|
|
114
|
+
});
|
|
115
|
+
await resolver.extract(acceptor);
|
|
117
116
|
}
|
|
118
117
|
async loadRegistryDump(resolver) {
|
|
119
118
|
const registryDumpLoader = new RegistryDumpLoader();
|
package/dist/loader/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"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"}
|