@adeficior/data-modifier 1.0.0-rc.35 → 1.0.0-rc.37
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/class.d.ts +4 -0
- package/dist/common/class.js +1 -0
- package/dist/common/class.js.map +1 -0
- package/dist/common/fields.d.ts +1 -1
- package/dist/common/fields.js +1 -1
- package/dist/common/fields.js.map +1 -1
- package/dist/common/filters.d.ts +2 -3
- package/dist/common/filters.js +8 -10
- package/dist/common/filters.js.map +1 -1
- package/dist/common/id.d.ts +0 -2
- package/dist/common/id.js +2 -9
- package/dist/common/id.js.map +1 -1
- package/dist/common/ingredient/filter.js +10 -24
- package/dist/common/ingredient/filter.js.map +1 -1
- package/dist/common/ingredient/index.d.ts +4 -30
- package/dist/common/ingredient/index.js +1 -34
- package/dist/common/ingredient/index.js.map +1 -1
- package/dist/common/ingredient/serializer.d.ts +2 -10
- package/dist/common/ingredient/serializer.js +39 -106
- package/dist/common/ingredient/serializer.js.map +1 -1
- package/dist/common/{serializable.d.ts → inputOutput.d.ts} +1 -3
- package/dist/common/inputOutput.js +1 -0
- package/dist/common/inputOutput.js.map +1 -0
- package/dist/common/result/index.d.ts +2 -17
- package/dist/common/result/index.js +0 -15
- package/dist/common/result/index.js.map +1 -1
- package/dist/common/result/serializer.d.ts +2 -10
- package/dist/common/result/serializer.js +20 -75
- package/dist/common/result/serializer.js.map +1 -1
- package/dist/common/serializer.d.ts +32 -0
- package/dist/common/serializer.js +95 -0
- package/dist/common/serializer.js.map +1 -0
- package/dist/emit/assets/models.js +0 -1
- package/dist/emit/assets/models.js.map +1 -1
- package/dist/emit/blacklist.d.ts +2 -3
- package/dist/emit/blacklist.js +3 -5
- package/dist/emit/blacklist.js.map +1 -1
- package/dist/emit/data/loot.d.ts +2 -3
- package/dist/emit/data/loot.js +2 -4
- package/dist/emit/data/loot.js.map +1 -1
- package/dist/emit/data/recipe.js +2 -2
- package/dist/emit/data/recipe.js.map +1 -1
- package/dist/emit/data/tags.d.ts +2 -3
- package/dist/emit/data/tags.js +2 -4
- package/dist/emit/data/tags.js.map +1 -1
- package/dist/emit/rule/lootTable.js +9 -10
- package/dist/emit/rule/lootTable.js.map +1 -1
- package/dist/emit/rule/recipe.d.ts +1 -1
- package/dist/emit/rule/recipe.js +4 -4
- package/dist/emit/rule/recipe.js.map +1 -1
- package/dist/error.d.ts +1 -1
- package/dist/error.js +6 -20
- package/dist/error.js.map +1 -1
- package/dist/loader/index.d.ts +0 -2
- package/dist/loader/index.js +0 -4
- package/dist/loader/index.js.map +1 -1
- package/dist/loader/loot.d.ts +1 -2
- package/dist/loader/loot.js +2 -6
- package/dist/loader/loot.js.map +1 -1
- package/dist/loader/pack.d.ts +2 -8
- package/dist/loader/pack.js +10 -19
- package/dist/loader/pack.js.map +1 -1
- package/dist/loader/recipe.d.ts +1 -2
- package/dist/loader/recipe.js +2 -8
- package/dist/loader/recipe.js.map +1 -1
- package/dist/loader/tags.d.ts +2 -3
- package/dist/loader/tags.js +21 -8
- package/dist/loader/tags.js.map +1 -1
- package/dist/parser/recipe/adAstra/conversion.d.ts +1 -1
- 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 +1 -1
- package/dist/parser/recipe/adAstra/inputOutput.js +2 -2
- package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.d.ts +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.js +1 -1
- package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
- package/dist/parser/recipe/botania/apothecary.d.ts +1 -1
- package/dist/parser/recipe/botania/apothecary.js +3 -3
- package/dist/parser/recipe/botania/apothecary.js.map +1 -1
- package/dist/parser/recipe/botania/blocks.js +1 -1
- package/dist/parser/recipe/botania/blocks.js.map +1 -1
- package/dist/parser/recipe/botania/brew.d.ts +1 -1
- package/dist/parser/recipe/botania/brew.js +1 -1
- package/dist/parser/recipe/botania/brew.js.map +1 -1
- package/dist/parser/recipe/botania/gogWrapper.d.ts +1 -1
- 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 +1 -1
- package/dist/parser/recipe/botania/manaInfusion.js +3 -3
- package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
- package/dist/parser/recipe/botania/nbtWrapper.d.ts +1 -1
- package/dist/parser/recipe/botania/nbtWrapper.js +2 -2
- package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
- package/dist/parser/recipe/botania/runicAltar.js +1 -1
- package/dist/parser/recipe/botania/runicAltar.js.map +1 -1
- package/dist/parser/recipe/create/assembly.d.ts +1 -1
- package/dist/parser/recipe/create/assembly.js +4 -4
- package/dist/parser/recipe/create/assembly.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cooking.d.ts +1 -1
- package/dist/parser/recipe/farmersdelight/cooking.js +3 -3
- package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
- package/dist/parser/recipe/farmersdelight/cutting.d.ts +1 -1
- 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 +1 -1
- 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 +2 -2
- package/dist/parser/recipe/index.js +4 -5
- package/dist/parser/recipe/index.js.map +1 -1
- package/dist/parser/recipe/manyToMany.d.ts +1 -1
- package/dist/parser/recipe/manyToMany.js +1 -1
- package/dist/parser/recipe/manyToMany.js.map +1 -1
- package/dist/parser/recipe/manyToOne.d.ts +1 -1
- package/dist/parser/recipe/manyToOne.js +2 -2
- package/dist/parser/recipe/manyToOne.js.map +1 -1
- package/dist/parser/recipe/oneToOne.d.ts +1 -1
- package/dist/parser/recipe/oneToOne.js +3 -3
- package/dist/parser/recipe/oneToOne.js.map +1 -1
- package/dist/parser/recipe/roots/component.d.ts +1 -1
- package/dist/parser/recipe/roots/component.js +1 -1
- package/dist/parser/recipe/roots/component.js.map +1 -1
- package/dist/parser/recipe/roots/ritual.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/parser/recipe/thermal/index.js +3 -3
- package/dist/parser/recipe/thermal/index.js.map +1 -1
- package/dist/parser/recipe/thermal/ingredient.js +1 -1
- package/dist/parser/recipe/thermal/ingredient.js.map +1 -1
- package/dist/parser/recipe/thermal/treeExtraction.d.ts +1 -1
- package/dist/parser/recipe/thermal/treeExtraction.js +4 -4
- package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
- package/dist/parser/recipe/vanilla/shaped.d.ts +1 -1
- 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 +1 -1
- package/dist/parser/recipe/vanilla/smelting.js +3 -3
- package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
- package/dist/parser/recipe/vanilla/smithing.d.ts +1 -1
- package/dist/parser/recipe/vanilla/smithing.js +4 -4
- package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
- package/dist/parser/recipe/vanilla/stonecutting.d.ts +1 -1
- package/dist/parser/recipe/vanilla/stonecutting.js +3 -3
- package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
- package/dist/schema/data/loot.d.ts +60 -1086
- package/dist/textHelper.js +1 -10
- package/dist/textHelper.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/serializable.js +0 -1
- package/dist/common/serializable.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inputOutput.js","sourceRoot":"","sources":["../../src/common/inputOutput.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { BlockId, FluidId, ItemId, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type RegistryLookup from "../../loader/registry";
|
|
3
|
-
import type { SemVerInput } from "../../packFormat";
|
|
4
3
|
import { type IdInput, type NormalizedId } from "../id";
|
|
5
4
|
import { BlockIngredient, FluidIngredient, ItemIngredient, type Ingredient } from "../ingredient";
|
|
6
|
-
import type {
|
|
7
|
-
export declare abstract class Result implements
|
|
5
|
+
import type { InputOutput } from "../inputOutput";
|
|
6
|
+
export declare abstract class Result implements InputOutput {
|
|
8
7
|
validate(_: RegistryLookup): void;
|
|
9
|
-
abstract serialize(packFormat: SemVerInput): Record<string, unknown>;
|
|
10
8
|
abstract idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
|
|
11
9
|
abstract asIngredient(): Ingredient;
|
|
12
10
|
}
|
|
@@ -20,11 +18,6 @@ export declare class ItemResult extends RegistryEntryResult<ItemId> {
|
|
|
20
18
|
readonly count: number;
|
|
21
19
|
readonly chance?: number | undefined;
|
|
22
20
|
constructor(id: IdInput<ItemId>, count?: number, chance?: number | undefined);
|
|
23
|
-
serialize(_packFormat: SemVerInput): {
|
|
24
|
-
item: `${string}:${string}`;
|
|
25
|
-
count: number | undefined;
|
|
26
|
-
chance: number | undefined;
|
|
27
|
-
};
|
|
28
21
|
validate(lookup: RegistryLookup): void;
|
|
29
22
|
asIngredient(): ItemIngredient;
|
|
30
23
|
}
|
|
@@ -32,19 +25,11 @@ export declare class FluidResult extends RegistryEntryResult<FluidId> {
|
|
|
32
25
|
readonly amount: number;
|
|
33
26
|
readonly chance?: number | undefined;
|
|
34
27
|
constructor(id: IdInput<FluidId>, amount?: number, chance?: number | undefined);
|
|
35
|
-
serialize(_packFormat: SemVerInput): {
|
|
36
|
-
fluid: `${string}:${string}`;
|
|
37
|
-
amount: number;
|
|
38
|
-
chance: number | undefined;
|
|
39
|
-
};
|
|
40
28
|
validate(lookup: RegistryLookup): void;
|
|
41
29
|
asIngredient(): FluidIngredient;
|
|
42
30
|
}
|
|
43
31
|
export declare class BlockResult extends RegistryEntryResult<BlockId> {
|
|
44
32
|
constructor(id: IdInput<BlockId>);
|
|
45
|
-
serialize(_packFormat: SemVerInput): {
|
|
46
|
-
block: `${string}:${string}`;
|
|
47
|
-
};
|
|
48
33
|
validate(lookup: RegistryLookup): void;
|
|
49
34
|
asIngredient(): BlockIngredient;
|
|
50
35
|
}
|
|
@@ -26,12 +26,6 @@ export class ItemResult extends RegistryEntryResult {
|
|
|
26
26
|
this.count = count;
|
|
27
27
|
this.chance = chance;
|
|
28
28
|
}
|
|
29
|
-
serialize(_packFormat) {
|
|
30
|
-
const { chance } = this;
|
|
31
|
-
const count = this.count === 1 ? undefined : this.count;
|
|
32
|
-
const id = encodeId(this.id);
|
|
33
|
-
return { item: id, count, chance };
|
|
34
|
-
}
|
|
35
29
|
validate(lookup) {
|
|
36
30
|
lookup.validateEntry("minecraft:item", this.id);
|
|
37
31
|
}
|
|
@@ -47,11 +41,6 @@ export class FluidResult extends RegistryEntryResult {
|
|
|
47
41
|
this.amount = amount;
|
|
48
42
|
this.chance = chance;
|
|
49
43
|
}
|
|
50
|
-
serialize(_packFormat) {
|
|
51
|
-
const { amount, chance } = this;
|
|
52
|
-
const id = encodeId(this.id);
|
|
53
|
-
return { fluid: id, amount, chance };
|
|
54
|
-
}
|
|
55
44
|
validate(lookup) {
|
|
56
45
|
lookup.validateEntry("minecraft:fluid", this.id);
|
|
57
46
|
}
|
|
@@ -63,10 +52,6 @@ export class BlockResult extends RegistryEntryResult {
|
|
|
63
52
|
constructor(id) {
|
|
64
53
|
super(id, "minecraft:block");
|
|
65
54
|
}
|
|
66
|
-
serialize(_packFormat) {
|
|
67
|
-
const id = encodeId(this.id);
|
|
68
|
-
return { block: id };
|
|
69
|
-
}
|
|
70
55
|
validate(lookup) {
|
|
71
56
|
lookup.validateEntry("minecraft:block", this.id);
|
|
72
57
|
}
|
|
@@ -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":"AAOA,OAAO,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,GAEf,MAAM,eAAe,CAAC;AAEvB,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;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,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;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,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;IAEQ,QAAQ,CAAC,MAAsB;QACtC,MAAM,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { Result } from ".";
|
|
2
2
|
import type RegistryLookup from "../../loader/registry";
|
|
3
3
|
import type { SemVerInput } from "../../packFormat";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
private readonly lookup;
|
|
7
|
-
private readonly deserializer;
|
|
4
|
+
import { VersionedSerializer } from "../serializer";
|
|
5
|
+
export default class ResultSerializer extends VersionedSerializer<Result> {
|
|
8
6
|
constructor(packFormat: SemVerInput, lookup: RegistryLookup);
|
|
9
|
-
serialize(result: Result): Record<string, unknown>;
|
|
10
|
-
serializeList(results: Result[]): Record<string, unknown>[];
|
|
11
|
-
private deserialize;
|
|
12
|
-
create(input: unknown): Result;
|
|
13
|
-
validated<T extends Result>(result: T): T;
|
|
14
|
-
createList(input: unknown[]): Result[];
|
|
15
7
|
}
|
|
@@ -1,84 +1,29 @@
|
|
|
1
1
|
import z from "zod";
|
|
2
2
|
import { BlockResult, FluidResult, ItemResult, Result } from ".";
|
|
3
|
-
import { IllegalShapeError, transformErrors } from "../../error";
|
|
4
3
|
import { AmountSchema, ChanceSchema, CountSchema } from "../fields";
|
|
5
4
|
import { IdSchema } from "../id";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const parsed = this.schemas.block.parse(input);
|
|
25
|
-
return new BlockResult(parsed.block);
|
|
26
|
-
}
|
|
27
|
-
if ("item" in input) {
|
|
28
|
-
const parsed = this.schemas.itemStack.parse(input);
|
|
29
|
-
return new ItemResult(parsed.item, parsed.count, parsed.chance);
|
|
30
|
-
}
|
|
31
|
-
if ("fluid" in input) {
|
|
32
|
-
const parsed = this.schemas.fluidStack.parse(input);
|
|
33
|
-
return new FluidResult(parsed.fluid, parsed.amount, parsed.chance);
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export default class ResultSerializer {
|
|
39
|
-
packFormat;
|
|
40
|
-
lookup;
|
|
41
|
-
deserializer;
|
|
5
|
+
import { createSerializer, isObjectWith, VersionedSerializer, } from "../serializer";
|
|
6
|
+
const serializer15 = createSerializer((builder) => {
|
|
7
|
+
builder.deserializer((it) => typeof it === "string", (input) => new ItemResult(input));
|
|
8
|
+
builder.register(ItemResult, isObjectWith("item"), z.object({
|
|
9
|
+
item: IdSchema,
|
|
10
|
+
count: CountSchema,
|
|
11
|
+
chance: ChanceSchema,
|
|
12
|
+
}), (it) => new ItemResult(it.item, it.count, it.chance), ({ id, ...rest }) => ({ item: id, ...rest }));
|
|
13
|
+
builder.register(FluidResult, isObjectWith("fluid"), z.object({
|
|
14
|
+
fluid: IdSchema,
|
|
15
|
+
amount: AmountSchema,
|
|
16
|
+
chance: ChanceSchema,
|
|
17
|
+
}), (it) => new FluidResult(it.fluid, it.amount, it.chance), ({ id, ...rest }) => ({ fluid: id, ...rest }));
|
|
18
|
+
builder.register(BlockResult, isObjectWith("block"), z.object({
|
|
19
|
+
block: IdSchema,
|
|
20
|
+
}), (it) => new BlockResult(it.block), ({ id }) => ({ block: id }));
|
|
21
|
+
});
|
|
22
|
+
export default class ResultSerializer extends VersionedSerializer {
|
|
42
23
|
constructor(packFormat, lookup) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
this.deserializer = new OldDeserializer();
|
|
46
|
-
}
|
|
47
|
-
serialize(result) {
|
|
48
|
-
return result.serialize(this.packFormat);
|
|
49
|
-
}
|
|
50
|
-
serializeList(results) {
|
|
51
|
-
return results.map((it) => this.serialize(it));
|
|
52
|
-
}
|
|
53
|
-
deserialize(input) {
|
|
54
|
-
if (input instanceof Result)
|
|
55
|
-
return input;
|
|
56
|
-
if (!input)
|
|
57
|
-
throw new IllegalShapeError("result input may not be null");
|
|
58
|
-
if (typeof input === "string") {
|
|
59
|
-
this.lookup.validateEntry("minecraft:item", input);
|
|
60
|
-
return new ItemResult(input);
|
|
61
|
-
}
|
|
62
|
-
if (typeof input === "object") {
|
|
63
|
-
const deserialized = this.deserializer.deserialize(input);
|
|
64
|
-
if (deserialized)
|
|
65
|
-
return deserialized;
|
|
66
|
-
}
|
|
67
|
-
throw new IllegalShapeError(`unknown result shape`, input);
|
|
68
|
-
}
|
|
69
|
-
create(input) {
|
|
70
|
-
return transformErrors(() => {
|
|
71
|
-
const deserialized = this.deserialize(input);
|
|
72
|
-
deserialized.validate(this.lookup);
|
|
73
|
-
return deserialized;
|
|
24
|
+
super(packFormat, lookup, Result, {
|
|
25
|
+
15: serializer15,
|
|
74
26
|
});
|
|
75
27
|
}
|
|
76
|
-
validated(result) {
|
|
77
|
-
result.validate(this.lookup);
|
|
78
|
-
return result;
|
|
79
|
-
}
|
|
80
|
-
createList(input) {
|
|
81
|
-
return input.map((it) => this.create(it));
|
|
82
|
-
}
|
|
83
28
|
}
|
|
84
29
|
//# sourceMappingURL=serializer.js.map
|
|
@@ -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;
|
|
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;AAGjE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,YAAY,GAAG,gBAAgB,CAAS,CAAC,OAAO,EAAE,EAAE;IACxD,OAAO,CAAC,YAAY,CAClB,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,EAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,OAAO,CAAC,QAAQ,CACd,UAAU,EACV,YAAY,CAAC,MAAM,CAAC,EACpB,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,YAAY;KACrB,CAAC,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EACpD,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAC7C,CAAC;IAEF,OAAO,CAAC,QAAQ,CACd,WAAW,EACX,YAAY,CAAC,OAAO,CAAC,EACrB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EACvD,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAC9C,CAAC;IAEF,OAAO,CAAC,QAAQ,CACd,WAAW,EACX,YAAY,CAAC,OAAO,CAAC,EACrB,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,QAAQ;KAChB,CAAC,EACF,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EACjC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,mBAA2B;IACvE,YAAY,UAAuB,EAAE,MAAsB;QACzD,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;YAChC,EAAE,EAAE,YAAY;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ZodType } from "zod";
|
|
2
|
+
import type RegistryLookup from "../loader/registry";
|
|
3
|
+
import { type SemVerInput } from "../packFormat";
|
|
4
|
+
import type { Class } from "./class";
|
|
5
|
+
import type { Predicate } from "./filters";
|
|
6
|
+
import type { InputOutput } from "./inputOutput";
|
|
7
|
+
type Mapper<From extends Out, To extends In, Out, In> = (it: From, nested: (it: Out) => In) => To;
|
|
8
|
+
export interface IOSerializer<Out, In = unknown> {
|
|
9
|
+
deserialize(input: In, nested: (it: In) => Out): Out | false;
|
|
10
|
+
serialize(input: Out, nested: (it: Out) => In): In | false;
|
|
11
|
+
}
|
|
12
|
+
export interface SerializerBuilder<Out, In> {
|
|
13
|
+
deserializer<TIn extends In>(test: Predicate<In>, mapper: Mapper<TIn, Out, In, Out>): void;
|
|
14
|
+
serializer<TOut extends Out, TIn extends In>(clazz: Class<TOut>, mapper: Mapper<TOut, TIn, Out, In>): void;
|
|
15
|
+
register<TOut extends Out, TIn extends In>(clazz: Class<TOut>, test: Predicate<In>, schema: ZodType<TIn>, deserialize: Mapper<TIn, TOut, In, Out>, serialize: Mapper<TOut, TIn, Out, In>): void;
|
|
16
|
+
}
|
|
17
|
+
export declare function createSerializer<Out>(factory: (builder: SerializerBuilder<Out, unknown>) => void): IOSerializer<Out, unknown>;
|
|
18
|
+
export declare abstract class VersionedSerializer<Out extends InputOutput> {
|
|
19
|
+
private readonly lookup;
|
|
20
|
+
private readonly type;
|
|
21
|
+
private readonly serializer;
|
|
22
|
+
private readonly typeName;
|
|
23
|
+
constructor(packFormat: SemVerInput, lookup: RegistryLookup, type: Class<Out>, serializers: Record<string, IOSerializer<Out>>);
|
|
24
|
+
serialize(ingredient: Out): unknown;
|
|
25
|
+
serializeList(ingredients: Out[]): unknown[];
|
|
26
|
+
private deserializeUnvalidated;
|
|
27
|
+
deserialize(input: unknown): Out;
|
|
28
|
+
validated<T extends Out>(ingredient: T): T;
|
|
29
|
+
createList(input: unknown[]): Out[];
|
|
30
|
+
}
|
|
31
|
+
export declare function isObjectWith(property: string): (input: unknown) => input is Record<string, unknown>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {} from "zod";
|
|
2
|
+
import { IllegalShapeError, transformErrors } from "../error";
|
|
3
|
+
import { isAtLeastVersion } from "../packFormat";
|
|
4
|
+
export function createSerializer(factory) {
|
|
5
|
+
const deserializers = [];
|
|
6
|
+
const serializers = [];
|
|
7
|
+
factory({
|
|
8
|
+
deserializer: (test, mapper) => {
|
|
9
|
+
deserializers.push({
|
|
10
|
+
test,
|
|
11
|
+
mapper: mapper,
|
|
12
|
+
});
|
|
13
|
+
},
|
|
14
|
+
serializer: (clazz, mapper) => {
|
|
15
|
+
serializers.push({
|
|
16
|
+
clazz,
|
|
17
|
+
mapper: mapper,
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
register(clazz, test, schema, deserialize, serialize) {
|
|
21
|
+
this.serializer(clazz, (it, nested) => schema.encode(serialize(it, nested)));
|
|
22
|
+
this.deserializer(test, (it, nested) => deserialize(schema.parse(it), nested));
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
deserialize: (input, nested) => {
|
|
27
|
+
const match = deserializers.find((it) => it.test(input));
|
|
28
|
+
if (!match)
|
|
29
|
+
return false;
|
|
30
|
+
return match.mapper(input, nested);
|
|
31
|
+
},
|
|
32
|
+
serialize(output, nested) {
|
|
33
|
+
const match = serializers.find((it) => output instanceof it.clazz);
|
|
34
|
+
if (!match)
|
|
35
|
+
return false;
|
|
36
|
+
return match.mapper(output, nested);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export class VersionedSerializer {
|
|
41
|
+
lookup;
|
|
42
|
+
type;
|
|
43
|
+
serializer;
|
|
44
|
+
typeName;
|
|
45
|
+
constructor(packFormat, lookup, type, serializers) {
|
|
46
|
+
this.lookup = lookup;
|
|
47
|
+
this.type = type;
|
|
48
|
+
const match = Object.entries(serializers).findLast(([it]) => isAtLeastVersion(packFormat, it))?.[1];
|
|
49
|
+
this.typeName = type.name.toLowerCase();
|
|
50
|
+
if (!match)
|
|
51
|
+
throw new Error(`could not find ${this.typeName} serializer working for ${packFormat}`);
|
|
52
|
+
this.serializer = match;
|
|
53
|
+
}
|
|
54
|
+
serialize(ingredient) {
|
|
55
|
+
const serialized = this.serializer.serialize(ingredient, (it) => this.serialize(it));
|
|
56
|
+
if (serialized !== false)
|
|
57
|
+
return serialized;
|
|
58
|
+
throw new IllegalShapeError(`unable to serialize ${this.typeName}`, ingredient);
|
|
59
|
+
}
|
|
60
|
+
serializeList(ingredients) {
|
|
61
|
+
return ingredients.map((it) => this.serialize(it));
|
|
62
|
+
}
|
|
63
|
+
deserializeUnvalidated(input) {
|
|
64
|
+
if (input instanceof this.type)
|
|
65
|
+
return input;
|
|
66
|
+
if (!input)
|
|
67
|
+
throw new IllegalShapeError(`${this.typeName} input may not be null`);
|
|
68
|
+
const deserialized = this.serializer.deserialize(input, (it) => this.deserialize(it));
|
|
69
|
+
if (deserialized)
|
|
70
|
+
return deserialized;
|
|
71
|
+
throw new IllegalShapeError(`unknown ${this.typeName} shape`, input);
|
|
72
|
+
}
|
|
73
|
+
deserialize(input) {
|
|
74
|
+
return transformErrors(() => {
|
|
75
|
+
const deserialized = this.deserializeUnvalidated(input);
|
|
76
|
+
deserialized.validate(this.lookup);
|
|
77
|
+
return deserialized;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
validated(ingredient) {
|
|
81
|
+
ingredient.validate(this.lookup);
|
|
82
|
+
return ingredient;
|
|
83
|
+
}
|
|
84
|
+
// TODO rename deserializeList
|
|
85
|
+
createList(input) {
|
|
86
|
+
return input.map((it) => this.deserialize(it));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function isObjectWith(property) {
|
|
90
|
+
return (input) => input !== undefined &&
|
|
91
|
+
input !== null &&
|
|
92
|
+
typeof input === "object" &&
|
|
93
|
+
property in input;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/common/serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/emit/assets/models.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,aAAa,MAAM,cAAc,CAAC;AAkBzC,MAAM,CAAC,OAAO,OAAO,YAAY;IACd,MAAM,CAAC;IAExB,YAAY,IAAY;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAC7B,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,WAAW,IAAI,IAAI,EAAE,CAAC,IAAI,OAAO,CAChE,CAAC;IACJ,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/emit/assets/models.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,aAAa,MAAM,cAAc,CAAC;AAkBzC,MAAM,CAAC,OAAO,OAAO,YAAY;IACd,MAAM,CAAC;IAExB,YAAY,IAAY;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAC7B,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,WAAW,IAAI,IAAI,EAAE,CAAC,IAAI,OAAO,CAChE,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,OAAoB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,EAAW,EAAE,KAAY;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,EAAW,EAAE,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE;gBACR,GAAG,EAAE,OAAO;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAW,EAAE,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE;gBACR,MAAM,EAAE,OAAO;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAW,EAAE,KAAc,EAAE,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;oBAC9B,MAAM,EAAE,6BAA6B,GAAG,EAAE;oBAC1C,QAAQ,EAAE;wBACR,GAAG,EAAE,OAAO;wBACZ,QAAQ,EAAE,OAAO;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;oBAC9B,MAAM,EAAE,uBAAuB,GAAG,EAAE;oBACpC,QAAQ,EAAE;wBACR,KAAK,EAAE,OAAO;wBACd,QAAQ,EAAE,OAAO;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAO,CAAC;IACjB,CAAC;CACF"}
|
package/dist/emit/blacklist.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
|
-
import type { BaseContext
|
|
2
|
+
import type { BaseContext } from "@adeficior/pack-resolver";
|
|
3
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";
|
|
@@ -13,11 +13,10 @@ export interface BlacklistRules {
|
|
|
13
13
|
}
|
|
14
14
|
type RegistryIdInput<T extends RegistryId> = InferIds<T> | RegExp;
|
|
15
15
|
export default class BlacklistEmitter implements BlacklistRules, ClearableEmitter {
|
|
16
|
-
private readonly logger;
|
|
17
16
|
private readonly context;
|
|
18
17
|
private hidden;
|
|
19
18
|
private readonly hideModes;
|
|
20
|
-
constructor(
|
|
19
|
+
constructor(context: PackContext, options: BlacklistOptions);
|
|
21
20
|
hide(...inputs: IngredientFilter[]): void;
|
|
22
21
|
hideEntry<T extends RegistryId>(type: T, ...entries: RegistryIdInput<T>[]): void;
|
|
23
22
|
private filterItemIds;
|
package/dist/emit/blacklist.js
CHANGED
|
@@ -5,12 +5,10 @@ import createIngredientPredicate from "../common/ingredient/filter.js";
|
|
|
5
5
|
import { ItemIngredient } from "../common/ingredient/index.js";
|
|
6
6
|
import { toJson } from "../textHelper.js";
|
|
7
7
|
export default class BlacklistEmitter {
|
|
8
|
-
logger;
|
|
9
8
|
context;
|
|
10
9
|
hidden = [];
|
|
11
10
|
hideModes;
|
|
12
|
-
constructor(
|
|
13
|
-
this.logger = logger;
|
|
11
|
+
constructor(context, options) {
|
|
14
12
|
this.context = context;
|
|
15
13
|
this.hideModes = arrayOrSelf(options.hideFrom);
|
|
16
14
|
}
|
|
@@ -39,13 +37,13 @@ export default class BlacklistEmitter {
|
|
|
39
37
|
if (!keys)
|
|
40
38
|
throw new Error("you can only use regex/predicates to blacklist items if a registry dump is loaded");
|
|
41
39
|
const predicate = createIngredientPredicate(test, this.context);
|
|
42
|
-
return [...keys.keys()].filter((it) => predicate(new ItemIngredient(it)
|
|
40
|
+
return [...keys.keys()].filter((it) => predicate(new ItemIngredient(it)));
|
|
43
41
|
}
|
|
44
42
|
resolveIds(input) {
|
|
45
43
|
if (input instanceof RegExp || typeof input === "function") {
|
|
46
44
|
return this.filterItemIds(input);
|
|
47
45
|
}
|
|
48
|
-
const ingredient = this.context.ingredients.
|
|
46
|
+
const ingredient = this.context.ingredients.deserialize(input);
|
|
49
47
|
const registries = [
|
|
50
48
|
"minecraft:item",
|
|
51
49
|
"minecraft:fluid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { type BaseContext
|
|
1
|
+
import { type BaseContext } from "@adeficior/pack-resolver";
|
|
2
2
|
import { type CommonFilter, type Predicate } from "../../common/filters.js";
|
|
3
3
|
import type { IdInput, NormalizedId } from "../../common/id.js";
|
|
4
4
|
import type { IngredientFilter } from "../../common/ingredient/filter.js";
|
|
@@ -23,13 +23,12 @@ export interface LootRules {
|
|
|
23
23
|
disabledModifier(id: IdInput): void;
|
|
24
24
|
}
|
|
25
25
|
export default class LootTableEmitter implements LootRules, ClearableEmitter {
|
|
26
|
-
private readonly logger;
|
|
27
26
|
private readonly lootTables;
|
|
28
27
|
private readonly context;
|
|
29
28
|
private readonly customTables;
|
|
30
29
|
private readonly customModifiers;
|
|
31
30
|
private readonly ruled;
|
|
32
|
-
constructor(
|
|
31
|
+
constructor(lootTables: RegistryProvider<LootTable>, context: PackContext);
|
|
33
32
|
resolver(context: BaseContext): import("@adeficior/pack-resolver").Resolver<import("@adeficior/pack-resolver").Acceptable, BaseContext>;
|
|
34
33
|
private tablePath;
|
|
35
34
|
private modifierPath;
|
package/dist/emit/data/loot.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { combineResolvers
|
|
1
|
+
import { combineResolvers } from "@adeficior/pack-resolver";
|
|
2
2
|
import { resolveIDTest, } from "../../common/filters.js";
|
|
3
3
|
import { encodeId, prefix } from "../../common/id.js";
|
|
4
4
|
import createIngredientPredicate from "../../common/ingredient/filter.js";
|
|
@@ -16,14 +16,12 @@ export const EMPTY_LOOT_MODIFIER = {
|
|
|
16
16
|
type: "noop",
|
|
17
17
|
};
|
|
18
18
|
export default class LootTableEmitter {
|
|
19
|
-
logger;
|
|
20
19
|
lootTables;
|
|
21
20
|
context;
|
|
22
21
|
customTables = new CustomEmitter((it) => this.tablePath(it));
|
|
23
22
|
customModifiers = new CustomEmitter((it) => this.modifierPath(it));
|
|
24
23
|
ruled;
|
|
25
|
-
constructor(
|
|
26
|
-
this.logger = logger;
|
|
24
|
+
constructor(lootTables, context) {
|
|
27
25
|
this.lootTables = lootTables;
|
|
28
26
|
this.context = context;
|
|
29
27
|
this.ruled = new RuledEmitter(this.lootTables, (id) => this.tablePath(id), EMPTY_LOOT_TABLE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/data/recipe.js
CHANGED
|
@@ -98,7 +98,7 @@ export default class RecipeEmitter {
|
|
|
98
98
|
}
|
|
99
99
|
replaceResult(test, input, additionalTest) {
|
|
100
100
|
const predicate = this.createResultPredicate(test);
|
|
101
|
-
const value = this.context.results.
|
|
101
|
+
const value = this.context.results.deserialize(input);
|
|
102
102
|
const replace = createReplacer(predicate, value);
|
|
103
103
|
this.addRule({
|
|
104
104
|
operation: "replace result",
|
|
@@ -109,7 +109,7 @@ export default class RecipeEmitter {
|
|
|
109
109
|
}
|
|
110
110
|
replaceIngredient(test, input, additionalTest) {
|
|
111
111
|
const predicate = this.createIngredientPredicate(test);
|
|
112
|
-
const value = this.context.ingredients.
|
|
112
|
+
const value = this.context.ingredients.deserialize(input);
|
|
113
113
|
const replace = createReplacer(predicate, value);
|
|
114
114
|
this.addRule({
|
|
115
115
|
operation: "replace ingredient",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"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
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
|
|
2
|
-
import { type BaseContext
|
|
2
|
+
import { type BaseContext } from "@adeficior/pack-resolver";
|
|
3
3
|
import { type CommonFilter } from "../../common/filters.js";
|
|
4
4
|
import type { NormalizedId, TagInput } from "../../common/id.js";
|
|
5
5
|
import type TagsLoader from "../../loader/tags.js";
|
|
@@ -25,14 +25,13 @@ export interface TagEmitterOptions {
|
|
|
25
25
|
advancedTags?: boolean;
|
|
26
26
|
}
|
|
27
27
|
export default class TagEmitter implements TagRules, ClearableEmitter {
|
|
28
|
-
private readonly logger;
|
|
29
28
|
private readonly registry;
|
|
30
29
|
private readonly options;
|
|
31
30
|
private readonly emitters;
|
|
32
31
|
readonly blocks: ScopedTagRules<"minecraft:block">;
|
|
33
32
|
readonly items: ScopedTagRules<"minecraft:item">;
|
|
34
33
|
readonly fluids: ScopedTagRules<"minecraft:fluid">;
|
|
35
|
-
constructor(
|
|
34
|
+
constructor(registry: TagsLoader, options: TagEmitterOptions);
|
|
36
35
|
clear(): void;
|
|
37
36
|
resolver(context: BaseContext): import("@adeficior/pack-resolver").Resolver<import("@adeficior/pack-resolver").Acceptable, BaseContext>;
|
|
38
37
|
add<T extends RegistryId>(registry: T, id: TagInput, value: TagEntry<InferIds<T>>): void;
|
package/dist/emit/data/tags.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { simpleResolver
|
|
1
|
+
import { simpleResolver } from "@adeficior/pack-resolver";
|
|
2
2
|
import { resolveIDTest } from "../../common/filters.js";
|
|
3
3
|
import { createId, encodeId } from "../../common/id.js";
|
|
4
4
|
import Registry from "../../common/registry.js";
|
|
@@ -73,15 +73,13 @@ class ScopedEmitter {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
export default class TagEmitter {
|
|
76
|
-
logger;
|
|
77
76
|
registry;
|
|
78
77
|
options;
|
|
79
78
|
emitters = new Map();
|
|
80
79
|
blocks;
|
|
81
80
|
items;
|
|
82
81
|
fluids;
|
|
83
|
-
constructor(
|
|
84
|
-
this.logger = logger;
|
|
82
|
+
constructor(registry, options) {
|
|
85
83
|
this.registry = registry;
|
|
86
84
|
this.options = options;
|
|
87
85
|
this.blocks = this.scoped("minecraft:block", "blocks");
|