@adeficior/data-modifier 1.0.0-rc.14 → 1.0.0-rc.17
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/{predicates.d.ts → filters.d.ts} +3 -3
- package/dist/common/{predicates.js → filters.js} +3 -3
- package/dist/common/filters.js.map +1 -0
- package/dist/common/id.d.ts +3 -0
- package/dist/common/id.js +6 -1
- package/dist/common/id.js.map +1 -1
- package/dist/common/ingredient/filter.d.ts +3 -3
- package/dist/common/ingredient/filter.js +20 -59
- package/dist/common/ingredient/filter.js.map +1 -1
- package/dist/common/ingredient/index.d.ts +35 -27
- package/dist/common/ingredient/index.js +57 -37
- package/dist/common/ingredient/index.js.map +1 -1
- package/dist/common/ingredient/serializer.js +1 -1
- package/dist/common/ingredient/serializer.js.map +1 -1
- package/dist/common/result/filter.d.ts +3 -3
- package/dist/common/result/filter.js +12 -35
- package/dist/common/result/filter.js.map +1 -1
- package/dist/common/result/index.d.ts +20 -16
- package/dist/common/result/index.js +25 -17
- package/dist/common/result/index.js.map +1 -1
- package/dist/common/result/serializer.js +1 -1
- package/dist/common/result/serializer.js.map +1 -1
- package/dist/common/serializable.d.ts +5 -2
- package/dist/emit/assets/lang.js.map +1 -1
- package/dist/emit/blacklist.d.ts +3 -3
- package/dist/emit/blacklist.js +2 -2
- package/dist/emit/blacklist.js.map +1 -1
- package/dist/emit/data/loot.d.ts +9 -9
- package/dist/emit/data/loot.js +3 -3
- package/dist/emit/data/loot.js.map +1 -1
- package/dist/emit/data/recipe.d.ts +13 -13
- package/dist/emit/data/recipe.js +5 -5
- package/dist/emit/data/recipe.js.map +1 -1
- package/dist/emit/data/tags.d.ts +4 -4
- package/dist/emit/data/tags.js +1 -1
- package/dist/emit/data/tags.js.map +1 -1
- package/dist/emit/rule/lootTable.d.ts +1 -1
- package/dist/emit/rule/lootTable.js.map +1 -1
- package/dist/emit/rule/recipe.d.ts +1 -1
- package/dist/emit/rule/recipe.js.map +1 -1
- package/dist/loader/index.d.ts +4 -3
- package/dist/loader/index.js +7 -3
- package/dist/loader/index.js.map +1 -1
- package/dist/loader/lang.d.ts +1 -2
- package/dist/loader/lang.js +1 -1
- package/dist/loader/lang.js.map +1 -1
- package/dist/loader/loot.d.ts +1 -2
- package/dist/loader/loot.js +2 -2
- package/dist/loader/loot.js.map +1 -1
- package/dist/loader/pack.d.ts +2 -2
- package/dist/loader/pack.js +13 -12
- package/dist/loader/pack.js.map +1 -1
- package/dist/loader/recipe.d.ts +5 -4
- package/dist/loader/recipe.js +17 -28
- package/dist/loader/recipe.js.map +1 -1
- package/dist/loader/registry/dump.js +3 -3
- package/dist/loader/registry/dump.js.map +1 -1
- package/dist/loader/tags.d.ts +2 -2
- package/dist/loader/tags.js +1 -1
- package/dist/loader/tags.js.map +1 -1
- package/dist/parser/index.d.ts +1 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/lootTable.d.ts +1 -1
- package/dist/parser/lootTable.js +2 -2
- package/dist/parser/lootTable.js.map +1 -1
- package/dist/parser/recipe/adAstra/conversion.d.ts +2 -2
- package/dist/parser/recipe/adAstra/conversion.js +2 -2
- package/dist/parser/recipe/adAstra/conversion.js.map +1 -1
- package/dist/parser/recipe/adAstra/inputOutput.d.ts +3 -3
- package/dist/parser/recipe/adAstra/inputOutput.js +5 -5
- package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.d.ts +2 -2
- package/dist/parser/recipe/adAstra/spaceStation.js +2 -2
- package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
- package/dist/parser/recipe/botania/apothecary.d.ts +2 -2
- package/dist/parser/recipe/botania/apothecary.js +2 -2
- package/dist/parser/recipe/botania/apothecary.js.map +1 -1
- package/dist/parser/recipe/botania/brew.d.ts +2 -2
- package/dist/parser/recipe/botania/brew.js +2 -2
- package/dist/parser/recipe/botania/brew.js.map +1 -1
- package/dist/parser/recipe/botania/gogWrapper.d.ts +4 -6
- package/dist/parser/recipe/botania/gogWrapper.js +2 -2
- package/dist/parser/recipe/botania/gogWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/manaInfusion.d.ts +2 -2
- package/dist/parser/recipe/botania/manaInfusion.js +2 -2
- package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
- package/dist/parser/recipe/botania/nbtWrapper.d.ts +4 -6
- package/dist/parser/recipe/botania/nbtWrapper.js +2 -2
- package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
- package/dist/parser/recipe/create/assembly.d.ts +2 -2
- package/dist/parser/recipe/create/assembly.js +3 -3
- package/dist/parser/recipe/create/assembly.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cooking.d.ts +2 -2
- package/dist/parser/recipe/farmersdelight/cooking.js +2 -2
- package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cutting.d.ts +2 -2
- package/dist/parser/recipe/farmersdelight/cutting.js +2 -2
- package/dist/parser/recipe/farmersdelight/cutting.js.map +1 -1
- package/dist/parser/recipe/forge/conditional.d.ts +4 -6
- package/dist/parser/recipe/forge/conditional.js +2 -2
- package/dist/parser/recipe/forge/conditional.js.map +1 -1
- package/dist/parser/recipe/index.d.ts +7 -3
- package/dist/parser/recipe/index.js +10 -4
- package/dist/parser/recipe/index.js.map +1 -1
- package/dist/parser/recipe/manyToMany.d.ts +2 -2
- package/dist/parser/recipe/manyToMany.js +2 -2
- package/dist/parser/recipe/manyToMany.js.map +1 -1
- package/dist/parser/recipe/manyToOne.d.ts +2 -2
- package/dist/parser/recipe/manyToOne.js +2 -2
- package/dist/parser/recipe/manyToOne.js.map +1 -1
- package/dist/parser/recipe/oneToOne.d.ts +2 -2
- package/dist/parser/recipe/oneToOne.js +2 -2
- package/dist/parser/recipe/oneToOne.js.map +1 -1
- package/dist/parser/recipe/roots/component.d.ts +2 -2
- package/dist/parser/recipe/roots/component.js +2 -2
- package/dist/parser/recipe/roots/component.js.map +1 -1
- package/dist/parser/recipe/roots/ritual.d.ts +2 -2
- package/dist/parser/recipe/roots/ritual.js +2 -2
- package/dist/parser/recipe/roots/ritual.js.map +1 -1
- package/dist/parser/recipe/thermal/catalyst.d.ts +2 -2
- package/dist/parser/recipe/thermal/catalyst.js +2 -2
- package/dist/parser/recipe/thermal/catalyst.js.map +1 -1
- package/dist/parser/recipe/thermal/fuel.d.ts +2 -2
- package/dist/parser/recipe/thermal/fuel.js +2 -2
- package/dist/parser/recipe/thermal/fuel.js.map +1 -1
- package/dist/parser/recipe/thermal/index.d.ts +2 -2
- package/dist/parser/recipe/thermal/index.js +2 -2
- package/dist/parser/recipe/thermal/index.js.map +1 -1
- package/dist/parser/recipe/thermal/treeExtraction.d.ts +2 -2
- package/dist/parser/recipe/thermal/treeExtraction.js +2 -2
- package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
- package/dist/parser/recipe/vanilla/shaped.d.ts +3 -4
- package/dist/parser/recipe/vanilla/shaped.js +2 -2
- package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
- package/dist/parser/recipe/vanilla/smelting.d.ts +2 -2
- package/dist/parser/recipe/vanilla/smelting.js +2 -2
- package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
- package/dist/parser/recipe/vanilla/smithing.d.ts +2 -2
- package/dist/parser/recipe/vanilla/smithing.js +2 -2
- package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
- package/dist/parser/recipe/vanilla/stonecutting.d.ts +2 -2
- package/dist/parser/recipe/vanilla/stonecutting.js +3 -3
- package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
- package/package.json +9 -6
- package/dist/common/predicates.js.map +0 -1
|
@@ -1,68 +1,45 @@
|
|
|
1
|
-
import { exists } from "@adeficior/pack-resolver";
|
|
2
1
|
import { BlockResult, FluidResult, ItemResult } from ".";
|
|
3
2
|
import { tryCatching } from "../../error";
|
|
3
|
+
import { createCommonFilter, } from "../filters";
|
|
4
4
|
import { encodeId } from "../id";
|
|
5
|
-
|
|
6
|
-
export default function resolveResultTest(test,
|
|
7
|
-
// TODO pass context?
|
|
8
|
-
context) {
|
|
5
|
+
export default function createResultFilter(test, context) {
|
|
9
6
|
if (typeof test === "string") {
|
|
10
|
-
return
|
|
7
|
+
return createResultFilter(new ItemResult(test), context);
|
|
11
8
|
}
|
|
12
9
|
if (test instanceof RegExp) {
|
|
13
|
-
return
|
|
10
|
+
return filterByResultId(test, context.tags.registry("minecraft:item"), (it) => it.idsFor("minecraft:item"));
|
|
14
11
|
}
|
|
15
12
|
if (typeof test === "function") {
|
|
16
13
|
return (it, logger) => test(context.results.create(it), logger);
|
|
17
14
|
}
|
|
18
15
|
if (test instanceof ItemResult) {
|
|
19
|
-
return
|
|
16
|
+
return filterByResultId(test.id, context.tags.registry("minecraft:item"), (it) => it.idsFor("minecraft:item"));
|
|
20
17
|
}
|
|
21
18
|
if (test instanceof FluidResult) {
|
|
22
|
-
return
|
|
19
|
+
return filterByResultId(test.id, context.tags.registry("minecraft:fluid"), (it) => it.idsFor("minecraft:fluid"));
|
|
23
20
|
}
|
|
24
21
|
// TODO match method in ingredient itself?
|
|
25
22
|
if (test instanceof BlockResult) {
|
|
26
|
-
return
|
|
23
|
+
return filterByResultId(test.id, context.tags.registry("minecraft:block"), (it) => it.idsFor("minecraft:block"));
|
|
27
24
|
}
|
|
28
25
|
// TODO warn or throw?
|
|
29
26
|
return () => false;
|
|
30
27
|
}
|
|
31
|
-
function
|
|
28
|
+
function filterByResultId(test, tags, idSupplier) {
|
|
32
29
|
function resolveIds(it) {
|
|
33
30
|
if (typeof it === "string")
|
|
34
|
-
return [it];
|
|
31
|
+
return [encodeId(it)];
|
|
35
32
|
if (Array.isArray(it)) {
|
|
36
33
|
return it.flatMap(resolveIds);
|
|
37
34
|
}
|
|
38
35
|
else {
|
|
39
|
-
return
|
|
36
|
+
return idSupplier(it);
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
|
-
return
|
|
39
|
+
return createCommonFilter(test, (input, logger) =>
|
|
43
40
|
// TODO which exception has to be caught here?
|
|
44
41
|
tryCatching(logger, () => {
|
|
45
|
-
return resolveIds(input)
|
|
42
|
+
return resolveIds(input);
|
|
46
43
|
}) ?? [], tags);
|
|
47
44
|
}
|
|
48
|
-
function extractItemID(ingredient) {
|
|
49
|
-
if (ingredient instanceof ItemResult) {
|
|
50
|
-
return ingredient.id;
|
|
51
|
-
}
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
// TODO functions on the ingredient itself?
|
|
55
|
-
// TODO common super class maybe even?
|
|
56
|
-
function extractBlockID(ingredient) {
|
|
57
|
-
if (ingredient instanceof BlockResult) {
|
|
58
|
-
return ingredient.id;
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
function extractFluidID(ingredient) {
|
|
63
|
-
if (ingredient instanceof FluidResult) {
|
|
64
|
-
return ingredient.id;
|
|
65
|
-
}
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
45
|
//# sourceMappingURL=filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/result/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/result/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EACL,kBAAkB,GAGnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAqB,MAAM,OAAO,CAAC;AAKpD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,IAAkB,EAClB,OAAyC;IAEzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,kBAAkB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAC3B,OAAO,gBAAgB,CACrB,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACvC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAC/B,OAAO,gBAAgB,CACrB,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACvC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,gBAAgB,CACrB,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACxC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,gBAAgB,CACrB,IAAI,CAAC,EAAE,EACP,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACxC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACrC,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAA2B,EAC3B,IAA6B,EAC7B,UAA0C;IAE1C,SAAS,UAAU,CAAC,EAAe;QACjC,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CACvB,IAAI,EACJ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IAChB,8CAA8C;IAC9C,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;QACvB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,IAAI,EAAE,EACV,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -1,41 +1,45 @@
|
|
|
1
|
-
import type { BlockId, FluidId, ItemId } from "@adeficior/data-modifier/generated";
|
|
1
|
+
import type { BlockId, FluidId, ItemId, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type RegistryLookup from "../../loader/registry";
|
|
3
3
|
import type { SemVerInput } from "../../packFormat";
|
|
4
|
-
import { type IdInput } from "../id";
|
|
4
|
+
import { type IdInput, type NormalizedId } from "../id";
|
|
5
5
|
import type { Serializable } from "../serializable";
|
|
6
6
|
export declare abstract class Result implements Serializable {
|
|
7
|
-
validate(_
|
|
8
|
-
abstract
|
|
7
|
+
validate(_: RegistryLookup): void;
|
|
8
|
+
abstract serialize(packFormat: SemVerInput): Record<string, unknown>;
|
|
9
|
+
abstract idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
|
|
9
10
|
}
|
|
10
|
-
export declare class
|
|
11
|
-
readonly
|
|
11
|
+
export declare abstract class RegistryEntryResult<T extends string> extends Result {
|
|
12
|
+
private readonly registry;
|
|
13
|
+
readonly id: NormalizedId<T>;
|
|
14
|
+
constructor(input: IdInput<T>, registry: NormalizedId<RegistryId>);
|
|
15
|
+
idsFor(registry: NormalizedId<RegistryId>): NormalizedId<T>[];
|
|
16
|
+
}
|
|
17
|
+
export declare class ItemResult extends RegistryEntryResult<ItemId> {
|
|
12
18
|
readonly count: number;
|
|
13
19
|
readonly chance?: number | undefined;
|
|
14
20
|
constructor(id: IdInput<ItemId>, count?: number, chance?: number | undefined);
|
|
15
|
-
|
|
21
|
+
serialize(_packFormat: SemVerInput): {
|
|
16
22
|
item: `${string}:${string}`;
|
|
17
23
|
count: number | undefined;
|
|
18
24
|
chance: number | undefined;
|
|
19
25
|
};
|
|
20
|
-
validate(lookup
|
|
26
|
+
validate(lookup: RegistryLookup): void;
|
|
21
27
|
}
|
|
22
|
-
export declare class FluidResult extends
|
|
23
|
-
readonly id: IdInput<FluidId>;
|
|
28
|
+
export declare class FluidResult extends RegistryEntryResult<FluidId> {
|
|
24
29
|
readonly amount: number;
|
|
25
30
|
readonly chance?: number | undefined;
|
|
26
31
|
constructor(id: IdInput<FluidId>, amount?: number, chance?: number | undefined);
|
|
27
|
-
|
|
32
|
+
serialize(_packFormat: SemVerInput): {
|
|
28
33
|
fluid: `${string}:${string}`;
|
|
29
34
|
amount: number;
|
|
30
35
|
chance: number | undefined;
|
|
31
36
|
};
|
|
32
|
-
validate(lookup
|
|
37
|
+
validate(lookup: RegistryLookup): void;
|
|
33
38
|
}
|
|
34
|
-
export declare class BlockResult extends
|
|
35
|
-
readonly id: IdInput<BlockId>;
|
|
39
|
+
export declare class BlockResult extends RegistryEntryResult<BlockId> {
|
|
36
40
|
constructor(id: IdInput<BlockId>);
|
|
37
|
-
|
|
41
|
+
serialize(_packFormat: SemVerInput): {
|
|
38
42
|
block: `${string}:${string}`;
|
|
39
43
|
};
|
|
40
|
-
validate(lookup
|
|
44
|
+
validate(lookup: RegistryLookup): void;
|
|
41
45
|
}
|
|
@@ -3,57 +3,65 @@ import { BUCKET } from "../units";
|
|
|
3
3
|
export class Result {
|
|
4
4
|
validate(_) { }
|
|
5
5
|
}
|
|
6
|
-
export class
|
|
6
|
+
export class RegistryEntryResult extends Result {
|
|
7
|
+
registry;
|
|
7
8
|
id;
|
|
9
|
+
constructor(input, registry) {
|
|
10
|
+
super();
|
|
11
|
+
this.registry = registry;
|
|
12
|
+
this.id = encodeId(input);
|
|
13
|
+
}
|
|
14
|
+
idsFor(registry) {
|
|
15
|
+
if (this.registry === registry)
|
|
16
|
+
return [this.id];
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class ItemResult extends RegistryEntryResult {
|
|
8
21
|
count;
|
|
9
22
|
chance;
|
|
10
23
|
constructor(id, count = 1, chance) {
|
|
11
|
-
super();
|
|
12
|
-
this.id = id;
|
|
24
|
+
super(id, "minecraft:item");
|
|
13
25
|
this.count = count;
|
|
14
26
|
this.chance = chance;
|
|
15
27
|
}
|
|
16
|
-
|
|
28
|
+
serialize(_packFormat) {
|
|
17
29
|
const { chance } = this;
|
|
18
30
|
const count = this.count === 1 ? undefined : this.count;
|
|
19
31
|
const id = encodeId(this.id);
|
|
20
32
|
return { item: id, count, chance };
|
|
21
33
|
}
|
|
22
34
|
validate(lookup) {
|
|
23
|
-
lookup
|
|
35
|
+
lookup.validateEntry("minecraft:item", this.id);
|
|
24
36
|
}
|
|
25
37
|
}
|
|
26
|
-
export class FluidResult extends
|
|
27
|
-
id;
|
|
38
|
+
export class FluidResult extends RegistryEntryResult {
|
|
28
39
|
amount;
|
|
29
40
|
chance;
|
|
30
41
|
constructor(id, amount = BUCKET, chance) {
|
|
31
|
-
super();
|
|
32
|
-
this.id = id;
|
|
42
|
+
super(id, "minecraft:fluid");
|
|
33
43
|
this.amount = amount;
|
|
34
44
|
this.chance = chance;
|
|
35
45
|
}
|
|
36
|
-
|
|
46
|
+
serialize(_packFormat) {
|
|
37
47
|
const { amount, chance } = this;
|
|
38
48
|
const id = encodeId(this.id);
|
|
39
49
|
return { fluid: id, amount, chance };
|
|
40
50
|
}
|
|
41
51
|
validate(lookup) {
|
|
42
|
-
lookup
|
|
52
|
+
lookup.validateEntry("minecraft:fluid", this.id);
|
|
43
53
|
}
|
|
44
54
|
}
|
|
45
|
-
export class BlockResult extends
|
|
46
|
-
id;
|
|
55
|
+
export class BlockResult extends RegistryEntryResult {
|
|
47
56
|
constructor(id) {
|
|
48
|
-
super();
|
|
49
|
-
this.id = id;
|
|
57
|
+
super(id, "minecraft:block");
|
|
50
58
|
}
|
|
51
|
-
|
|
59
|
+
serialize(_packFormat) {
|
|
52
60
|
const id = encodeId(this.id);
|
|
53
61
|
return { block: id };
|
|
54
62
|
}
|
|
55
63
|
validate(lookup) {
|
|
56
|
-
lookup
|
|
64
|
+
lookup.validateEntry("minecraft:block", this.id);
|
|
57
65
|
}
|
|
58
66
|
}
|
|
59
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAgB,MAAM;IAC1B,QAAQ,CAAC,CAAiB,IAAS,CAAC;CAKrC;AAED,MAAM,OAAgB,mBAAsC,SAAQ,MAAM;IAKrD;IAJH,EAAE,CAAkB;IAEpC,YACE,KAAiB,EACA,QAAkC;QAEnD,KAAK,EAAE,CAAC;QAFS,aAAQ,GAAR,QAAQ,CAA0B;QAGnD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEQ,MAAM,CAAC,QAAkC;QAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,mBAA2B;IAGvC;IACA;IAHlB,YACE,EAAmB,EACH,QAAQ,CAAC,EACT,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAHZ,UAAK,GAAL,KAAK,CAAI;QACT,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAED,SAAS,CAAC,WAAwB;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAGzC;IACA;IAHlB,YACE,EAAoB,EACJ,SAAiB,MAAM,EACvB,MAAe;QAE/B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAHb,WAAM,GAAN,MAAM,CAAiB;QACvB,WAAM,GAAN,MAAM,CAAS;IAGjC,CAAC;IAED,SAAS,CAAC,WAAwB;QAChC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACvC,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,mBAA4B;IAC3D,YAAY,EAAoB;QAC9B,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,WAAwB;QAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACvB,CAAC;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -44,7 +44,7 @@ export default class ResultSerializer {
|
|
|
44
44
|
this.deserializer = new OldDeserializer();
|
|
45
45
|
}
|
|
46
46
|
serialize(result) {
|
|
47
|
-
return result.
|
|
47
|
+
return result.serialize(this.packFormat);
|
|
48
48
|
}
|
|
49
49
|
serializeList(results) {
|
|
50
50
|
return results.map((it) => this.serialize(it));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/common/result/serializer.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,eAAe;IACF,OAAO,GAAG;QACzB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;YAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC;KACH,CAAC;IAEF,WAAW,CAAC,KAA8B;QACxC,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/C,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAIhB;IACA;IAJF,YAAY,CAAwB;IAErD,YACmB,UAAuB,EACvB,MAAsB;QADtB,eAAU,GAAV,UAAU,CAAa;QACvB,WAAM,GAAN,MAAM,CAAgB;QAEvC,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/common/result/serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { RegistryId } from "@adeficior/data-modifier/generated";
|
|
1
2
|
import type RegistryLookup from "../loader/registry";
|
|
2
3
|
import type { SemVerInput } from "../packFormat";
|
|
4
|
+
import type { NormalizedId } from "./id";
|
|
3
5
|
export interface Serializable {
|
|
4
|
-
|
|
5
|
-
validate(lookup
|
|
6
|
+
serialize(packFormat: SemVerInput): unknown;
|
|
7
|
+
validate(lookup: RegistryLookup): void;
|
|
8
|
+
idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
|
|
6
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../src/emit/assets/lang.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../src/emit/assets/lang.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/blacklist.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
3
|
-
import type {
|
|
3
|
+
import type { IngredientFilter } from "../common/ingredient/filter.js";
|
|
4
4
|
import type { PackContext } from "../loader/context.js";
|
|
5
5
|
import type { ClearableEmitter } from "./index.js";
|
|
6
6
|
export type HideMode = "jei" | "polytone";
|
|
@@ -8,7 +8,7 @@ export interface BlacklistOptions {
|
|
|
8
8
|
hideFrom?: HideMode | HideMode[];
|
|
9
9
|
}
|
|
10
10
|
export interface BlacklistRules {
|
|
11
|
-
hide(...inputs:
|
|
11
|
+
hide(...inputs: IngredientFilter[]): void;
|
|
12
12
|
hideEntry<T extends RegistryId>(type: T, ...entries: RegistryIdInput<T>[]): void;
|
|
13
13
|
}
|
|
14
14
|
type RegistryIdInput<T extends RegistryId> = InferIds<T> | RegExp;
|
|
@@ -18,7 +18,7 @@ export default class BlacklistEmitter implements BlacklistRules, ClearableEmitte
|
|
|
18
18
|
private hidden;
|
|
19
19
|
private readonly hideModes;
|
|
20
20
|
constructor(logger: Logger, context: PackContext, options: BlacklistOptions);
|
|
21
|
-
hide(...inputs:
|
|
21
|
+
hide(...inputs: IngredientFilter[]): void;
|
|
22
22
|
hideEntry<T extends RegistryId>(type: T, ...entries: RegistryIdInput<T>[]): void;
|
|
23
23
|
private filterIds;
|
|
24
24
|
private resolveIds;
|
package/dist/emit/blacklist.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { arrayOrSelf } from "@adeficior/pack-resolver";
|
|
2
2
|
import { uniq } from "lodash-es";
|
|
3
3
|
import { encodeId } from "../common/id.js";
|
|
4
|
-
import
|
|
4
|
+
import createIngredientFilter from "../common/ingredient/filter.js";
|
|
5
5
|
import { BlockIngredient, FluidIngredient, ItemIngredient, ListIngredient, } from "../common/ingredient/index.js";
|
|
6
6
|
import { IllegalShapeError } from "../error.js";
|
|
7
7
|
import { toJson } from "../textHelper.js";
|
|
@@ -39,7 +39,7 @@ export default class BlacklistEmitter {
|
|
|
39
39
|
const keys = this.context.lookup.keys("minecraft:item");
|
|
40
40
|
if (!keys)
|
|
41
41
|
throw new Error("you can only use regex/predicates to blacklist items if a registry dump is loaded");
|
|
42
|
-
const predicate =
|
|
42
|
+
const predicate = createIngredientFilter(test, this.context);
|
|
43
43
|
return [...keys.keys()].filter((it) => predicate(it, this.logger));
|
|
44
44
|
}
|
|
45
45
|
resolveIds(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,
|
|
1
|
+
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/data/loot.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
2
|
+
import { type CommonFilter, type Predicate } from "../../common/filters.js";
|
|
2
3
|
import type { IdInput, NormalizedId } from "../../common/id.js";
|
|
3
|
-
import type {
|
|
4
|
+
import type { IngredientFilter } from "../../common/ingredient/filter.js";
|
|
4
5
|
import type { IngredientInput } from "../../common/ingredient/input.js";
|
|
5
|
-
import { type CommonTest, type Predicate } from "../../common/predicates.js";
|
|
6
6
|
import type { PackContext } from "../../loader/context.js";
|
|
7
7
|
import type { LootItemInput } from "../../parser/lootTable.js";
|
|
8
8
|
import type { LootModifier, LootTable } from "../../schema/data/loot.js";
|
|
@@ -10,12 +10,12 @@ import type { ClearableEmitter, RegistryProvider } from "../index.js";
|
|
|
10
10
|
export declare const EMPTY_LOOT_TABLE: LootTable;
|
|
11
11
|
export declare const EMPTY_LOOT_MODIFIER: LootModifier;
|
|
12
12
|
type LootTableTest = Readonly<{
|
|
13
|
-
id?:
|
|
14
|
-
output?:
|
|
13
|
+
id?: CommonFilter<NormalizedId>;
|
|
14
|
+
output?: IngredientFilter;
|
|
15
15
|
}>;
|
|
16
16
|
export interface LootRules {
|
|
17
|
-
replaceOutput(from:
|
|
18
|
-
removeOutput(from:
|
|
17
|
+
replaceOutput(from: IngredientFilter, to: LootItemInput, additionalTests?: LootTableTest): void;
|
|
18
|
+
removeOutput(from: IngredientFilter, additionalTests?: LootTableTest): void;
|
|
19
19
|
add(id: IdInput, value: LootTable): void;
|
|
20
20
|
disable(test: LootTableTest): void;
|
|
21
21
|
block(id: IdInput): void;
|
|
@@ -34,12 +34,12 @@ export default class LootTableEmitter implements LootRules, ClearableEmitter {
|
|
|
34
34
|
private modifierPath;
|
|
35
35
|
clear(): void;
|
|
36
36
|
emit(acceptor: Acceptor): Promise<void>;
|
|
37
|
-
resolveIngredientTest(test:
|
|
37
|
+
resolveIngredientTest(test: IngredientFilter): Predicate<IngredientInput>;
|
|
38
38
|
private resolveLootTableTest;
|
|
39
39
|
add(id: IdInput, value: LootTable): void;
|
|
40
40
|
disable(test: LootTableTest): void;
|
|
41
|
-
replaceOutput(from:
|
|
42
|
-
removeOutput(from:
|
|
41
|
+
replaceOutput(from: IngredientFilter, to: LootItemInput, additionalTests?: LootTableTest): void;
|
|
42
|
+
removeOutput(from: IngredientFilter, additionalTests?: LootTableTest): void;
|
|
43
43
|
block(id: IdInput): void;
|
|
44
44
|
disabledModifier(id: IdInput): void;
|
|
45
45
|
addModifier<T extends LootModifier>(id: IdInput, value: T): void;
|
package/dist/emit/data/loot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { resolveIDTest, } from "../../common/filters.js";
|
|
1
2
|
import { encodeId, prefix } from "../../common/id.js";
|
|
2
|
-
import
|
|
3
|
-
import { resolveIDTest, } from "../../common/predicates.js";
|
|
3
|
+
import createIngredientFilter from "../../common/ingredient/filter.js";
|
|
4
4
|
import { isAtLeastVersion } from "../../packFormat.js";
|
|
5
5
|
import { createLootEntry, replaceItemInTable } from "../../parser/lootTable.js";
|
|
6
6
|
import { EmptyLootEntry, LootTableSchema } from "../../schema/data/loot.js";
|
|
@@ -51,7 +51,7 @@ export default class LootTableEmitter {
|
|
|
51
51
|
]);
|
|
52
52
|
}
|
|
53
53
|
resolveIngredientTest(test) {
|
|
54
|
-
return
|
|
54
|
+
return createIngredientFilter(test, this.context);
|
|
55
55
|
}
|
|
56
56
|
resolveLootTableTest(test) {
|
|
57
57
|
const id = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import type { RecipeSerializerId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
3
|
+
import { type CommonFilter, type Predicate } from "../../common/filters.js";
|
|
3
4
|
import type { IdInput, NormalizedId } from "../../common/id.js";
|
|
4
|
-
import type {
|
|
5
|
+
import type { IngredientFilter } from "../../common/ingredient/filter.js";
|
|
5
6
|
import type { IngredientInput } from "../../common/ingredient/input.js";
|
|
6
|
-
import
|
|
7
|
-
import type { ResultTest } from "../../common/result/filter.js";
|
|
7
|
+
import type { ResultFilter } from "../../common/result/filter.js";
|
|
8
8
|
import type { ResultInput } from "../../common/result/input.js";
|
|
9
9
|
import type { PackContext } from "../../loader/context.js";
|
|
10
10
|
import { RecipeHolder, type Recipe, type RecipeSerializer } from "../../parser/recipe/index.js";
|
|
11
11
|
import type { RecipeDefinition } from "../../schema/data/recipe.js";
|
|
12
12
|
import type { ClearableEmitter, RegistryProvider } from "../index.js";
|
|
13
13
|
export type RecipeTest = Readonly<{
|
|
14
|
-
id?:
|
|
15
|
-
type?:
|
|
14
|
+
id?: CommonFilter<NormalizedId>;
|
|
15
|
+
type?: CommonFilter<NormalizedId<RecipeSerializerId>>;
|
|
16
16
|
namespace?: string;
|
|
17
|
-
output?:
|
|
18
|
-
input?:
|
|
17
|
+
output?: ResultFilter;
|
|
18
|
+
input?: IngredientFilter;
|
|
19
19
|
optional?: boolean;
|
|
20
20
|
}>;
|
|
21
21
|
export interface RecipeRules {
|
|
22
|
-
replaceResult(test:
|
|
23
|
-
replaceIngredient(test:
|
|
22
|
+
replaceResult(test: ResultFilter, value: ResultInput, additionalTests?: RecipeTest): void;
|
|
23
|
+
replaceIngredient(test: IngredientFilter, value: IngredientInput, additionalTests?: RecipeTest): void;
|
|
24
24
|
add(id: IdInput, value: RecipeDefinition): void;
|
|
25
25
|
add(id: IdInput, value: RecipeHolder): void;
|
|
26
26
|
add(id: IdInput, type: NormalizedId<RecipeSerializerId>, value: Recipe): void;
|
|
@@ -37,13 +37,13 @@ export default class RecipeEmitter implements RecipeRules, ClearableEmitter {
|
|
|
37
37
|
constructor(logger: Logger, registry: RegistryProvider<RecipeHolder>, context: PackContext, serializer: RecipeSerializer);
|
|
38
38
|
private recipePath;
|
|
39
39
|
emit(acceptor: Acceptor): Promise<void>;
|
|
40
|
-
resolveIngredientTest(test?:
|
|
41
|
-
resolveResultTest(test?:
|
|
40
|
+
resolveIngredientTest(test?: IngredientFilter): Predicate<IngredientInput>;
|
|
41
|
+
resolveResultTest(test?: ResultFilter): Predicate<ResultInput>;
|
|
42
42
|
private resolveRecipeTest;
|
|
43
43
|
add(id: IdInput, arg: RecipeDefinition | RecipeHolder | NormalizedId<RecipeSerializerId>, arg2?: Recipe): void;
|
|
44
44
|
private addRule;
|
|
45
45
|
remove(test: RecipeTest): void;
|
|
46
|
-
replaceResult(test:
|
|
47
|
-
replaceIngredient(test:
|
|
46
|
+
replaceResult(test: ResultFilter, input: ResultInput, additionalTest?: RecipeTest): void;
|
|
47
|
+
replaceIngredient(test: IngredientFilter, input: IngredientInput, additionalTest?: RecipeTest): void;
|
|
48
48
|
clear(): void;
|
|
49
49
|
}
|
package/dist/emit/data/recipe.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { exists } from "@adeficior/pack-resolver";
|
|
2
|
+
import { resolveIDTest, } from "../../common/filters.js";
|
|
2
3
|
import { encodeId } from "../../common/id.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import resolveResultTest from "../../common/result/filter.js";
|
|
4
|
+
import createIngredientFilter from "../../common/ingredient/filter.js";
|
|
5
|
+
import createResultFilter from "../../common/result/filter.js";
|
|
6
6
|
import { isAtLeastVersion } from "../../packFormat.js";
|
|
7
7
|
import { createReplacer, RecipeHolder, } from "../../parser/recipe/index.js";
|
|
8
8
|
import CustomEmitter from "../custom.js";
|
|
@@ -51,12 +51,12 @@ export default class RecipeEmitter {
|
|
|
51
51
|
resolveIngredientTest(test) {
|
|
52
52
|
if (!test)
|
|
53
53
|
return () => true;
|
|
54
|
-
return
|
|
54
|
+
return createIngredientFilter(test, this.context);
|
|
55
55
|
}
|
|
56
56
|
resolveResultTest(test) {
|
|
57
57
|
if (!test)
|
|
58
58
|
return () => true;
|
|
59
|
-
return
|
|
59
|
+
return createResultFilter(test, this.context);
|
|
60
60
|
}
|
|
61
61
|
resolveRecipeTest(test) {
|
|
62
62
|
const id = [];
|
|
@@ -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;
|
|
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,13 +1,13 @@
|
|
|
1
1
|
import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
3
|
+
import { type CommonFilter } from "../../common/filters.js";
|
|
3
4
|
import type { NormalizedId, TagInput } from "../../common/id.js";
|
|
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";
|
|
8
8
|
export interface TagRules {
|
|
9
9
|
add<T extends RegistryId>(registry: T, id: TagInput, value: TagEntry<InferIds<T>>): void;
|
|
10
|
-
remove<T extends RegistryId>(registry: T, id: TagInput, test:
|
|
10
|
+
remove<T extends RegistryId>(registry: T, id: TagInput, test: CommonFilter<NormalizedId<InferIds<T>>>): void;
|
|
11
11
|
scoped<T extends RegistryId>(key: T, folder?: string): ScopedTagRules<T>;
|
|
12
12
|
blocks: ScopedTagRules<"minecraft:block">;
|
|
13
13
|
items: ScopedTagRules<"minecraft:item">;
|
|
@@ -15,7 +15,7 @@ export interface TagRules {
|
|
|
15
15
|
}
|
|
16
16
|
interface ScopedTagRules<T extends RegistryId> {
|
|
17
17
|
add(id: TagInput, value: TagEntry<InferIds<T>>): void;
|
|
18
|
-
remove(id: TagInput, test:
|
|
18
|
+
remove(id: TagInput, test: CommonFilter<NormalizedId<InferIds<T>>>): void;
|
|
19
19
|
}
|
|
20
20
|
export interface TagEmitterOptions {
|
|
21
21
|
advancedTags?: boolean;
|
|
@@ -32,7 +32,7 @@ export default class TagEmitter implements TagRules, ClearableEmitter {
|
|
|
32
32
|
clear(): void;
|
|
33
33
|
emit(acceptor: Acceptor): Promise<void>;
|
|
34
34
|
add<T extends RegistryId>(registry: T, id: TagInput, value: TagEntry<InferIds<T>>): void;
|
|
35
|
-
remove<T extends RegistryId>(registry: T, id: TagInput, test:
|
|
35
|
+
remove<T extends RegistryId>(registry: T, id: TagInput, test: CommonFilter<NormalizedId<InferIds<T>>>): void;
|
|
36
36
|
scoped<T extends RegistryId>(registry: T, folder?: string): ScopedTagRules<T>;
|
|
37
37
|
}
|
|
38
38
|
export {};
|