@adeficior/data-modifier 1.0.0-rc.12 → 1.0.0-rc.14
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/common/id.d.ts +1 -0
- package/dist/common/id.js +4 -0
- package/dist/common/id.js.map +1 -1
- package/dist/common/ingredient/filter.d.ts +6 -0
- package/dist/common/ingredient/filter.js +97 -0
- package/dist/common/ingredient/filter.js.map +1 -0
- package/dist/common/ingredient/index.d.ts +74 -0
- package/dist/common/ingredient/index.js +112 -0
- package/dist/common/ingredient/index.js.map +1 -0
- package/dist/common/ingredient/input.d.ts +3 -0
- package/dist/common/ingredient/input.js +1 -0
- package/dist/common/ingredient/input.js.map +1 -0
- package/dist/common/ingredient/serializer.d.ts +17 -0
- package/dist/common/ingredient/serializer.js +112 -0
- package/dist/common/ingredient/serializer.js.map +1 -0
- package/dist/common/predicates.d.ts +2 -1
- package/dist/common/predicates.js.map +1 -1
- package/dist/common/result/filter.d.ts +6 -0
- package/dist/common/result/filter.js +68 -0
- package/dist/common/result/filter.js.map +1 -0
- package/dist/common/result/index.d.ts +41 -0
- package/dist/common/result/index.js +59 -0
- package/dist/common/result/index.js.map +1 -0
- package/dist/common/result/input.d.ts +3 -0
- package/dist/common/result/input.js +1 -0
- package/dist/common/result/input.js.map +1 -0
- package/dist/common/result/serializer.d.ts +15 -0
- package/dist/common/result/serializer.js +81 -0
- package/dist/common/result/serializer.js.map +1 -0
- package/dist/common/serializable.d.ts +6 -0
- package/dist/common/serializable.js +1 -0
- package/dist/common/serializable.js.map +1 -0
- package/dist/common/units.d.ts +1 -0
- package/dist/common/units.js +2 -0
- package/dist/common/units.js.map +1 -0
- package/dist/emit/blacklist.d.ts +4 -6
- package/dist/emit/blacklist.js +19 -21
- package/dist/emit/blacklist.js.map +1 -1
- package/dist/emit/data/loot.d.ts +6 -8
- package/dist/emit/data/loot.js +11 -13
- package/dist/emit/data/loot.js.map +1 -1
- package/dist/emit/data/recipe.d.ts +20 -18
- package/dist/emit/data/recipe.js +40 -29
- package/dist/emit/data/recipe.js.map +1 -1
- package/dist/emit/data/tags.d.ts +1 -1
- package/dist/emit/data/tags.js.map +1 -1
- package/dist/emit/polytoneTabs.d.ts +1 -1
- package/dist/emit/polytoneTabs.js +1 -2
- package/dist/emit/polytoneTabs.js.map +1 -1
- package/dist/emit/rule/lootTable.d.ts +2 -1
- package/dist/emit/rule/lootTable.js +4 -2
- package/dist/emit/rule/lootTable.js.map +1 -1
- package/dist/emit/rule/recipe.d.ts +7 -5
- package/dist/emit/rule/recipe.js.map +1 -1
- package/dist/emit/ruled.d.ts +2 -1
- package/dist/emit/ruled.js +5 -2
- package/dist/emit/ruled.js.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/loader/context.d.ts +12 -0
- package/dist/loader/context.js +1 -0
- package/dist/loader/context.js.map +1 -0
- package/dist/loader/pack.d.ts +13 -7
- package/dist/loader/pack.js +43 -25
- package/dist/loader/pack.js.map +1 -1
- package/dist/loader/recipe.d.ts +9 -5
- package/dist/loader/recipe.js +39 -48
- package/dist/loader/recipe.js.map +1 -1
- package/dist/loader/registry/dump.d.ts +0 -2
- package/dist/loader/registry/dump.js +0 -11
- package/dist/loader/registry/dump.js.map +1 -1
- package/dist/loader/registry/index.d.ts +0 -2
- package/dist/loader/registry/wrapped.d.ts +13 -0
- package/dist/loader/registry/wrapped.js +26 -0
- package/dist/loader/registry/wrapped.js.map +1 -0
- package/dist/loader/tags.d.ts +1 -1
- package/dist/loader/tags.js.map +1 -1
- package/dist/parser/adAstra.d.ts +5 -11
- package/dist/parser/adAstra.js +5 -5
- package/dist/parser/adAstra.js.map +1 -1
- package/dist/parser/botania.d.ts +10 -20
- package/dist/parser/botania.js +10 -10
- package/dist/parser/botania.js.map +1 -1
- package/dist/parser/create.d.ts +2 -4
- package/dist/parser/create.js +2 -2
- package/dist/parser/create.js.map +1 -1
- package/dist/parser/index.d.ts +7 -13
- package/dist/parser/index.js +7 -7
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/lootTable.d.ts +7 -6
- package/dist/parser/lootTable.js +25 -23
- package/dist/parser/lootTable.js.map +1 -1
- package/dist/parser/recipe/adAstra/conversion.d.ts +15 -14
- package/dist/parser/recipe/adAstra/conversion.js +27 -20
- package/dist/parser/recipe/adAstra/conversion.js.map +1 -1
- package/dist/parser/recipe/adAstra/hammering.d.ts +3 -17
- package/dist/parser/recipe/adAstra/hammering.js +2 -25
- package/dist/parser/recipe/adAstra/hammering.js.map +1 -1
- package/dist/parser/recipe/adAstra/inputOutput.d.ts +16 -19
- package/dist/parser/recipe/adAstra/inputOutput.js +37 -29
- package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
- package/dist/parser/recipe/adAstra/nasaWorkbench.d.ts +3 -19
- package/dist/parser/recipe/adAstra/nasaWorkbench.js +2 -28
- package/dist/parser/recipe/adAstra/nasaWorkbench.js.map +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.d.ts +15 -14
- package/dist/parser/recipe/adAstra/spaceStation.js +33 -14
- package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
- package/dist/parser/recipe/botania/apothecary.d.ts +17 -14
- package/dist/parser/recipe/botania/apothecary.js +26 -17
- package/dist/parser/recipe/botania/apothecary.js.map +1 -1
- package/dist/parser/recipe/botania/blocks.d.ts +21 -0
- package/dist/parser/recipe/botania/blocks.js +77 -0
- package/dist/parser/recipe/botania/blocks.js.map +1 -0
- package/dist/parser/recipe/botania/brew.d.ts +13 -12
- package/dist/parser/recipe/botania/brew.js +16 -11
- package/dist/parser/recipe/botania/brew.js.map +1 -1
- package/dist/parser/recipe/botania/elvenTrade.d.ts +8 -13
- package/dist/parser/recipe/botania/elvenTrade.js +11 -22
- package/dist/parser/recipe/botania/elvenTrade.js.map +1 -1
- package/dist/parser/recipe/botania/gogWrapper.d.ts +12 -12
- package/dist/parser/recipe/botania/gogWrapper.js +14 -15
- package/dist/parser/recipe/botania/gogWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/manaInfusion.d.ts +18 -15
- package/dist/parser/recipe/botania/manaInfusion.js +29 -21
- package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
- package/dist/parser/recipe/botania/nbtWrapper.d.ts +12 -12
- package/dist/parser/recipe/botania/nbtWrapper.js +12 -13
- package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/orechid.d.ts +3 -30
- package/dist/parser/recipe/botania/orechid.js +2 -72
- package/dist/parser/recipe/botania/orechid.js.map +1 -1
- package/dist/parser/recipe/botania/pureDaisy.d.ts +3 -18
- package/dist/parser/recipe/botania/pureDaisy.js +2 -28
- package/dist/parser/recipe/botania/pureDaisy.js.map +1 -1
- package/dist/parser/recipe/botania/runicAltar.d.ts +8 -13
- package/dist/parser/recipe/botania/runicAltar.js +11 -22
- package/dist/parser/recipe/botania/runicAltar.js.map +1 -1
- package/dist/parser/recipe/botania/terraPlate.d.ts +4 -16
- package/dist/parser/recipe/botania/terraPlate.js +2 -25
- package/dist/parser/recipe/botania/terraPlate.js.map +1 -1
- package/dist/parser/recipe/create/assembly.d.ts +18 -17
- package/dist/parser/recipe/create/assembly.js +28 -28
- package/dist/parser/recipe/create/assembly.js.map +1 -1
- package/dist/parser/recipe/create/processing.d.ts +4 -16
- package/dist/parser/recipe/create/processing.js +2 -25
- package/dist/parser/recipe/create/processing.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cooking.d.ts +16 -12
- package/dist/parser/recipe/farmersdelight/cooking.js +27 -15
- package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cutting.d.ts +14 -15
- package/dist/parser/recipe/farmersdelight/cutting.js +32 -29
- package/dist/parser/recipe/farmersdelight/cutting.js.map +1 -1
- package/dist/parser/recipe/forge/conditional.d.ts +11 -11
- package/dist/parser/recipe/forge/conditional.js +17 -21
- package/dist/parser/recipe/forge/conditional.js.map +1 -1
- package/dist/parser/recipe/index.d.ts +36 -13
- package/dist/parser/recipe/index.js +38 -5
- package/dist/parser/recipe/index.js.map +1 -1
- package/dist/parser/recipe/ingredientMap.d.ts +12 -0
- package/dist/parser/recipe/ingredientMap.js +17 -0
- package/dist/parser/recipe/ingredientMap.js.map +1 -0
- package/dist/parser/recipe/manyToMany.d.ts +20 -0
- package/dist/parser/recipe/manyToMany.js +33 -0
- package/dist/parser/recipe/manyToMany.js.map +1 -0
- package/dist/parser/recipe/manyToOne.d.ts +20 -0
- package/dist/parser/recipe/manyToOne.js +33 -0
- package/dist/parser/recipe/manyToOne.js.map +1 -0
- package/dist/parser/recipe/oneToOne.d.ts +20 -0
- package/dist/parser/recipe/oneToOne.js +33 -0
- package/dist/parser/recipe/oneToOne.js.map +1 -0
- package/dist/parser/recipe/roots/component.d.ts +13 -12
- package/dist/parser/recipe/roots/component.js +16 -11
- package/dist/parser/recipe/roots/component.js.map +1 -1
- package/dist/parser/recipe/roots/ritual.d.ts +14 -16
- package/dist/parser/recipe/roots/ritual.js +18 -25
- package/dist/parser/recipe/roots/ritual.js.map +1 -1
- package/dist/parser/recipe/sullys/polishing.d.ts +4 -16
- package/dist/parser/recipe/sullys/polishing.js +2 -25
- package/dist/parser/recipe/sullys/polishing.js.map +1 -1
- package/dist/parser/recipe/thermal/catalyst.d.ts +13 -12
- package/dist/parser/recipe/thermal/catalyst.js +16 -11
- package/dist/parser/recipe/thermal/catalyst.js.map +1 -1
- package/dist/parser/recipe/thermal/fuel.d.ts +13 -12
- package/dist/parser/recipe/thermal/fuel.js +17 -11
- package/dist/parser/recipe/thermal/fuel.js.map +1 -1
- package/dist/parser/recipe/thermal/index.d.ts +16 -14
- package/dist/parser/recipe/thermal/index.js +35 -24
- package/dist/parser/recipe/thermal/index.js.map +1 -1
- package/dist/parser/recipe/thermal/ingredient.d.ts +4 -21
- package/dist/parser/recipe/thermal/ingredient.js +40 -33
- package/dist/parser/recipe/thermal/ingredient.js.map +1 -1
- package/dist/parser/recipe/thermal/treeExtraction.d.ts +17 -17
- package/dist/parser/recipe/thermal/treeExtraction.js +30 -31
- package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
- package/dist/parser/recipe/vanilla/shaped.d.ts +17 -13
- package/dist/parser/recipe/vanilla/shaped.js +21 -16
- package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
- package/dist/parser/recipe/vanilla/shapeless.d.ts +3 -17
- package/dist/parser/recipe/vanilla/shapeless.js +2 -25
- package/dist/parser/recipe/vanilla/shapeless.js.map +1 -1
- package/dist/parser/recipe/vanilla/smelting.d.ts +16 -13
- package/dist/parser/recipe/vanilla/smelting.js +21 -15
- package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
- package/dist/parser/recipe/vanilla/smithing.d.ts +18 -14
- package/dist/parser/recipe/vanilla/smithing.js +25 -16
- package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
- package/dist/parser/recipe/vanilla/stonecutting.d.ts +15 -13
- package/dist/parser/recipe/vanilla/stonecutting.js +22 -24
- package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
- package/dist/parser/roots.d.ts +2 -4
- package/dist/parser/roots.js +2 -2
- package/dist/parser/roots.js.map +1 -1
- package/dist/parser/thermal.d.ts +4 -10
- package/dist/parser/thermal.js +4 -5
- package/dist/parser/thermal.js.map +1 -1
- package/dist/schema/data/recipe.d.ts +2 -1
- package/package.json +2 -1
- package/dist/common/ingredient.d.ts +0 -49
- package/dist/common/ingredient.js +0 -108
- package/dist/common/ingredient.js.map +0 -1
- package/dist/common/result.d.ts +0 -48
- package/dist/common/result.js +0 -37
- package/dist/common/result.js.map +0 -1
- package/dist/parser/recipe/adAstra/index.d.ts +0 -5
- package/dist/parser/recipe/adAstra/index.js +0 -1
- package/dist/parser/recipe/adAstra/index.js.map +0 -1
- package/dist/parser/recipe/ignored.d.ts +0 -10
- package/dist/parser/recipe/ignored.js +0 -16
- package/dist/parser/recipe/ignored.js.map +0 -1
- package/dist/parser/recipe/quark/exclusion.d.ts +0 -20
- package/dist/parser/recipe/quark/exclusion.js +0 -32
- package/dist/parser/recipe/quark/exclusion.js.map +0 -1
package/dist/emit/data/recipe.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { exists } from "@adeficior/pack-resolver";
|
|
2
2
|
import { encodeId } from "../../common/id.js";
|
|
3
|
-
import
|
|
4
|
-
import { resolveIDTest } from "../../common/predicates.js";
|
|
5
|
-
import
|
|
3
|
+
import resolveIngredientTest from "../../common/ingredient/filter.js";
|
|
4
|
+
import { resolveIDTest, } from "../../common/predicates.js";
|
|
5
|
+
import resolveResultTest from "../../common/result/filter.js";
|
|
6
6
|
import { isAtLeastVersion } from "../../packFormat.js";
|
|
7
|
-
import { createReplacer,
|
|
7
|
+
import { createReplacer, RecipeHolder, } from "../../parser/recipe/index.js";
|
|
8
8
|
import CustomEmitter from "../custom.js";
|
|
9
9
|
import RecipeRule from "../rule/recipe.js";
|
|
10
10
|
import RuledEmitter from "../ruled.js";
|
|
@@ -28,21 +28,19 @@ export const EMPTY_RECIPE = {
|
|
|
28
28
|
export default class RecipeEmitter {
|
|
29
29
|
logger;
|
|
30
30
|
registry;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
packFormat;
|
|
31
|
+
context;
|
|
32
|
+
serializer;
|
|
34
33
|
custom = new CustomEmitter((it) => this.recipePath(it));
|
|
35
34
|
ruled;
|
|
36
|
-
constructor(logger, registry,
|
|
35
|
+
constructor(logger, registry, context, serializer) {
|
|
37
36
|
this.logger = logger;
|
|
38
37
|
this.registry = registry;
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.ruled = new RuledEmitter(this.logger, this.registry, (id) => this.recipePath(id), EMPTY_RECIPE, (id) => this.custom.has(id));
|
|
38
|
+
this.context = context;
|
|
39
|
+
this.serializer = serializer;
|
|
40
|
+
this.ruled = new RuledEmitter(this.logger, this.registry, (id) => this.recipePath(id), EMPTY_RECIPE, (it) => this.serializer.serialize(it), (id) => this.custom.has(id));
|
|
43
41
|
}
|
|
44
42
|
recipePath(id) {
|
|
45
|
-
const folder = isAtLeastVersion(this.packFormat, "44")
|
|
43
|
+
const folder = isAtLeastVersion(this.context.packFormat, "44")
|
|
46
44
|
? "recipe"
|
|
47
45
|
: "recipes";
|
|
48
46
|
return `data/${id.namespace}/${folder}/${id.path}.json`;
|
|
@@ -53,7 +51,12 @@ export default class RecipeEmitter {
|
|
|
53
51
|
resolveIngredientTest(test) {
|
|
54
52
|
if (!test)
|
|
55
53
|
return () => true;
|
|
56
|
-
return resolveIngredientTest(test, this.
|
|
54
|
+
return resolveIngredientTest(test, this.context);
|
|
55
|
+
}
|
|
56
|
+
resolveResultTest(test) {
|
|
57
|
+
if (!test)
|
|
58
|
+
return () => true;
|
|
59
|
+
return resolveResultTest(test, this.context);
|
|
57
60
|
}
|
|
58
61
|
resolveRecipeTest(test) {
|
|
59
62
|
const id = [];
|
|
@@ -67,18 +70,26 @@ export default class RecipeEmitter {
|
|
|
67
70
|
if (test.namespace)
|
|
68
71
|
id.push((id) => id.namespace === test.namespace);
|
|
69
72
|
if (test.output)
|
|
70
|
-
result.push(this.
|
|
73
|
+
result.push(this.resolveResultTest(test.output));
|
|
71
74
|
if (test.input)
|
|
72
75
|
ingredient.push(this.resolveIngredientTest(test.input));
|
|
73
76
|
return { id, type, ingredient, result };
|
|
74
77
|
}
|
|
75
|
-
add(id,
|
|
76
|
-
if (
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
add(id, arg, arg2) {
|
|
79
|
+
if (typeof arg === "string") {
|
|
80
|
+
const type = arg;
|
|
81
|
+
const recipe = arg2;
|
|
82
|
+
this.add(id, new RecipeHolder({ type }, recipe));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
const value = arg;
|
|
86
|
+
if (this.custom.has(id))
|
|
87
|
+
this.logger.error(`Overwriting custom recipe with ID ${encodeId(id)}`);
|
|
88
|
+
if (value instanceof RecipeHolder)
|
|
89
|
+
this.custom.add(id, this.serializer.serialize(value));
|
|
90
|
+
else
|
|
91
|
+
this.custom.add(id, value);
|
|
92
|
+
}
|
|
82
93
|
}
|
|
83
94
|
addRule(shape, modifier, recipeTest = {}, ingredientTests = {}) {
|
|
84
95
|
const recipePredicates = this.resolveRecipeTest(recipeTest ?? {});
|
|
@@ -87,18 +98,18 @@ export default class RecipeEmitter {
|
|
|
87
98
|
remove(test) {
|
|
88
99
|
this.addRule([test], () => null, test);
|
|
89
100
|
}
|
|
90
|
-
replaceResult(test,
|
|
91
|
-
const predicate = this.
|
|
92
|
-
|
|
101
|
+
replaceResult(test, input, additionalTest) {
|
|
102
|
+
const predicate = this.resolveResultTest(test);
|
|
103
|
+
const value = this.context.results.create(input);
|
|
93
104
|
const replacer = createReplacer(predicate, value);
|
|
94
|
-
const replace = (it) =>
|
|
105
|
+
const replace = (it) => this.context.results.create(replacer(it));
|
|
95
106
|
this.addRule(["replace result", test, "with", value, additionalTest], (recipe) => recipe.replaceResult(replace), additionalTest, { result: predicate });
|
|
96
107
|
}
|
|
97
|
-
replaceIngredient(test,
|
|
108
|
+
replaceIngredient(test, input, additionalTest) {
|
|
98
109
|
const predicate = this.resolveIngredientTest(test);
|
|
99
|
-
|
|
110
|
+
const value = this.context.ingredients.create(input);
|
|
100
111
|
const replacer = createReplacer(predicate, value);
|
|
101
|
-
const replace = (it) =>
|
|
112
|
+
const replace = (it) => this.context.ingredients.create(replacer(it));
|
|
102
113
|
this.addRule(["replace ingredient", test, "with", value, additionalTest], (recipe) => recipe.replaceIngredient(replace), additionalTest, { ingredient: predicate });
|
|
103
114
|
}
|
|
104
115
|
clear() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/data/tags.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
3
3
|
import type { NormalizedId, TagInput } from "../../common/id.js";
|
|
4
|
-
import type
|
|
4
|
+
import { type CommonTest } from "../../common/predicates.js";
|
|
5
5
|
import type TagsLoader from "../../loader/tags.js";
|
|
6
6
|
import type { TagEntry } from "../../schema/data/tag.js";
|
|
7
7
|
import type { ClearableEmitter } from "../index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/emit/data/tags.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/emit/data/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export default class PolytoneTabsEmitter implements PolytoneTabs, ClearableEmitt
|
|
|
53
53
|
private readonly lookup;
|
|
54
54
|
private readonly entries;
|
|
55
55
|
private readonly tabs;
|
|
56
|
-
constructor(lookup:
|
|
56
|
+
constructor(lookup: RegistryLookup);
|
|
57
57
|
clear(): void;
|
|
58
58
|
emit(acceptor: Acceptor): Promise<void>;
|
|
59
59
|
remove(tab: IdInput<CreativeModeTabId> | IdInput<CreativeModeTabId>[], items: IdInput<ItemId>[], options?: TabOptions): void;
|
|
@@ -72,13 +72,12 @@ export default class PolytoneTabsEmitter {
|
|
|
72
72
|
}, options);
|
|
73
73
|
}
|
|
74
74
|
create(id, modifications = {}) {
|
|
75
|
-
const lookup = this.lookup();
|
|
76
75
|
const { namespace, path } = createId(id);
|
|
77
76
|
this.tabs.merge({ namespace, path: "tab" }, [path], (a, b) => uniq([...a, ...b]));
|
|
78
77
|
if (Object.keys(modifications).length) {
|
|
79
78
|
this.modify(id, modifications);
|
|
80
79
|
}
|
|
81
|
-
return lookup.addCustom("minecraft:creative_mode_tab", id);
|
|
80
|
+
return this.lookup.addCustom("minecraft:creative_mode_tab", id);
|
|
82
81
|
}
|
|
83
82
|
modify(id, modifications) {
|
|
84
83
|
this.entries.merge(id, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polytoneTabs.js","sourceRoot":"","sources":["../../src/emit/polytoneTabs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,aAAa,MAAM,aAAa,CAAC;AAmExC,SAAS,sBAAsB,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,GAAG,aAAa,EACC;IACjB,OAAO;QACL,GAAG,aAAa;QAChB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,CAAsB,EACtB,CAAsB;IAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO;QACL,GAAG,CAAC;QACJ,GAAG,CAAC;QACJ,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE;IAChD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAaT;IAVZ,OAAO,GAAG,IAAI,aAAa,CAC1C,CAAC,EAAE,EAAE,EAAE,CACL,UAAU,EAAE,CAAC,SAAS,oCAAoC,EAAE,CAAC,IAAI,OAAO,CAC3E,CAAC;IAEe,IAAI,GAAG,IAAI,aAAa,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,6BAA6B,EAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACrB,CAAC;IAEF,YAA6B,
|
|
1
|
+
{"version":3,"file":"polytoneTabs.js","sourceRoot":"","sources":["../../src/emit/polytoneTabs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,aAAa,MAAM,aAAa,CAAC;AAmExC,SAAS,sBAAsB,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,GAAG,aAAa,EACC;IACjB,OAAO;QACL,GAAG,aAAa;QAChB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,CAAsB,EACtB,CAAsB;IAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO;QACL,GAAG,CAAC;QACJ,GAAG,CAAC;QACJ,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE;IAChD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAaT;IAVZ,OAAO,GAAG,IAAI,aAAa,CAC1C,CAAC,EAAE,EAAE,EAAE,CACL,UAAU,EAAE,CAAC,SAAS,oCAAoC,EAAE,CAAC,IAAI,OAAO,CAC3E,CAAC;IAEe,IAAI,GAAG,IAAI,aAAa,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,6BAA6B,EAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACrB,CAAC;IAEF,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAkB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CACJ,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;SAChE,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,GAAG,CACD,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,SAAS,EAAE;gBACT,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE;aAC7D;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,gBAAkC,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3D,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,aAA+B;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,EACF;YACE,GAAG,sBAAsB,CAAC,aAAa,CAAC;YACxC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACxB,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,GAA8D,EAC9D,QAA8C,EAC9C,OAAmB;QAEnB,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;YACpC,MAAM,KAAK,GAAwB;gBACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3B,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,GAAG,QAAQ;aACZ,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Logger } from "@adeficior/pack-resolver";
|
|
2
2
|
import type { Id } from "../../common/id.js";
|
|
3
|
-
import type { IngredientInput
|
|
3
|
+
import type { IngredientInput } from "../../common/ingredient/input.js";
|
|
4
|
+
import type { Predicate } from "../../common/predicates.js";
|
|
4
5
|
import type { LootTable } from "../../schema/data/loot.js";
|
|
5
6
|
import type { Modifier } from "./index.js";
|
|
6
7
|
import Rule from "./index.js";
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { exists } from "@adeficior/pack-resolver";
|
|
2
|
+
import { ItemIngredient, ItemTagIngredient, } from "../../common/ingredient/index.js";
|
|
2
3
|
import { extendLootEntry } from "../../schema/data/loot.js";
|
|
3
4
|
import Rule from "./index.js";
|
|
5
|
+
// TODO add function Predicate<Ingredient> -> Predicate<LootEntry>
|
|
4
6
|
function entryMatches(logger, test, base) {
|
|
5
7
|
try {
|
|
6
8
|
const entry = extendLootEntry(base);
|
|
@@ -8,9 +10,9 @@ function entryMatches(logger, test, base) {
|
|
|
8
10
|
case "minecraft:alternatives":
|
|
9
11
|
return entry.children.some((it) => entryMatches(logger, test, it));
|
|
10
12
|
case "minecraft:item":
|
|
11
|
-
return test(
|
|
13
|
+
return test(new ItemIngredient(entry.name), logger);
|
|
12
14
|
case "minecraft:tag":
|
|
13
|
-
return test(
|
|
15
|
+
return test(new ItemTagIngredient(entry.name), logger);
|
|
14
16
|
default:
|
|
15
17
|
return false;
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lootTable.js","sourceRoot":"","sources":["../../../src/emit/rule/lootTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"lootTable.js","sourceRoot":"","sources":["../../../src/emit/rule/lootTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EACL,cAAc,EACd,iBAAiB,GAElB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,kEAAkE;AAElE,SAAS,YAAY,CACnB,MAAc,EACd,IAA2B,EAC3B,IAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,wBAAwB;gBAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACtD,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACzD;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,MAAc,EACd,IAAgC,EAChC,KAAgB;IAEhB,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,OAAO,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,IAAe;IAErC;IACA;IACA;IAHnB,YACmB,KAAgB,EAChB,OAAwB,EACxB,WAAyC,EAC1D,QAA6B;QAE7B,KAAK,CAAC,QAAQ,CAAC,CAAC;QALC,UAAK,GAAL,KAAK,CAAW;QAChB,YAAO,GAAP,OAAO,CAAiB;QACxB,gBAAW,GAAX,WAAW,CAA8B;IAI5D,CAAC;IAED,OAAO,CAAC,EAAM,EAAE,KAAgB,EAAE,MAAc;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC;QACxB,OAAO,CACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,CAAC,KAAK,CACV,wCAAwC,EACxC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import type { Logger } from "@adeficior/pack-resolver";
|
|
2
2
|
import type { Id } from "../../common/id.js";
|
|
3
|
-
import type { IngredientInput
|
|
4
|
-
import type {
|
|
3
|
+
import type { IngredientInput } from "../../common/ingredient/input.js";
|
|
4
|
+
import type { Predicate } from "../../common/predicates.js";
|
|
5
|
+
import type { ResultInput } from "../../common/result/input.js";
|
|
6
|
+
import type { RecipeHolder } from "../../parser/recipe/index.js";
|
|
5
7
|
import type { Modifier } from "./index.js";
|
|
6
8
|
import Rule from "./index.js";
|
|
7
|
-
export default class RecipeRule extends Rule<
|
|
9
|
+
export default class RecipeRule extends Rule<RecipeHolder> {
|
|
8
10
|
private readonly shape;
|
|
9
11
|
private readonly idsTests;
|
|
10
12
|
private readonly typeTests;
|
|
11
13
|
private readonly ingredientTests;
|
|
12
14
|
private readonly resultTests;
|
|
13
|
-
constructor(shape: unknown[], idsTests: Predicate<Id>[], typeTests: Predicate<Id>[], ingredientTests: Predicate<IngredientInput>[], resultTests: Predicate<
|
|
14
|
-
matches(id: Id, recipe:
|
|
15
|
+
constructor(shape: unknown[], idsTests: Predicate<Id>[], typeTests: Predicate<Id>[], ingredientTests: Predicate<IngredientInput>[], resultTests: Predicate<ResultInput>[], modifier: Modifier<RecipeHolder>);
|
|
16
|
+
matches(id: Id, recipe: RecipeHolder, logger: Logger): boolean;
|
|
15
17
|
printWarning(logger: Logger): void;
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/rule/recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/rule/recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,IAAkB;IAErC;IACA;IACA;IACA;IACA;IALnB,YACmB,KAAgB,EAChB,QAAyB,EACzB,SAA0B,EAC1B,eAA6C,EAC7C,WAAqC,EACtD,QAAgC;QAEhC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAPC,UAAK,GAAL,KAAK,CAAW;QAChB,aAAQ,GAAR,QAAQ,CAAiB;QACzB,cAAS,GAAT,SAAS,CAAiB;QAC1B,oBAAe,GAAf,eAAe,CAA8B;QAC7C,gBAAW,GAAX,WAAW,CAA0B;IAIxD,CAAC;IAED,OAAO,CAAC,EAAM,EAAE,MAAoB,EAAE,MAAc;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAClC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACvD;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACnD,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,CAAC,KAAK,CACV,qCAAqC,EACrC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAC7B,CAAC;IACJ,CAAC;CACF"}
|
package/dist/emit/ruled.d.ts
CHANGED
|
@@ -7,8 +7,9 @@ export default class RuledEmitter<TEntry, TRule extends Rule<TEntry>> {
|
|
|
7
7
|
private readonly provider;
|
|
8
8
|
private readonly pathProvider;
|
|
9
9
|
private readonly emptyValue;
|
|
10
|
+
private readonly serialize;
|
|
10
11
|
private readonly shouldSkip;
|
|
11
|
-
constructor(logger: Logger, provider: RegistryProvider<TEntry>, pathProvider: PathProvider, emptyValue: unknown, shouldSkip?: (id: Id) => boolean);
|
|
12
|
+
constructor(logger: Logger, provider: RegistryProvider<TEntry>, pathProvider: PathProvider, emptyValue: unknown, serialize: (entry: TEntry) => unknown, shouldSkip?: (id: Id) => boolean);
|
|
12
13
|
private rulesArray;
|
|
13
14
|
private requiredRules;
|
|
14
15
|
protected get rules(): ReadonlyArray<TRule>;
|
package/dist/emit/ruled.js
CHANGED
|
@@ -4,12 +4,14 @@ export default class RuledEmitter {
|
|
|
4
4
|
provider;
|
|
5
5
|
pathProvider;
|
|
6
6
|
emptyValue;
|
|
7
|
+
serialize;
|
|
7
8
|
shouldSkip;
|
|
8
|
-
constructor(logger, provider, pathProvider, emptyValue, shouldSkip = () => true) {
|
|
9
|
+
constructor(logger, provider, pathProvider, emptyValue, serialize, shouldSkip = () => true) {
|
|
9
10
|
this.logger = logger;
|
|
10
11
|
this.provider = provider;
|
|
11
12
|
this.pathProvider = pathProvider;
|
|
12
13
|
this.emptyValue = emptyValue;
|
|
14
|
+
this.serialize = serialize;
|
|
13
15
|
this.shouldSkip = shouldSkip;
|
|
14
16
|
}
|
|
15
17
|
rulesArray = [];
|
|
@@ -37,7 +39,8 @@ export default class RuledEmitter {
|
|
|
37
39
|
return;
|
|
38
40
|
rules.forEach((it) => missingRules.delete(it));
|
|
39
41
|
const modified = rules.reduce((previous, rule) => previous && rule.modify(previous), recipe);
|
|
40
|
-
|
|
42
|
+
const serialized = modified ? this.serialize(modified) : this.emptyValue;
|
|
43
|
+
acceptor(path, await toJson(serialized));
|
|
41
44
|
});
|
|
42
45
|
missingRules.forEach((rule) => {
|
|
43
46
|
rule.printWarning(this.logger);
|
package/dist/emit/ruled.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruled.js","sourceRoot":"","sources":["../../src/emit/ruled.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAEZ;IACA;IACA;IACA;IACA;
|
|
1
|
+
{"version":3,"file":"ruled.js","sourceRoot":"","sources":["../../src/emit/ruled.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAEZ;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,MAAc,EACd,QAAkC,EAClC,YAA0B,EAC1B,UAAmB,EACnB,SAAqC,EACrC,aAAkC,GAAG,EAAE,CAAC,IAAI;QAL5C,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAA0B;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAS;QACnB,cAAS,GAAT,SAAS,CAA4B;QACrC,eAAU,GAAV,UAAU,CAAkC;IAC5D,CAAC;IAEI,UAAU,GAAY,EAAE,CAAC;IACzB,aAAa,GAAG,IAAI,GAAG,EAAS,CAAC;IAEzC,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,IAAW,EAAE,WAAoB,IAAI;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,QAAQ;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAkB;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAQ,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAAE,OAAO;YAEhC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACrC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAChD,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/B,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EACrD,MAAM,CACP,CAAC;YAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAEzE,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export { createId, encodeId, prefix, suffix, type Id, type IdInput, type NormalizedId, type TagInput, } from "./common/id.js";
|
|
2
|
-
export { createIngredient } from "./common/ingredient.js";
|
|
3
|
-
export type { BlockIngredient, BlockTag, CommonTest, FluidIngredient, FluidTag, Ingredient, IngredientInput, IngredientTest, ItemIngredient, ItemTag, Predicate, } from "./common/ingredient.js";
|
|
4
2
|
export { default as Registry } from "./common/registry.js";
|
|
5
|
-
export { createResult } from "./common/result.js";
|
|
6
|
-
export type { Block, FluidStack, ItemStack, Result, ResultInput, } from "./common/result.js";
|
|
7
3
|
export type { BlockstateRules } from "./emit/assets/blockstates.js";
|
|
8
4
|
export type { ModelRules, ModelRulesGroup } from "./emit/assets/models.js";
|
|
9
5
|
export type { BlockDefinitionOptions, BlockDefinitionRules, } from "./emit/content/blockDefinition.js";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export { createId, encodeId, prefix, suffix, } from "./common/id.js";
|
|
2
|
-
export { createIngredient } from "./common/ingredient.js";
|
|
3
2
|
export { default as Registry } from "./common/registry.js";
|
|
4
|
-
export { createResult } from "./common/result.js";
|
|
5
3
|
export { default as CustomEmitter } from "./emit/custom.js";
|
|
6
4
|
export { EMPTY_LOOT_MODIFIER, EMPTY_LOOT_TABLE, } from "./emit/data/loot.js";
|
|
7
5
|
export { EMPTY_RECIPE } from "./emit/data/recipe.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,OAAO,EAAE,
|
|
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,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAY3D,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;AAIrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzD,cAAc,iBAAiB,CAAC;AAehC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type IngredientSerializer from "../common/ingredient/serializer";
|
|
2
|
+
import type ResultSerializer from "../common/result/serializer";
|
|
3
|
+
import type { SemVerInput } from "../packFormat";
|
|
4
|
+
import type RegistryLookup from "./registry";
|
|
5
|
+
import type { TagRegistryHolder } from "./tags";
|
|
6
|
+
export type PackContext = {
|
|
7
|
+
packFormat: SemVerInput;
|
|
8
|
+
results: ResultSerializer;
|
|
9
|
+
ingredients: IngredientSerializer;
|
|
10
|
+
lookup: RegistryLookup;
|
|
11
|
+
tags: TagRegistryHolder;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/loader/context.ts"],"names":[],"mappings":""}
|
package/dist/loader/pack.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, IResolver, Logger, ResolverInfo } from "@adeficior/pack-resolver";
|
|
3
|
-
import
|
|
4
|
-
import type {
|
|
3
|
+
import { type IngredientTest } from "../common/ingredient/filter.js";
|
|
4
|
+
import type { Ingredient } from "../common/ingredient/index.js";
|
|
5
|
+
import type { IngredientInput } from "../common/ingredient/input.js";
|
|
6
|
+
import type { Result } from "../common/result/index.js";
|
|
7
|
+
import type { ResultInput } from "../common/result/input.js";
|
|
5
8
|
import type { BlockstateRules } from "../emit/assets/blockstates.js";
|
|
6
9
|
import type { LangRules } from "../emit/assets/lang.js";
|
|
7
10
|
import type { ModelRulesGroup } from "../emit/assets/models.js";
|
|
@@ -22,7 +25,7 @@ export interface PackLoaderOptions extends TagEmitterOptions, BlacklistOptions {
|
|
|
22
25
|
}
|
|
23
26
|
export default class PackLoader implements Loader, ClearableEmitter {
|
|
24
27
|
readonly logger: Logger;
|
|
25
|
-
private
|
|
28
|
+
private readonly lookup;
|
|
26
29
|
private readonly emitters;
|
|
27
30
|
readonly tags: TagRules;
|
|
28
31
|
readonly recipes: RecipeRules;
|
|
@@ -38,6 +41,10 @@ export default class PackLoader implements Loader, ClearableEmitter {
|
|
|
38
41
|
private readonly langLoader;
|
|
39
42
|
readonly blockstates: BlockstateRules;
|
|
40
43
|
readonly models: ModelRulesGroup;
|
|
44
|
+
private readonly results;
|
|
45
|
+
private readonly ingredients;
|
|
46
|
+
private readonly acceptors;
|
|
47
|
+
private readonly context;
|
|
41
48
|
constructor(logger: Logger, options: PackLoaderOptions);
|
|
42
49
|
registerEmitter<T extends ClearableEmitter>(emitter: T): T;
|
|
43
50
|
registerRegistry(key: string): void;
|
|
@@ -48,10 +55,9 @@ export default class PackLoader implements Loader, ClearableEmitter {
|
|
|
48
55
|
}>;
|
|
49
56
|
get recipeLoader(): RecipeLoaderAccessor;
|
|
50
57
|
get registries(): RegistryLookup;
|
|
51
|
-
createResult(input: ResultInput):
|
|
52
|
-
createIngredient(input: IngredientInput):
|
|
53
|
-
resolveIngredientTest(test: IngredientTest): import("../
|
|
54
|
-
private acceptors;
|
|
58
|
+
createResult(input: ResultInput): Result;
|
|
59
|
+
createIngredient(input: IngredientInput): Ingredient;
|
|
60
|
+
resolveIngredientTest(test: IngredientTest): import("../common/predicates.js").Predicate<IngredientInput>;
|
|
55
61
|
private loadInternal;
|
|
56
62
|
loadFromMultiple(resolvers: ResolverInfo[]): Promise<void>;
|
|
57
63
|
loadFrom(resolver: IResolver): Promise<void>;
|
package/dist/loader/pack.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import match from "minimatch";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import resolveIngredientTest, {} from "../common/ingredient/filter.js";
|
|
3
|
+
import IngredientSerializer from "../common/ingredient/serializer.js";
|
|
4
|
+
import ResultSerializer from "../common/result/serializer.js";
|
|
4
5
|
import BlockstateEmitter from "../emit/assets/blockstates.js";
|
|
5
6
|
import LangEmitter from "../emit/assets/lang.js";
|
|
6
7
|
import ModelEmitter from "../emit/assets/models.js";
|
|
@@ -15,11 +16,11 @@ import LangLoader from "./lang.js";
|
|
|
15
16
|
import LootTableLoader from "./loot.js";
|
|
16
17
|
import RecipeLoader from "./recipe.js";
|
|
17
18
|
import RegistryDumpLoader from "./registry/dump.js";
|
|
18
|
-
import
|
|
19
|
+
import WrappedRegistryLookup from "./registry/wrapped.js";
|
|
19
20
|
import TagsLoader from "./tags.js";
|
|
20
21
|
export default class PackLoader {
|
|
21
22
|
logger;
|
|
22
|
-
|
|
23
|
+
lookup = new WrappedRegistryLookup();
|
|
23
24
|
emitters = [];
|
|
24
25
|
tags;
|
|
25
26
|
recipes;
|
|
@@ -29,8 +30,8 @@ export default class PackLoader {
|
|
|
29
30
|
blacklist;
|
|
30
31
|
itemDefinition;
|
|
31
32
|
blockDefinition;
|
|
32
|
-
tagLoader
|
|
33
|
-
recipesLoader
|
|
33
|
+
tagLoader;
|
|
34
|
+
recipesLoader;
|
|
34
35
|
lootLoader = new LootTableLoader();
|
|
35
36
|
langLoader = new LangLoader();
|
|
36
37
|
blockstates = this.registerEmitter(new BlockstateEmitter());
|
|
@@ -38,16 +39,39 @@ export default class PackLoader {
|
|
|
38
39
|
blocks: this.registerEmitter(new ModelEmitter("block")),
|
|
39
40
|
items: this.registerEmitter(new ModelEmitter("item")),
|
|
40
41
|
};
|
|
42
|
+
results;
|
|
43
|
+
ingredients;
|
|
44
|
+
acceptors;
|
|
45
|
+
context;
|
|
41
46
|
constructor(logger, options) {
|
|
42
47
|
this.logger = logger;
|
|
48
|
+
this.tagLoader = new TagsLoader(this.lookup);
|
|
43
49
|
this.tags = this.registerEmitter(new TagEmitter(logger, this.tagLoader, options));
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
50
|
+
this.results = new ResultSerializer(options.packFormat, this.lookup);
|
|
51
|
+
this.ingredients = new IngredientSerializer(options.packFormat, this.lookup);
|
|
52
|
+
this.context = {
|
|
53
|
+
tags: this.tagLoader,
|
|
54
|
+
ingredients: this.ingredients,
|
|
55
|
+
results: this.results,
|
|
56
|
+
lookup: this.lookup,
|
|
57
|
+
packFormat: options.packFormat,
|
|
58
|
+
};
|
|
59
|
+
this.recipesLoader = new RecipeLoader(this.context);
|
|
60
|
+
this.recipes = this.registerEmitter(new RecipeEmitter(logger, this.recipesLoader, this.context, this.recipesLoader.serializer(this.logger)));
|
|
61
|
+
this.loot = this.registerEmitter(new LootTableEmitter(logger, this.lootLoader, this.context));
|
|
46
62
|
this.lang = this.registerEmitter(new LangEmitter(this.langLoader));
|
|
47
|
-
this.tabs = this.registerEmitter(new PolytoneTabsEmitter(
|
|
48
|
-
this.blacklist = this.registerEmitter(new BlacklistEmitter(logger, this.
|
|
63
|
+
this.tabs = this.registerEmitter(new PolytoneTabsEmitter(this.lookup));
|
|
64
|
+
this.blacklist = this.registerEmitter(new BlacklistEmitter(logger, this.context, options));
|
|
49
65
|
this.itemDefinition = this.registerEmitter(new ItemDefinitionEmitter(this.models, this.blockstates, this.loot));
|
|
50
66
|
this.blockDefinition = this.registerEmitter(new BlockDefinitionEmitter(this.models.blocks, this.blockstates, this.loot));
|
|
67
|
+
this.acceptors = {
|
|
68
|
+
"data/*/tags/**/*.json": this.tagLoader.accept,
|
|
69
|
+
"data/*/recipes/**/*.json": this.recipesLoader.accept,
|
|
70
|
+
"data/*/recipe/**/*.json": this.recipesLoader.accept,
|
|
71
|
+
"data/*/loot_tables/**/*.json": this.lootLoader.accept,
|
|
72
|
+
"data/*/loot_table/**/*.json": this.lootLoader.accept,
|
|
73
|
+
"assets/*/lang/*.json": this.langLoader.accept,
|
|
74
|
+
};
|
|
51
75
|
}
|
|
52
76
|
registerEmitter(emitter) {
|
|
53
77
|
this.emitters.push(emitter);
|
|
@@ -69,25 +93,19 @@ export default class PackLoader {
|
|
|
69
93
|
return this.recipesLoader;
|
|
70
94
|
}
|
|
71
95
|
get registries() {
|
|
72
|
-
return this.
|
|
96
|
+
return this.lookup;
|
|
73
97
|
}
|
|
98
|
+
// TODO what do I even need this for?
|
|
74
99
|
createResult(input) {
|
|
75
|
-
return
|
|
100
|
+
return this.results.create(input);
|
|
76
101
|
}
|
|
102
|
+
// TODO what do I even need this for?
|
|
77
103
|
createIngredient(input) {
|
|
78
|
-
return
|
|
104
|
+
return this.ingredients.create(input);
|
|
79
105
|
}
|
|
80
106
|
resolveIngredientTest(test) {
|
|
81
|
-
return
|
|
82
|
-
}
|
|
83
|
-
acceptors = {
|
|
84
|
-
"data/*/tags/**/*.json": this.tagLoader.accept,
|
|
85
|
-
"data/*/recipes/**/*.json": this.recipesLoader.accept,
|
|
86
|
-
"data/*/recipe/**/*.json": this.recipesLoader.accept,
|
|
87
|
-
"data/*/loot_tables/**/*.json": this.lootLoader.accept,
|
|
88
|
-
"data/*/loot_table/**/*.json": this.lootLoader.accept,
|
|
89
|
-
"assets/*/lang/*.json": this.langLoader.accept,
|
|
90
|
-
};
|
|
107
|
+
return resolveIngredientTest(test, this.context);
|
|
108
|
+
}
|
|
91
109
|
loadInternal(resolver, logger) {
|
|
92
110
|
return resolver.extract((path, content) => {
|
|
93
111
|
const acceptor = Object.entries(this.acceptors).find(([pattern]) => match(path, pattern))?.[1];
|
|
@@ -110,14 +128,14 @@ export default class PackLoader {
|
|
|
110
128
|
async loadRegistryDump(resolver) {
|
|
111
129
|
const registryDumpLoader = new RegistryDumpLoader(this.logger);
|
|
112
130
|
await registryDumpLoader.extract(resolver);
|
|
113
|
-
this.
|
|
131
|
+
this.lookup.set(registryDumpLoader);
|
|
114
132
|
}
|
|
115
133
|
freeze() {
|
|
116
134
|
this.tagLoader.freeze();
|
|
117
135
|
}
|
|
118
136
|
clear() {
|
|
119
137
|
this.recipesLoader.clear();
|
|
120
|
-
this.
|
|
138
|
+
this.lookup.reset();
|
|
121
139
|
this.emitters.forEach((it) => it.clear());
|
|
122
140
|
}
|
|
123
141
|
async emit(acceptor) {
|
package/dist/loader/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"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"}
|