@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.
Files changed (158) hide show
  1. package/dist/common/class.d.ts +4 -0
  2. package/dist/common/class.js +1 -0
  3. package/dist/common/class.js.map +1 -0
  4. package/dist/common/fields.d.ts +1 -1
  5. package/dist/common/fields.js +1 -1
  6. package/dist/common/fields.js.map +1 -1
  7. package/dist/common/filters.d.ts +2 -3
  8. package/dist/common/filters.js +8 -10
  9. package/dist/common/filters.js.map +1 -1
  10. package/dist/common/id.d.ts +0 -2
  11. package/dist/common/id.js +2 -9
  12. package/dist/common/id.js.map +1 -1
  13. package/dist/common/ingredient/filter.js +10 -24
  14. package/dist/common/ingredient/filter.js.map +1 -1
  15. package/dist/common/ingredient/index.d.ts +4 -30
  16. package/dist/common/ingredient/index.js +1 -34
  17. package/dist/common/ingredient/index.js.map +1 -1
  18. package/dist/common/ingredient/serializer.d.ts +2 -10
  19. package/dist/common/ingredient/serializer.js +39 -106
  20. package/dist/common/ingredient/serializer.js.map +1 -1
  21. package/dist/common/{serializable.d.ts → inputOutput.d.ts} +1 -3
  22. package/dist/common/inputOutput.js +1 -0
  23. package/dist/common/inputOutput.js.map +1 -0
  24. package/dist/common/result/index.d.ts +2 -17
  25. package/dist/common/result/index.js +0 -15
  26. package/dist/common/result/index.js.map +1 -1
  27. package/dist/common/result/serializer.d.ts +2 -10
  28. package/dist/common/result/serializer.js +20 -75
  29. package/dist/common/result/serializer.js.map +1 -1
  30. package/dist/common/serializer.d.ts +32 -0
  31. package/dist/common/serializer.js +95 -0
  32. package/dist/common/serializer.js.map +1 -0
  33. package/dist/emit/assets/models.js +0 -1
  34. package/dist/emit/assets/models.js.map +1 -1
  35. package/dist/emit/blacklist.d.ts +2 -3
  36. package/dist/emit/blacklist.js +3 -5
  37. package/dist/emit/blacklist.js.map +1 -1
  38. package/dist/emit/data/loot.d.ts +2 -3
  39. package/dist/emit/data/loot.js +2 -4
  40. package/dist/emit/data/loot.js.map +1 -1
  41. package/dist/emit/data/recipe.js +2 -2
  42. package/dist/emit/data/recipe.js.map +1 -1
  43. package/dist/emit/data/tags.d.ts +2 -3
  44. package/dist/emit/data/tags.js +2 -4
  45. package/dist/emit/data/tags.js.map +1 -1
  46. package/dist/emit/rule/lootTable.js +9 -10
  47. package/dist/emit/rule/lootTable.js.map +1 -1
  48. package/dist/emit/rule/recipe.d.ts +1 -1
  49. package/dist/emit/rule/recipe.js +4 -4
  50. package/dist/emit/rule/recipe.js.map +1 -1
  51. package/dist/error.d.ts +1 -1
  52. package/dist/error.js +6 -20
  53. package/dist/error.js.map +1 -1
  54. package/dist/loader/index.d.ts +0 -2
  55. package/dist/loader/index.js +0 -4
  56. package/dist/loader/index.js.map +1 -1
  57. package/dist/loader/loot.d.ts +1 -2
  58. package/dist/loader/loot.js +2 -6
  59. package/dist/loader/loot.js.map +1 -1
  60. package/dist/loader/pack.d.ts +2 -8
  61. package/dist/loader/pack.js +10 -19
  62. package/dist/loader/pack.js.map +1 -1
  63. package/dist/loader/recipe.d.ts +1 -2
  64. package/dist/loader/recipe.js +2 -8
  65. package/dist/loader/recipe.js.map +1 -1
  66. package/dist/loader/tags.d.ts +2 -3
  67. package/dist/loader/tags.js +21 -8
  68. package/dist/loader/tags.js.map +1 -1
  69. package/dist/parser/recipe/adAstra/conversion.d.ts +1 -1
  70. package/dist/parser/recipe/adAstra/conversion.js +2 -2
  71. package/dist/parser/recipe/adAstra/conversion.js.map +1 -1
  72. package/dist/parser/recipe/adAstra/inputOutput.d.ts +1 -1
  73. package/dist/parser/recipe/adAstra/inputOutput.js +2 -2
  74. package/dist/parser/recipe/adAstra/inputOutput.js.map +1 -1
  75. package/dist/parser/recipe/adAstra/spaceStation.d.ts +1 -1
  76. package/dist/parser/recipe/adAstra/spaceStation.js +1 -1
  77. package/dist/parser/recipe/adAstra/spaceStation.js.map +1 -1
  78. package/dist/parser/recipe/botania/apothecary.d.ts +1 -1
  79. package/dist/parser/recipe/botania/apothecary.js +3 -3
  80. package/dist/parser/recipe/botania/apothecary.js.map +1 -1
  81. package/dist/parser/recipe/botania/blocks.js +1 -1
  82. package/dist/parser/recipe/botania/blocks.js.map +1 -1
  83. package/dist/parser/recipe/botania/brew.d.ts +1 -1
  84. package/dist/parser/recipe/botania/brew.js +1 -1
  85. package/dist/parser/recipe/botania/brew.js.map +1 -1
  86. package/dist/parser/recipe/botania/gogWrapper.d.ts +1 -1
  87. package/dist/parser/recipe/botania/gogWrapper.js +2 -2
  88. package/dist/parser/recipe/botania/gogWrapper.js.map +1 -1
  89. package/dist/parser/recipe/botania/manaInfusion.d.ts +1 -1
  90. package/dist/parser/recipe/botania/manaInfusion.js +3 -3
  91. package/dist/parser/recipe/botania/manaInfusion.js.map +1 -1
  92. package/dist/parser/recipe/botania/nbtWrapper.d.ts +1 -1
  93. package/dist/parser/recipe/botania/nbtWrapper.js +2 -2
  94. package/dist/parser/recipe/botania/nbtWrapper.js.map +1 -1
  95. package/dist/parser/recipe/botania/runicAltar.js +1 -1
  96. package/dist/parser/recipe/botania/runicAltar.js.map +1 -1
  97. package/dist/parser/recipe/create/assembly.d.ts +1 -1
  98. package/dist/parser/recipe/create/assembly.js +4 -4
  99. package/dist/parser/recipe/create/assembly.js.map +1 -1
  100. package/dist/parser/recipe/farmersdelight/cooking.d.ts +1 -1
  101. package/dist/parser/recipe/farmersdelight/cooking.js +3 -3
  102. package/dist/parser/recipe/farmersdelight/cooking.js.map +1 -1
  103. package/dist/parser/recipe/farmersdelight/cutting.d.ts +1 -1
  104. package/dist/parser/recipe/farmersdelight/cutting.js +2 -2
  105. package/dist/parser/recipe/farmersdelight/cutting.js.map +1 -1
  106. package/dist/parser/recipe/forge/conditional.d.ts +1 -1
  107. package/dist/parser/recipe/forge/conditional.js +2 -2
  108. package/dist/parser/recipe/forge/conditional.js.map +1 -1
  109. package/dist/parser/recipe/index.d.ts +2 -2
  110. package/dist/parser/recipe/index.js +4 -5
  111. package/dist/parser/recipe/index.js.map +1 -1
  112. package/dist/parser/recipe/manyToMany.d.ts +1 -1
  113. package/dist/parser/recipe/manyToMany.js +1 -1
  114. package/dist/parser/recipe/manyToMany.js.map +1 -1
  115. package/dist/parser/recipe/manyToOne.d.ts +1 -1
  116. package/dist/parser/recipe/manyToOne.js +2 -2
  117. package/dist/parser/recipe/manyToOne.js.map +1 -1
  118. package/dist/parser/recipe/oneToOne.d.ts +1 -1
  119. package/dist/parser/recipe/oneToOne.js +3 -3
  120. package/dist/parser/recipe/oneToOne.js.map +1 -1
  121. package/dist/parser/recipe/roots/component.d.ts +1 -1
  122. package/dist/parser/recipe/roots/component.js +1 -1
  123. package/dist/parser/recipe/roots/component.js.map +1 -1
  124. package/dist/parser/recipe/roots/ritual.d.ts +1 -1
  125. package/dist/parser/recipe/roots/ritual.js +2 -2
  126. package/dist/parser/recipe/roots/ritual.js.map +1 -1
  127. package/dist/parser/recipe/thermal/catalyst.d.ts +1 -1
  128. package/dist/parser/recipe/thermal/catalyst.js +2 -2
  129. package/dist/parser/recipe/thermal/catalyst.js.map +1 -1
  130. package/dist/parser/recipe/thermal/fuel.d.ts +1 -1
  131. package/dist/parser/recipe/thermal/fuel.js +2 -2
  132. package/dist/parser/recipe/thermal/fuel.js.map +1 -1
  133. package/dist/parser/recipe/thermal/index.d.ts +1 -1
  134. package/dist/parser/recipe/thermal/index.js +3 -3
  135. package/dist/parser/recipe/thermal/index.js.map +1 -1
  136. package/dist/parser/recipe/thermal/ingredient.js +1 -1
  137. package/dist/parser/recipe/thermal/ingredient.js.map +1 -1
  138. package/dist/parser/recipe/thermal/treeExtraction.d.ts +1 -1
  139. package/dist/parser/recipe/thermal/treeExtraction.js +4 -4
  140. package/dist/parser/recipe/thermal/treeExtraction.js.map +1 -1
  141. package/dist/parser/recipe/vanilla/shaped.d.ts +1 -1
  142. package/dist/parser/recipe/vanilla/shaped.js +2 -2
  143. package/dist/parser/recipe/vanilla/shaped.js.map +1 -1
  144. package/dist/parser/recipe/vanilla/smelting.d.ts +1 -1
  145. package/dist/parser/recipe/vanilla/smelting.js +3 -3
  146. package/dist/parser/recipe/vanilla/smelting.js.map +1 -1
  147. package/dist/parser/recipe/vanilla/smithing.d.ts +1 -1
  148. package/dist/parser/recipe/vanilla/smithing.js +4 -4
  149. package/dist/parser/recipe/vanilla/smithing.js.map +1 -1
  150. package/dist/parser/recipe/vanilla/stonecutting.d.ts +1 -1
  151. package/dist/parser/recipe/vanilla/stonecutting.js +3 -3
  152. package/dist/parser/recipe/vanilla/stonecutting.js.map +1 -1
  153. package/dist/schema/data/loot.d.ts +60 -1086
  154. package/dist/textHelper.js +1 -10
  155. package/dist/textHelper.js.map +1 -1
  156. package/package.json +2 -2
  157. package/dist/common/serializable.js +0 -1
  158. 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 { Serializable } from "../serializable";
7
- export declare abstract class Result implements Serializable {
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":"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"}
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
- export default class ResultSerializer {
5
- private readonly packFormat;
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
- class OldDeserializer {
7
- schemas = {
8
- itemStack: z.object({
9
- item: IdSchema,
10
- count: CountSchema,
11
- chance: ChanceSchema,
12
- }),
13
- fluidStack: z.object({
14
- fluid: IdSchema,
15
- amount: AmountSchema,
16
- chance: ChanceSchema,
17
- }),
18
- block: z.object({
19
- block: IdSchema,
20
- }),
21
- };
22
- deserialize(input) {
23
- if ("block" in input) {
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
- this.packFormat = packFormat;
44
- this.lookup = lookup;
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":"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"}
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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"}
@@ -5,7 +5,6 @@ export default class ModelEmitter {
5
5
  constructor(type) {
6
6
  this.custom = new CustomEmitter((id) => `assets/${id.namespace}/models/${type}/${id.path}.json`);
7
7
  }
8
- // TODO helper WrappedEmitter?
9
8
  clear() {
10
9
  this.custom.clear();
11
10
  }
@@ -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,8BAA8B;IAC9B,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"}
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"}
@@ -1,5 +1,5 @@
1
1
  import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
2
- import type { BaseContext, Logger } from "@adeficior/pack-resolver";
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(logger: Logger, context: PackContext, options: BlacklistOptions);
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;
@@ -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(logger, context, options) {
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), this.logger));
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.create(input);
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":"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"}
1
+ {"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type BaseContext, type Logger } from "@adeficior/pack-resolver";
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(logger: Logger, lootTables: RegistryProvider<LootTable>, context: PackContext);
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;
@@ -1,4 +1,4 @@
1
- import { combineResolvers, } from "@adeficior/pack-resolver";
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(logger, lootTables, context) {
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":"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"}
1
+ {"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"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"}
@@ -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.create(input);
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.create(input);
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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"}
@@ -1,5 +1,5 @@
1
1
  import type { InferIds, RegistryId } from "@adeficior/data-modifier/generated";
2
- import { type BaseContext, type Logger } from "@adeficior/pack-resolver";
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(logger: Logger, registry: TagsLoader, options: TagEmitterOptions);
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;
@@ -1,4 +1,4 @@
1
- import { simpleResolver, } from "@adeficior/pack-resolver";
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(logger, registry, options) {
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");