@adeficior/data-modifier 1.0.0-rc.36 → 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 (35) 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/id.d.ts +0 -2
  8. package/dist/common/id.js +2 -9
  9. package/dist/common/id.js.map +1 -1
  10. package/dist/common/ingredient/index.d.ts +2 -28
  11. package/dist/common/ingredient/index.js +1 -33
  12. package/dist/common/ingredient/index.js.map +1 -1
  13. package/dist/common/ingredient/serializer.d.ts +2 -10
  14. package/dist/common/ingredient/serializer.js +38 -104
  15. package/dist/common/ingredient/serializer.js.map +1 -1
  16. package/dist/common/{serializable.d.ts → inputOutput.d.ts} +1 -3
  17. package/dist/common/inputOutput.js +1 -0
  18. package/dist/common/inputOutput.js.map +1 -0
  19. package/dist/common/result/index.d.ts +2 -17
  20. package/dist/common/result/index.js +0 -15
  21. package/dist/common/result/index.js.map +1 -1
  22. package/dist/common/result/serializer.d.ts +2 -10
  23. package/dist/common/result/serializer.js +20 -75
  24. package/dist/common/result/serializer.js.map +1 -1
  25. package/dist/common/serializer.d.ts +32 -0
  26. package/dist/common/serializer.js +95 -0
  27. package/dist/common/serializer.js.map +1 -0
  28. package/dist/error.js +6 -17
  29. package/dist/error.js.map +1 -1
  30. package/dist/loader/tags.js.map +1 -1
  31. package/dist/parser/recipe/thermal/index.js.map +1 -1
  32. package/dist/schema/data/loot.d.ts +60 -1086
  33. package/package.json +2 -2
  34. package/dist/common/serializable.js +0 -1
  35. package/dist/common/serializable.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ type Constructor<T> = new (...args: any[]) => T;
2
+ type AbstractConstructor<T> = abstract new (...args: any[]) => T;
3
+ export type Class<T> = Constructor<T> | AbstractConstructor<T>;
4
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/common/class.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
1
  import z from "zod";
2
- export declare const CountSchema: z.ZodDefault<z.ZodNumber>;
2
+ export declare const CountSchema: z.ZodCodec<z.ZodOptional<z.ZodNumber>, z.ZodNumber>;
3
3
  export declare const AmountSchema: z.ZodNumber;
4
4
  export declare const ChanceSchema: z.ZodOptional<z.ZodNumber>;
@@ -1,5 +1,5 @@
1
1
  import z from "zod";
2
- export const CountSchema = z.number().int().positive().default(1);
2
+ export const CountSchema = z.codec(z.number().int().positive().optional(), z.number(), { decode: (it) => it ?? 1, encode: (it) => (it === 1 ? undefined : it) });
3
3
  export const AmountSchema = z.number().positive();
4
4
  export const ChanceSchema = z.number().max(1).positive().optional();
5
5
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/common/fields.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/common/fields.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAChC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EACtC,CAAC,CAAC,MAAM,EAAE,EACV,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CACzE,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC"}
@@ -9,8 +9,6 @@ export type NormalizedId<T extends string = string> = T extends `${string}:${str
9
9
  export type TagId = NormalizedId<`#${string}`>;
10
10
  export type TagInput = IdInput<`#${string}`>;
11
11
  export declare const IdSchema: zod.ZodString;
12
- export declare const TagSchema: zod.ZodType<`#${string}`>;
13
- export declare const IdOrTagSchema: zod.ZodString;
14
12
  export declare function createId(from: IdInput): Id;
15
13
  export declare function encodeId<T extends string>(from: IdInput<T>): NormalizedId<T>;
16
14
  export declare function toTag(from: IdInput): TagId;
package/dist/common/id.js CHANGED
@@ -1,16 +1,9 @@
1
1
  import zod from "zod";
2
2
  export const IdSchema = zod
3
3
  .string()
4
- .regex(/^([a-z0-9_.-]+:)?[a-z0-9/._-]+$/i)
4
+ .regex(/^#?([a-z0-9_.-]+:)?[a-z0-9_.-/]+$/i, "ID may only include letters, numbers, dashes and underscores")
5
+ .refine((val) => !val.startsWith("#"), "IDs may not start with a hashtag")
5
6
  .describe("Valid ID");
6
- export const TagSchema = zod
7
- .string()
8
- .regex(/^#([a-z0-9_.-]+:)?[a-z0-9/._-]+$/i)
9
- .describe("Valid Tag-ID");
10
- export const IdOrTagSchema = zod
11
- .string()
12
- .regex(/^#?([a-z0-9_.-]+:)?[a-z0-9/._-]+$/i)
13
- .describe("Valid ID or Tag-ID");
14
7
  export function createId(from) {
15
8
  if (typeof from !== "string")
16
9
  return from;
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/common/id.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAqBtB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,kCAAkC,CAAC;KACzC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG;KACzB,MAAM,EAAE;KACR,KAAK,CAAC,mCAAmC,CAAC;KAC1C,QAAQ,CAAC,cAAc,CAA8B,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG;KAC7B,MAAM,EAAE;KACR,KAAK,CAAC,oCAAoC,CAAC;KAC3C,QAAQ,CAAC,oBAAoB,CAAC,CAAC;AAElC,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC9D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,IAAgB;IACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAuB,CAAC;QACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACtB,OAAO,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAqB,CAAC;QAC9D,OAAO,aAAa,IAAI,EAAqB,CAAC;IAChD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAqB,CAAC;IAC5E,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAqB,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAa;IACjC,OAAO,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAU,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW,EAAE,MAAc;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW,EAAE,MAAc;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/common/id.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAqBtB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG;KACxB,MAAM,EAAE;KACR,KAAK,CACJ,oCAAoC,EACpC,8DAA8D,CAC/D;KACA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,kCAAkC,CAAC;KACzE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAExB,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QACtB,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEzD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACvE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;IAC9D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAmB,IAAgB;IACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,IAAuB,CAAC;QACvD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YACtB,OAAO,cAAc,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAqB,CAAC;QAC9D,OAAO,aAAa,IAAI,EAAqB,CAAC;IAChD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAqB,CAAC;IAC5E,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,EAAqB,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAa;IACjC,OAAO,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAU,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa;IACpC,OAAO,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW,EAAE,MAAc;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAW,EAAE,MAAc;IAChD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -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, type TagId } from "../id";
4
+ import type { InputOutput } from "../inputOutput";
5
5
  import { BlockResult, FluidResult, ItemResult, type Result } from "../result";
6
- import type { Serializable } from "../serializable";
7
- export declare abstract class Ingredient implements Serializable {
6
+ export declare abstract class Ingredient implements InputOutput {
8
7
  validate(_: RegistryLookup): void;
9
- abstract serialize(packFormat: SemVerInput): unknown;
10
8
  abstract idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
11
9
  abstract asResult(): Result;
12
10
  }
@@ -20,24 +18,13 @@ export declare abstract class TagIngredient extends Ingredient {
20
18
  export declare class ItemTagIngredient extends TagIngredient {
21
19
  readonly count: number;
22
20
  constructor(tag: IdInput, count?: number);
23
- serialize(_packFormat: SemVerInput): {
24
- tag: `${string}:${string}`;
25
- count: number | undefined;
26
- };
27
21
  }
28
22
  export declare class FluidTagIngredient extends TagIngredient {
29
23
  readonly amount: number;
30
24
  constructor(tag: IdInput, amount?: number);
31
- serialize(_packFormat: SemVerInput): {
32
- fluidTag: `${string}:${string}`;
33
- amount: number;
34
- };
35
25
  }
36
26
  export declare class BlockTagIngredient extends TagIngredient {
37
27
  constructor(tag: IdInput);
38
- serialize(_packFormat: SemVerInput): {
39
- blockTag: `${string}:${string}`;
40
- };
41
28
  }
42
29
  export declare abstract class RegistryEntryIngredient<T extends string> extends Ingredient {
43
30
  readonly registry: NormalizedId<RegistryId>;
@@ -48,10 +35,6 @@ export declare abstract class RegistryEntryIngredient<T extends string> extends
48
35
  export declare class ItemIngredient extends RegistryEntryIngredient<ItemId> {
49
36
  readonly count: number;
50
37
  constructor(id: IdInput<ItemId>, count?: number);
51
- serialize(_packFormat: SemVerInput): {
52
- item: `${string}:${string}`;
53
- count: number | undefined;
54
- };
55
38
  validate(lookup: RegistryLookup): void;
56
39
  asResult(): ItemResult;
57
40
  }
@@ -59,27 +42,18 @@ export declare class FluidIngredient extends RegistryEntryIngredient<FluidId> {
59
42
  readonly amount: number;
60
43
  readonly chance?: number | undefined;
61
44
  constructor(id: IdInput<FluidId>, amount?: number, chance?: number | undefined);
62
- serialize(_packFormat: SemVerInput): {
63
- fluid: `${string}:${string}`;
64
- amount: number;
65
- };
66
45
  validate(lookup: RegistryLookup): void;
67
46
  asResult(): FluidResult;
68
47
  }
69
48
  export declare class BlockIngredient extends RegistryEntryIngredient<BlockId> {
70
49
  readonly weight?: number | undefined;
71
50
  constructor(id: IdInput<BlockId>, weight?: number | undefined);
72
- serialize(_packFormat: SemVerInput): {
73
- block: `${string}:${string}`;
74
- weight: number | undefined;
75
- };
76
51
  validate(lookup: RegistryLookup): void;
77
52
  asResult(): BlockResult;
78
53
  }
79
54
  export declare class ListIngredient extends Ingredient {
80
55
  readonly entries: Ingredient[];
81
56
  constructor(entries: Ingredient[]);
82
- serialize(packFormat: SemVerInput): unknown[];
83
57
  validate(lookup: RegistryLookup): void;
84
58
  idsFor(registry: NormalizedId<RegistryId>): `${string}:${string}`[];
85
59
  asResult(): Result;
@@ -1,4 +1,4 @@
1
- import { encodeId, stripTag, toTag, } from "../id";
1
+ import { encodeId, toTag, } from "../id";
2
2
  import { BlockResult, FluidResult, ItemResult } from "../result";
3
3
  import { BUCKET } from "../units";
4
4
  export class Ingredient {
@@ -28,11 +28,6 @@ export class ItemTagIngredient extends TagIngredient {
28
28
  super(tag, "minecraft:item");
29
29
  this.count = count;
30
30
  }
31
- serialize(_packFormat) {
32
- const count = this.count === 1 ? undefined : this.count;
33
- const tag = stripTag(this.tag);
34
- return { tag, count };
35
- }
36
31
  }
37
32
  export class FluidTagIngredient extends TagIngredient {
38
33
  amount;
@@ -40,20 +35,11 @@ export class FluidTagIngredient extends TagIngredient {
40
35
  super(tag, "minecraft:fluid");
41
36
  this.amount = amount;
42
37
  }
43
- serialize(_packFormat) {
44
- const { amount } = this;
45
- const tag = stripTag(this.tag);
46
- return { fluidTag: tag, amount };
47
- }
48
38
  }
49
39
  export class BlockTagIngredient extends TagIngredient {
50
40
  constructor(tag) {
51
41
  super(tag, "minecraft:block");
52
42
  }
53
- serialize(_packFormat) {
54
- const tag = stripTag(this.tag);
55
- return { blockTag: tag };
56
- }
57
43
  }
58
44
  export class RegistryEntryIngredient extends Ingredient {
59
45
  registry;
@@ -75,11 +61,6 @@ export class ItemIngredient extends RegistryEntryIngredient {
75
61
  super(id, "minecraft:item");
76
62
  this.count = count;
77
63
  }
78
- serialize(_packFormat) {
79
- const count = this.count === 1 ? undefined : this.count;
80
- const id = encodeId(this.id);
81
- return { item: id, count };
82
- }
83
64
  validate(lookup) {
84
65
  lookup.validateEntry("minecraft:item", this.id);
85
66
  }
@@ -95,11 +76,6 @@ export class FluidIngredient extends RegistryEntryIngredient {
95
76
  this.amount = amount;
96
77
  this.chance = chance;
97
78
  }
98
- serialize(_packFormat) {
99
- const { amount } = this;
100
- const id = encodeId(this.id);
101
- return { fluid: id, amount };
102
- }
103
79
  validate(lookup) {
104
80
  lookup.validateEntry("minecraft:fluid", this.id);
105
81
  }
@@ -113,11 +89,6 @@ export class BlockIngredient extends RegistryEntryIngredient {
113
89
  super(id, "minecraft:block");
114
90
  this.weight = weight;
115
91
  }
116
- serialize(_packFormat) {
117
- const { weight } = this;
118
- const id = encodeId(this.id);
119
- return { block: id, weight };
120
- }
121
92
  validate(lookup) {
122
93
  lookup.validateEntry("minecraft:block", this.id);
123
94
  }
@@ -131,9 +102,6 @@ export class ListIngredient extends Ingredient {
131
102
  super();
132
103
  this.entries = entries;
133
104
  }
134
- serialize(packFormat) {
135
- return this.entries.map((it) => it.serialize(packFormat));
136
- }
137
105
  validate(lookup) {
138
106
  this.entries.forEach((it) => it.validate(lookup));
139
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"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"}
@@ -2,16 +2,8 @@ import { Ingredient } from ".";
2
2
  import type RegistryLookup from "../../loader/registry";
3
3
  import type { SemVerInput } from "../../packFormat";
4
4
  import { IngredientMap, type IngredientMapInput } from "../../parser/recipe/ingredientMap";
5
- export default class IngredientSerializer {
6
- private readonly packFormat;
7
- private readonly lookup;
8
- private readonly deserializer;
5
+ import { VersionedSerializer } from "../serializer";
6
+ export default class IngredientSerializer extends VersionedSerializer<Ingredient> {
9
7
  constructor(packFormat: SemVerInput, lookup: RegistryLookup);
10
- serialize(ingredient: Ingredient): unknown;
11
- serializeList(ingredients: Ingredient[]): unknown[];
12
- private deserializeUnvalidated;
13
- deserialize(input: unknown): Ingredient;
14
- validated<T extends Ingredient>(ingredient: T): T;
15
- createList(input: unknown[]): Ingredient[];
16
8
  ingredientMap(input: IngredientMapInput): IngredientMap;
17
9
  }
@@ -1,115 +1,49 @@
1
1
  import { mapValues } from "lodash-es";
2
2
  import z from "zod";
3
3
  import { BlockIngredient, BlockTagIngredient, FluidIngredient, FluidTagIngredient, Ingredient, ItemIngredient, ItemTagIngredient, ListIngredient, } from ".";
4
- import { IllegalShapeError, transformErrors } from "../../error";
5
4
  import { IngredientMap, } from "../../parser/recipe/ingredientMap";
6
5
  import { AmountSchema, CountSchema } from "../fields";
7
- import { IdSchema } from "../id";
8
- class OldDeserializer {
9
- schemas = {
10
- itemTag: z.object({
11
- tag: IdSchema,
12
- count: CountSchema,
13
- }),
14
- fluidTag: z.object({
15
- fluidTag: IdSchema,
16
- amount: AmountSchema,
17
- }),
18
- blockTag: z.object({
19
- blockTag: IdSchema,
20
- weight: z.number().optional(),
21
- }),
22
- itemStack: z.object({
23
- item: IdSchema,
24
- count: CountSchema,
25
- }),
26
- fluidStack: z.object({
27
- fluid: IdSchema,
28
- amount: AmountSchema,
29
- }),
30
- block: z.object({
31
- block: IdSchema,
32
- }),
33
- };
34
- deserialize(input) {
35
- if ("blockTag" in input) {
36
- const parsed = this.schemas.blockTag.parse(input);
37
- return new BlockTagIngredient(parsed.blockTag);
38
- }
39
- if ("tag" in input) {
40
- const parsed = this.schemas.itemTag.parse(input);
41
- return new ItemTagIngredient(parsed.tag, parsed.count);
42
- }
43
- if ("fluidTag" in input) {
44
- const parsed = this.schemas.fluidTag.parse(input);
45
- return new FluidTagIngredient(parsed.fluidTag, parsed.amount);
46
- }
47
- if ("block" in input) {
48
- const parsed = this.schemas.block.parse(input);
49
- return new BlockIngredient(parsed.block);
50
- }
51
- if ("item" in input) {
52
- const parsed = this.schemas.itemStack.parse(input);
53
- return new ItemIngredient(parsed.item, parsed.count);
54
- }
55
- if ("fluid" in input) {
56
- const parsed = this.schemas.fluidStack.parse(input);
57
- return new FluidIngredient(parsed.fluid, parsed.amount);
58
- }
59
- return null;
60
- }
61
- }
62
- export default class IngredientSerializer {
63
- packFormat;
64
- lookup;
65
- deserializer;
6
+ import { IdSchema, stripTag } from "../id";
7
+ import { createSerializer, isObjectWith, VersionedSerializer, } from "../serializer";
8
+ const serializer15 = createSerializer((builder) => {
9
+ builder.deserializer((it) => typeof it === "string", (input) => {
10
+ if (input.startsWith("#")) {
11
+ return new ItemTagIngredient(input);
12
+ }
13
+ return new ItemIngredient(input);
14
+ });
15
+ builder.serializer(ListIngredient, (it, serialize) => it.entries.flatMap(serialize));
16
+ builder.deserializer(Array.isArray, (it, deserialize) => new ListIngredient(it.map(deserialize)));
17
+ builder.register(ItemTagIngredient, isObjectWith("tag"), z.object({
18
+ tag: IdSchema,
19
+ count: CountSchema,
20
+ }), (it) => new ItemTagIngredient(it.tag, it.count), ({ count, tag }) => ({ tag: stripTag(tag), count }));
21
+ builder.register(FluidTagIngredient, isObjectWith("fluidTag"), z.object({
22
+ fluidTag: IdSchema,
23
+ amount: AmountSchema,
24
+ }), (it) => new FluidTagIngredient(it.fluidTag, it.amount), ({ amount, tag }) => ({ fluidTag: stripTag(tag), amount }));
25
+ builder.register(BlockTagIngredient, isObjectWith("blockTag"), z.object({
26
+ blockTag: IdSchema,
27
+ weight: z.number().optional(),
28
+ }), (it) => new BlockTagIngredient(it.blockTag), ({ tag }) => ({ blockTag: stripTag(tag) }));
29
+ builder.register(ItemIngredient, isObjectWith("item"), z.object({
30
+ item: IdSchema,
31
+ count: CountSchema,
32
+ }), (it) => new ItemIngredient(it.item, it.count), ({ id, ...rest }) => ({ item: id, ...rest }));
33
+ builder.register(FluidIngredient, isObjectWith("fluid"), z.object({
34
+ fluid: IdSchema,
35
+ amount: AmountSchema,
36
+ }), (it) => new FluidIngredient(it.fluid, it.amount), ({ id, ...rest }) => ({ fluid: id, ...rest }));
37
+ builder.register(BlockIngredient, isObjectWith("block"), z.object({
38
+ block: IdSchema,
39
+ }), (it) => new BlockIngredient(it.block), ({ id }) => ({ block: id }));
40
+ });
41
+ export default class IngredientSerializer extends VersionedSerializer {
66
42
  constructor(packFormat, lookup) {
67
- this.packFormat = packFormat;
68
- this.lookup = lookup;
69
- this.deserializer = new OldDeserializer();
70
- }
71
- serialize(ingredient) {
72
- return ingredient.serialize(this.packFormat);
73
- }
74
- serializeList(ingredients) {
75
- return ingredients.map((it) => this.serialize(it));
76
- }
77
- deserializeUnvalidated(input) {
78
- if (input instanceof Ingredient)
79
- return input;
80
- if (!input)
81
- throw new IllegalShapeError("ingredient input may not be null");
82
- if (typeof input === "string") {
83
- if (input.startsWith("#")) {
84
- return this.deserializeUnvalidated(new ItemTagIngredient(input));
85
- }
86
- this.lookup.validateEntry("minecraft:item", input);
87
- return new ItemIngredient(input);
88
- }
89
- if (Array.isArray(input)) {
90
- return new ListIngredient(input.map((it) => this.deserializeUnvalidated(it)));
91
- }
92
- if (typeof input === "object") {
93
- const deserialized = this.deserializer.deserialize(input);
94
- if (deserialized)
95
- return deserialized;
96
- }
97
- throw new IllegalShapeError(`unknown ingredient shape`, input);
98
- }
99
- deserialize(input) {
100
- return transformErrors(() => {
101
- const deserialized = this.deserializeUnvalidated(input);
102
- deserialized.validate(this.lookup);
103
- return deserialized;
43
+ super(packFormat, lookup, Ingredient, {
44
+ 15: serializer15,
104
45
  });
105
46
  }
106
- validated(ingredient) {
107
- ingredient.validate(this.lookup);
108
- return ingredient;
109
- }
110
- createList(input) {
111
- return input.map((it) => this.deserialize(it));
112
- }
113
47
  ingredientMap(input) {
114
48
  return new IngredientMap(mapValues(input, (it) => this.deserialize(it)));
115
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/common/ingredient/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../src/common/ingredient/serializer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import type { RegistryId } from "@adeficior/data-modifier/generated";
2
2
  import type RegistryLookup from "../loader/registry";
3
- import type { SemVerInput } from "../packFormat";
4
3
  import type { NormalizedId } from "./id";
5
- export interface Serializable {
6
- serialize(packFormat: SemVerInput): unknown;
4
+ export interface InputOutput {
7
5
  validate(lookup: RegistryLookup): void;
8
6
  idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
9
7
  }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=inputOutput.js.map
@@ -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 deserializeUnvalidated;
12
- deserialize(input: unknown): Result;
13
- validated<T extends Result>(result: T): T;
14
- createList(input: unknown[]): Result[];
15
7
  }