@adeficior/data-modifier 1.0.0-rc.23 → 1.0.0-rc.24
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/filters.d.ts +1 -1
- package/dist/common/filters.js +2 -2
- package/dist/common/filters.js.map +1 -1
- package/dist/common/ingredient/filter.d.ts +1 -1
- package/dist/common/ingredient/filter.js +6 -6
- package/dist/common/ingredient/filter.js.map +1 -1
- package/dist/common/ingredient/index.d.ts +7 -0
- package/dist/common/ingredient/index.js +16 -0
- package/dist/common/ingredient/index.js.map +1 -1
- package/dist/common/result/filter.d.ts +3 -4
- package/dist/common/result/filter.js +7 -42
- package/dist/common/result/filter.js.map +1 -1
- package/dist/common/result/index.d.ts +5 -0
- package/dist/common/result/index.js +10 -0
- package/dist/common/result/index.js.map +1 -1
- package/dist/emit/blacklist.js +2 -2
- package/dist/emit/blacklist.js.map +1 -1
- package/dist/emit/data/loot.js +2 -2
- package/dist/emit/data/loot.js.map +1 -1
- package/dist/emit/data/recipe.d.ts +6 -8
- package/dist/emit/data/recipe.js +12 -13
- package/dist/emit/data/recipe.js.map +1 -1
- package/dist/loader/pack.js +2 -2
- package/dist/loader/pack.js.map +1 -1
- package/package.json +1 -1
package/dist/common/filters.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ import type { TagRegistry } from "../loader/tags.js";
|
|
|
4
4
|
import type { IdInput, NormalizedId } from "./id.js";
|
|
5
5
|
export type Predicate<T> = (value: T, logger?: Logger) => boolean;
|
|
6
6
|
export type CommonFilter<T> = RegExp | Predicate<T> | T;
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function createIdPredicate<TEntry, TId extends string>(test: CommonFilter<TId>, resolve: (value: TEntry, logger?: Logger) => NormalizedId<TId>[], tags?: TagRegistry<RegistryId>): Predicate<TEntry>;
|
|
8
8
|
export declare function resolveIDTest<T extends RegistryId>(test: CommonFilter<NormalizedId<InferIds<T>>>, tags?: TagRegistry<T>): Predicate<IdInput<InferIds<T>>>;
|
package/dist/common/filters.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { encodeId } from "./id.js";
|
|
2
|
-
export function
|
|
2
|
+
export function createIdPredicate(test, resolve,
|
|
3
3
|
// TODO required?
|
|
4
4
|
tags) {
|
|
5
5
|
if (typeof test === "function") {
|
|
@@ -29,6 +29,6 @@ tags) {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
export function resolveIDTest(test, tags) {
|
|
32
|
-
return
|
|
32
|
+
return createIdPredicate(test, (it) => [encodeId(it)], tags);
|
|
33
33
|
}
|
|
34
34
|
//# sourceMappingURL=filters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/common/filters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../src/common/filters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,MAAM,UAAU,iBAAiB,CAC/B,IAAuB,EACvB,OAAgE;AAChE,iBAAiB;AACjB,IAA8B;IAE9B,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACvB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;YAC5B,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;YAC5B,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE;oBAAE,OAAO,IAAI,CAAC;qBAC9C,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAgB,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;;oBAC9D,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;YAC5B,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAA6C,EAC7C,IAAqB;IAErB,OAAO,iBAAiB,CACtB,IAAI,EACJ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EACtB,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -3,4 +3,4 @@ import type { PackContext } from "../../loader/context";
|
|
|
3
3
|
import { type CommonFilter, type Predicate } from "../filters";
|
|
4
4
|
import type { IngredientInput } from "./input";
|
|
5
5
|
export type IngredientFilter = CommonFilter<Ingredient> | IngredientInput | `#${string}`;
|
|
6
|
-
export default function
|
|
6
|
+
export default function createIngredientPredicate(test: IngredientFilter, context: Pick<PackContext, "ingredients" | "tags" | "lookup">): Predicate<Ingredient>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { BlockIngredient, BlockTagIngredient, FluidIngredient, FluidTagIngredient, Ingredient, ItemIngredient, ItemTagIngredient, ListIngredient, } from ".";
|
|
2
|
-
import {
|
|
2
|
+
import { createIdPredicate, } from "../filters";
|
|
3
3
|
import {} from "../id";
|
|
4
|
-
export default function
|
|
4
|
+
export default function createIngredientPredicate(test, context) {
|
|
5
5
|
const unvalidated = createUnvalidatedFilter(test, context);
|
|
6
6
|
return (it) => unvalidated(context.ingredients.validated(it));
|
|
7
7
|
}
|
|
8
8
|
function createUnvalidatedFilter(test, context) {
|
|
9
9
|
if (typeof test === "string") {
|
|
10
10
|
if (test.startsWith("#")) {
|
|
11
|
-
return
|
|
11
|
+
return createIngredientPredicate(new ItemTagIngredient(test.substring(1)), context);
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return createIngredientPredicate(new ItemIngredient(test), context);
|
|
14
14
|
}
|
|
15
15
|
if (test instanceof RegExp) {
|
|
16
16
|
return filterByRegistry(test, context, "minecraft:item");
|
|
@@ -41,14 +41,14 @@ function createUnvalidatedFilter(test, context) {
|
|
|
41
41
|
return filterByRegistry(test.id, context, "minecraft:block");
|
|
42
42
|
}
|
|
43
43
|
if (test instanceof ListIngredient) {
|
|
44
|
-
const predicates = test.entries.map((it) =>
|
|
44
|
+
const predicates = test.entries.map((it) => createIngredientPredicate(it, context));
|
|
45
45
|
return (it) => predicates.some((predicate) => predicate(it));
|
|
46
46
|
}
|
|
47
47
|
// TODO warn or throw?
|
|
48
48
|
return () => false;
|
|
49
49
|
}
|
|
50
50
|
function filterByRegistry(test, context, registry) {
|
|
51
|
-
return
|
|
51
|
+
return createIdPredicate(test,
|
|
52
52
|
// TODO remove logger
|
|
53
53
|
(it, _logger) => it.idsFor(registry), context.tags.registry(registry));
|
|
54
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/ingredient/filter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,GAAG,CAAC;AAEX,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/ingredient/filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,17 +2,20 @@ import type { BlockId, FluidId, ItemId, RegistryId } from "@adeficior/data-modif
|
|
|
2
2
|
import type RegistryLookup from "../../loader/registry";
|
|
3
3
|
import type { SemVerInput } from "../../packFormat";
|
|
4
4
|
import { type IdInput, type NormalizedId, type TagId } from "../id";
|
|
5
|
+
import { BlockResult, FluidResult, ItemResult, type Result } from "../result";
|
|
5
6
|
import type { Serializable } from "../serializable";
|
|
6
7
|
export declare abstract class Ingredient implements Serializable {
|
|
7
8
|
validate(_: RegistryLookup): void;
|
|
8
9
|
abstract serialize(packFormat: SemVerInput): unknown;
|
|
9
10
|
abstract idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
|
|
11
|
+
abstract asResult(): Result;
|
|
10
12
|
}
|
|
11
13
|
export declare abstract class TagIngredient extends Ingredient {
|
|
12
14
|
private readonly registry;
|
|
13
15
|
readonly tag: TagId;
|
|
14
16
|
constructor(input: IdInput, registry: NormalizedId<RegistryId>);
|
|
15
17
|
idsFor(registry: NormalizedId<RegistryId>): `#${string}:${string}`[];
|
|
18
|
+
asResult(): Result;
|
|
16
19
|
}
|
|
17
20
|
export declare class ItemTagIngredient extends TagIngredient {
|
|
18
21
|
readonly count: number;
|
|
@@ -50,6 +53,7 @@ export declare class ItemIngredient extends RegistryEntryIngredient<ItemId> {
|
|
|
50
53
|
count: number | undefined;
|
|
51
54
|
};
|
|
52
55
|
validate(lookup: RegistryLookup): void;
|
|
56
|
+
asResult(): ItemResult;
|
|
53
57
|
}
|
|
54
58
|
export declare class FluidIngredient extends RegistryEntryIngredient<FluidId> {
|
|
55
59
|
readonly amount: number;
|
|
@@ -60,6 +64,7 @@ export declare class FluidIngredient extends RegistryEntryIngredient<FluidId> {
|
|
|
60
64
|
amount: number;
|
|
61
65
|
};
|
|
62
66
|
validate(lookup: RegistryLookup): void;
|
|
67
|
+
asResult(): FluidResult;
|
|
63
68
|
}
|
|
64
69
|
export declare class BlockIngredient extends RegistryEntryIngredient<BlockId> {
|
|
65
70
|
readonly weight?: number | undefined;
|
|
@@ -69,6 +74,7 @@ export declare class BlockIngredient extends RegistryEntryIngredient<BlockId> {
|
|
|
69
74
|
weight: number | undefined;
|
|
70
75
|
};
|
|
71
76
|
validate(lookup: RegistryLookup): void;
|
|
77
|
+
asResult(): BlockResult;
|
|
72
78
|
}
|
|
73
79
|
export declare class ListIngredient extends Ingredient {
|
|
74
80
|
readonly entries: Ingredient[];
|
|
@@ -76,6 +82,7 @@ export declare class ListIngredient extends Ingredient {
|
|
|
76
82
|
serialize(packFormat: SemVerInput): unknown[];
|
|
77
83
|
validate(lookup: RegistryLookup): void;
|
|
78
84
|
idsFor(registry: NormalizedId<RegistryId>): `${string}:${string}`[];
|
|
85
|
+
asResult(): Result;
|
|
79
86
|
}
|
|
80
87
|
export type ItemLikeIngredient = ItemTagIngredient | ItemIngredient;
|
|
81
88
|
export type FluidLikeIngredient = FluidTagIngredient | FluidIngredient;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { encodeId, stripTag, toTag, } from "../id";
|
|
2
|
+
import { BlockResult, FluidResult, ItemResult } from "../result";
|
|
2
3
|
import { BUCKET } from "../units";
|
|
3
4
|
export class Ingredient {
|
|
4
5
|
// TODO make required
|
|
@@ -18,6 +19,9 @@ export class TagIngredient extends Ingredient {
|
|
|
18
19
|
return [this.tag];
|
|
19
20
|
return [];
|
|
20
21
|
}
|
|
22
|
+
asResult() {
|
|
23
|
+
throw new Error("tag ingredients cannot be transformed into a result");
|
|
24
|
+
}
|
|
21
25
|
}
|
|
22
26
|
export class ItemTagIngredient extends TagIngredient {
|
|
23
27
|
count;
|
|
@@ -80,6 +84,9 @@ export class ItemIngredient extends RegistryEntryIngredient {
|
|
|
80
84
|
validate(lookup) {
|
|
81
85
|
lookup.validateEntry("minecraft:item", this.id);
|
|
82
86
|
}
|
|
87
|
+
asResult() {
|
|
88
|
+
return new ItemResult(this.id, this.count);
|
|
89
|
+
}
|
|
83
90
|
}
|
|
84
91
|
export class FluidIngredient extends RegistryEntryIngredient {
|
|
85
92
|
amount;
|
|
@@ -97,6 +104,9 @@ export class FluidIngredient extends RegistryEntryIngredient {
|
|
|
97
104
|
validate(lookup) {
|
|
98
105
|
lookup.validateEntry("minecraft:fluid", this.id);
|
|
99
106
|
}
|
|
107
|
+
asResult() {
|
|
108
|
+
return new FluidResult(this.id, this.amount);
|
|
109
|
+
}
|
|
100
110
|
}
|
|
101
111
|
export class BlockIngredient extends RegistryEntryIngredient {
|
|
102
112
|
weight;
|
|
@@ -112,6 +122,9 @@ export class BlockIngredient extends RegistryEntryIngredient {
|
|
|
112
122
|
validate(lookup) {
|
|
113
123
|
lookup.validateEntry("minecraft:block", this.id);
|
|
114
124
|
}
|
|
125
|
+
asResult() {
|
|
126
|
+
return new BlockResult(this.id);
|
|
127
|
+
}
|
|
115
128
|
}
|
|
116
129
|
export class ListIngredient extends Ingredient {
|
|
117
130
|
entries;
|
|
@@ -128,5 +141,8 @@ export class ListIngredient extends Ingredient {
|
|
|
128
141
|
idsFor(registry) {
|
|
129
142
|
return this.entries.flatMap((it) => it.idsFor(registry));
|
|
130
143
|
}
|
|
144
|
+
asResult() {
|
|
145
|
+
throw new Error("union ingredients cannot be transformed into a result");
|
|
146
|
+
}
|
|
131
147
|
}
|
|
132
148
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,GAIN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/ingredient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Result } from ".";
|
|
2
2
|
import type { PackContext } from "../../loader/context";
|
|
3
|
-
import { type
|
|
4
|
-
import type {
|
|
5
|
-
export
|
|
6
|
-
export default function createResultFilter(test: ResultFilter, context: Omit<PackContext, "ingredients">): Predicate<ResultInput>;
|
|
3
|
+
import { type Predicate } from "../filters";
|
|
4
|
+
import type { IngredientFilter } from "../ingredient/filter";
|
|
5
|
+
export default function createResultFilter(test: IngredientFilter, context: Pick<PackContext, "ingredients" | "tags" | "lookup">): Predicate<Result>;
|
|
@@ -1,45 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { createCommonFilter, } from "../filters";
|
|
4
|
-
import { encodeId } from "../id";
|
|
1
|
+
import {} from "../filters";
|
|
2
|
+
import createIngredientPredicate from "../ingredient/filter";
|
|
5
3
|
export default function createResultFilter(test, context) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
if (typeof test === "function") {
|
|
13
|
-
return (it, logger) => test(context.results.create(it), logger);
|
|
14
|
-
}
|
|
15
|
-
if (test instanceof ItemResult) {
|
|
16
|
-
return filterByResultId(test.id, context.tags.registry("minecraft:item"), (it) => it.idsFor("minecraft:item"));
|
|
17
|
-
}
|
|
18
|
-
if (test instanceof FluidResult) {
|
|
19
|
-
return filterByResultId(test.id, context.tags.registry("minecraft:fluid"), (it) => it.idsFor("minecraft:fluid"));
|
|
20
|
-
}
|
|
21
|
-
// TODO match method in ingredient itself?
|
|
22
|
-
if (test instanceof BlockResult) {
|
|
23
|
-
return filterByResultId(test.id, context.tags.registry("minecraft:block"), (it) => it.idsFor("minecraft:block"));
|
|
24
|
-
}
|
|
25
|
-
// TODO warn or throw?
|
|
26
|
-
return () => false;
|
|
27
|
-
}
|
|
28
|
-
function filterByResultId(test, tags, idSupplier) {
|
|
29
|
-
function resolveIds(it) {
|
|
30
|
-
if (typeof it === "string")
|
|
31
|
-
return [encodeId(it)];
|
|
32
|
-
if (Array.isArray(it)) {
|
|
33
|
-
return it.flatMap(resolveIds);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
return idSupplier(it);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return createCommonFilter(test, (input, logger) =>
|
|
40
|
-
// TODO which exception has to be caught here?
|
|
41
|
-
tryCatching(logger, () => {
|
|
42
|
-
return resolveIds(input);
|
|
43
|
-
}) ?? [], tags);
|
|
4
|
+
const ingredientPredicate = createIngredientPredicate(test, context);
|
|
5
|
+
return (result, ...args) => {
|
|
6
|
+
const ingredient = result.asIngredient();
|
|
7
|
+
return ingredientPredicate(ingredient, ...args);
|
|
8
|
+
};
|
|
44
9
|
}
|
|
45
10
|
//# sourceMappingURL=filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/result/filter.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/common/result/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,MAAM,YAAY,CAAC;AAE5C,OAAO,yBAAyB,MAAM,sBAAsB,CAAC;AAE7D,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,IAAsB,EACtB,OAA6D;IAE7D,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAErE,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACzC,OAAO,mBAAmB,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -2,11 +2,13 @@ import type { BlockId, FluidId, ItemId, RegistryId } from "@adeficior/data-modif
|
|
|
2
2
|
import type RegistryLookup from "../../loader/registry";
|
|
3
3
|
import type { SemVerInput } from "../../packFormat";
|
|
4
4
|
import { type IdInput, type NormalizedId } from "../id";
|
|
5
|
+
import { BlockIngredient, FluidIngredient, ItemIngredient, type Ingredient } from "../ingredient";
|
|
5
6
|
import type { Serializable } from "../serializable";
|
|
6
7
|
export declare abstract class Result implements Serializable {
|
|
7
8
|
validate(_: RegistryLookup): void;
|
|
8
9
|
abstract serialize(packFormat: SemVerInput): Record<string, unknown>;
|
|
9
10
|
abstract idsFor(registry: NormalizedId<RegistryId>): NormalizedId<RegistryId>[];
|
|
11
|
+
abstract asIngredient(): Ingredient;
|
|
10
12
|
}
|
|
11
13
|
export declare abstract class RegistryEntryResult<T extends string> extends Result {
|
|
12
14
|
private readonly registry;
|
|
@@ -24,6 +26,7 @@ export declare class ItemResult extends RegistryEntryResult<ItemId> {
|
|
|
24
26
|
chance: number | undefined;
|
|
25
27
|
};
|
|
26
28
|
validate(lookup: RegistryLookup): void;
|
|
29
|
+
asIngredient(): ItemIngredient;
|
|
27
30
|
}
|
|
28
31
|
export declare class FluidResult extends RegistryEntryResult<FluidId> {
|
|
29
32
|
readonly amount: number;
|
|
@@ -35,6 +38,7 @@ export declare class FluidResult extends RegistryEntryResult<FluidId> {
|
|
|
35
38
|
chance: number | undefined;
|
|
36
39
|
};
|
|
37
40
|
validate(lookup: RegistryLookup): void;
|
|
41
|
+
asIngredient(): FluidIngredient;
|
|
38
42
|
}
|
|
39
43
|
export declare class BlockResult extends RegistryEntryResult<BlockId> {
|
|
40
44
|
constructor(id: IdInput<BlockId>);
|
|
@@ -42,4 +46,5 @@ export declare class BlockResult extends RegistryEntryResult<BlockId> {
|
|
|
42
46
|
block: `${string}:${string}`;
|
|
43
47
|
};
|
|
44
48
|
validate(lookup: RegistryLookup): void;
|
|
49
|
+
asIngredient(): BlockIngredient;
|
|
45
50
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { encodeId } from "../id";
|
|
2
|
+
import { BlockIngredient, FluidIngredient, ItemIngredient, } from "../ingredient";
|
|
2
3
|
import { BUCKET } from "../units";
|
|
3
4
|
export class Result {
|
|
4
5
|
validate(_) { }
|
|
@@ -34,6 +35,9 @@ export class ItemResult extends RegistryEntryResult {
|
|
|
34
35
|
validate(lookup) {
|
|
35
36
|
lookup.validateEntry("minecraft:item", this.id);
|
|
36
37
|
}
|
|
38
|
+
asIngredient() {
|
|
39
|
+
return new ItemIngredient(this.id, this.count);
|
|
40
|
+
}
|
|
37
41
|
}
|
|
38
42
|
export class FluidResult extends RegistryEntryResult {
|
|
39
43
|
amount;
|
|
@@ -51,6 +55,9 @@ export class FluidResult extends RegistryEntryResult {
|
|
|
51
55
|
validate(lookup) {
|
|
52
56
|
lookup.validateEntry("minecraft:fluid", this.id);
|
|
53
57
|
}
|
|
58
|
+
asIngredient() {
|
|
59
|
+
return new FluidIngredient(this.id, this.amount);
|
|
60
|
+
}
|
|
54
61
|
}
|
|
55
62
|
export class BlockResult extends RegistryEntryResult {
|
|
56
63
|
constructor(id) {
|
|
@@ -63,5 +70,8 @@ export class BlockResult extends RegistryEntryResult {
|
|
|
63
70
|
validate(lookup) {
|
|
64
71
|
lookup.validateEntry("minecraft:block", this.id);
|
|
65
72
|
}
|
|
73
|
+
asIngredient() {
|
|
74
|
+
return new BlockIngredient(this.id);
|
|
75
|
+
}
|
|
66
76
|
}
|
|
67
77
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAmC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/result/index.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/blacklist.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { arrayOrSelf } from "@adeficior/pack-resolver";
|
|
2
2
|
import { uniq } from "lodash-es";
|
|
3
3
|
import { encodeId } from "../common/id.js";
|
|
4
|
-
import
|
|
4
|
+
import 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 {
|
|
@@ -38,7 +38,7 @@ export default class BlacklistEmitter {
|
|
|
38
38
|
const keys = this.context.lookup.keys("minecraft:item");
|
|
39
39
|
if (!keys)
|
|
40
40
|
throw new Error("you can only use regex/predicates to blacklist items if a registry dump is loaded");
|
|
41
|
-
const predicate =
|
|
41
|
+
const predicate = createIngredientPredicate(test, this.context);
|
|
42
42
|
return [...keys.keys()].filter((it) => predicate(new ItemIngredient(it), this.logger));
|
|
43
43
|
}
|
|
44
44
|
resolveIds(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,
|
|
1
|
+
{"version":3,"file":"blacklist.js","sourceRoot":"","sources":["../../src/emit/blacklist.ts"],"names":[],"mappings":"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"}
|
package/dist/emit/data/loot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { resolveIDTest, } from "../../common/filters.js";
|
|
2
2
|
import { encodeId, prefix } from "../../common/id.js";
|
|
3
|
-
import
|
|
3
|
+
import createIngredientPredicate from "../../common/ingredient/filter.js";
|
|
4
4
|
import { isAtLeastVersion } from "../../packFormat.js";
|
|
5
5
|
import { createLootEntry, replaceItemInTable } from "../../parser/lootTable.js";
|
|
6
6
|
import { EmptyLootEntry, LootTableSchema } from "../../schema/data/loot.js";
|
|
@@ -51,7 +51,7 @@ export default class LootTableEmitter {
|
|
|
51
51
|
]);
|
|
52
52
|
}
|
|
53
53
|
resolveIngredientTest(test) {
|
|
54
|
-
return
|
|
54
|
+
return createIngredientPredicate(test, this.context);
|
|
55
55
|
}
|
|
56
56
|
resolveLootTableTest(test) {
|
|
57
57
|
const id = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,
|
|
1
|
+
{"version":3,"file":"loot.js","sourceRoot":"","sources":["../../../src/emit/data/loot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import type { RecipeSerializerId } from "@adeficior/data-modifier/generated";
|
|
2
2
|
import type { Acceptor, Logger } from "@adeficior/pack-resolver";
|
|
3
|
-
import { type CommonFilter
|
|
3
|
+
import { type CommonFilter } from "../../common/filters.js";
|
|
4
4
|
import type { IdInput, NormalizedId } from "../../common/id.js";
|
|
5
5
|
import type { IngredientFilter } from "../../common/ingredient/filter.js";
|
|
6
|
-
import type { Ingredient } from "../../common/ingredient/index.js";
|
|
7
6
|
import type { IngredientInput } from "../../common/ingredient/input.js";
|
|
8
|
-
import type { ResultFilter } from "../../common/result/filter.js";
|
|
9
7
|
import type { ResultInput } from "../../common/result/input.js";
|
|
10
8
|
import type { PackContext } from "../../loader/context.js";
|
|
11
9
|
import { RecipeHolder, type Recipe, type RecipeSerializer } from "../../parser/recipe/index.js";
|
|
@@ -15,12 +13,12 @@ export type RecipeTest = Readonly<{
|
|
|
15
13
|
id?: CommonFilter<NormalizedId>;
|
|
16
14
|
type?: CommonFilter<NormalizedId<RecipeSerializerId>>;
|
|
17
15
|
namespace?: string;
|
|
18
|
-
output?:
|
|
16
|
+
output?: IngredientFilter;
|
|
19
17
|
input?: IngredientFilter;
|
|
20
18
|
optional?: boolean;
|
|
21
19
|
}>;
|
|
22
20
|
export interface RecipeRules {
|
|
23
|
-
replaceResult(test:
|
|
21
|
+
replaceResult(test: IngredientFilter, value: ResultInput, additionalTests?: RecipeTest): void;
|
|
24
22
|
replaceIngredient(test: IngredientFilter, value: IngredientInput, additionalTests?: RecipeTest): void;
|
|
25
23
|
add(id: IdInput, value: RecipeDefinition): void;
|
|
26
24
|
add(id: IdInput, value: RecipeHolder): void;
|
|
@@ -38,13 +36,13 @@ export default class RecipeEmitter implements RecipeRules, ClearableEmitter {
|
|
|
38
36
|
constructor(logger: Logger, registry: RegistryProvider<RecipeHolder>, context: PackContext, serializer: RecipeSerializer);
|
|
39
37
|
private recipePath;
|
|
40
38
|
emit(acceptor: Acceptor): Promise<void>;
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
private createIngredientPredicate;
|
|
40
|
+
private createResultPredicate;
|
|
43
41
|
private resolveRecipeTest;
|
|
44
42
|
add(id: IdInput, arg: RecipeDefinition | RecipeHolder | NormalizedId<RecipeSerializerId>, arg2?: Recipe): void;
|
|
45
43
|
private addRule;
|
|
46
44
|
remove(test: RecipeTest): void;
|
|
47
|
-
replaceResult(test:
|
|
45
|
+
replaceResult(test: IngredientFilter, input: ResultInput, additionalTest?: RecipeTest): void;
|
|
48
46
|
replaceIngredient(test: IngredientFilter, input: IngredientInput, additionalTest?: RecipeTest): void;
|
|
49
47
|
clear(): void;
|
|
50
48
|
}
|
package/dist/emit/data/recipe.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { exists } from "@adeficior/pack-resolver";
|
|
2
2
|
import { resolveIDTest, } from "../../common/filters.js";
|
|
3
3
|
import { encodeId } from "../../common/id.js";
|
|
4
|
-
import
|
|
4
|
+
import createIngredientPredicate from "../../common/ingredient/filter.js";
|
|
5
5
|
import createResultFilter from "../../common/result/filter.js";
|
|
6
6
|
import { isAtLeastVersion } from "../../packFormat.js";
|
|
7
7
|
import { createReplacer, RecipeHolder, } from "../../parser/recipe/index.js";
|
|
@@ -48,15 +48,15 @@ export default class RecipeEmitter {
|
|
|
48
48
|
async emit(acceptor) {
|
|
49
49
|
await Promise.all([this.ruled.emit(acceptor), this.custom.emit(acceptor)]);
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
if (!
|
|
51
|
+
createIngredientPredicate(filter) {
|
|
52
|
+
if (!filter)
|
|
53
53
|
return () => true;
|
|
54
|
-
return
|
|
54
|
+
return createIngredientPredicate(filter, this.context);
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
if (!
|
|
56
|
+
createResultPredicate(filter) {
|
|
57
|
+
if (!filter)
|
|
58
58
|
return () => true;
|
|
59
|
-
return createResultFilter(
|
|
59
|
+
return createResultFilter(filter, this.context);
|
|
60
60
|
}
|
|
61
61
|
resolveRecipeTest(test) {
|
|
62
62
|
const id = [];
|
|
@@ -70,9 +70,9 @@ export default class RecipeEmitter {
|
|
|
70
70
|
if (test.namespace)
|
|
71
71
|
id.push((id) => id.namespace === test.namespace);
|
|
72
72
|
if (test.output)
|
|
73
|
-
result.push(this.
|
|
73
|
+
result.push(this.createResultPredicate(test.output));
|
|
74
74
|
if (test.input)
|
|
75
|
-
ingredient.push(this.
|
|
75
|
+
ingredient.push(this.createIngredientPredicate(test.input));
|
|
76
76
|
return { id, type, ingredient, result };
|
|
77
77
|
}
|
|
78
78
|
add(id, arg, arg2) {
|
|
@@ -99,14 +99,13 @@ export default class RecipeEmitter {
|
|
|
99
99
|
this.addRule([test], () => null, test);
|
|
100
100
|
}
|
|
101
101
|
replaceResult(test, input, additionalTest) {
|
|
102
|
-
const predicate = this.
|
|
102
|
+
const predicate = this.createResultPredicate(test);
|
|
103
103
|
const value = this.context.results.create(input);
|
|
104
|
-
const
|
|
105
|
-
const replace = (it) => this.context.results.create(replacer(it));
|
|
104
|
+
const replace = createReplacer(predicate, value);
|
|
106
105
|
this.addRule(["replace result", test, "with", value, additionalTest], (recipe) => recipe.replaceResult(replace), additionalTest, { result: predicate });
|
|
107
106
|
}
|
|
108
107
|
replaceIngredient(test, input, additionalTest) {
|
|
109
|
-
const predicate = this.
|
|
108
|
+
const predicate = this.createIngredientPredicate(test);
|
|
110
109
|
const value = this.context.ingredients.create(input);
|
|
111
110
|
const replace = createReplacer(predicate, value);
|
|
112
111
|
this.addRule(["replace ingredient", test, "with", value, additionalTest], (recipe) => recipe.replaceIngredient(replace), additionalTest, { ingredient: predicate });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACL,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,
|
|
1
|
+
{"version":3,"file":"recipe.js","sourceRoot":"","sources":["../../../src/emit/data/recipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACL,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAG1E,OAAO,kBAAkB,MAAM,+BAA+B,CAAC;AAI/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,cAAc,EACd,YAAY,GAGb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,aAAa,MAAM,cAAc,CAAC;AAGzC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,YAAY,MAAM,aAAa,CAAC;AAgCvC,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;SACpB;KACF;IACD,wBAAwB,EAAE;QACxB;YACE,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE;gBACL,SAAS,EAAE,wBAAwB;gBACnC,MAAM,EAAE,CAAC,WAAW,CAAC;aACtB;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,aAAa;IAQb;IACA;IACA;IACA;IAVF,MAAM,GAAG,IAAI,aAAa,CAAmB,CAAC,EAAE,EAAE,EAAE,CACnE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CACpB,CAAC;IAEe,KAAK,CAAyC;IAE/D,YACmB,MAAc,EACd,QAAwC,EACxC,OAAoB,EACpB,UAA4B;QAH5B,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAgC;QACxC,YAAO,GAAP,OAAO,CAAa;QACpB,eAAU,GAAV,UAAU,CAAkB;QAE7C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAC3B,YAAY,EACZ,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EACrC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAC5B,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,EAAM;QACvB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC;YAC5D,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,QAAQ,EAAE,CAAC,SAAS,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAkB;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,yBAAyB,CAAC,MAAyB;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QAC/B,OAAO,yBAAyB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEO,qBAAqB,CAAC,MAAyB;QACrD,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QAC/B,OAAO,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACxC,MAAM,EAAE,GAAoB,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAoB,EAAE,CAAC;QACjC,MAAM,UAAU,GAA4B,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,EAAE;YAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,SAAS;YAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,KAAK;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAED,GAAG,CACD,EAAW,EACX,GAAuE,EACvE,IAAa;QAEb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,GAAG,CAAC;YACjB,MAAM,MAAM,GAAG,IAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,GAAG,CAAC;YAElB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzE,IAAI,KAAK,YAAY,YAAY;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;;gBACnD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,OAAO,CACb,KAAgB,EAChB,QAAgC,EAChC,aAAyB,EAAE,EAC3B,kBAGI,EAAE;QAEN,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,IAAI,UAAU,CACZ,KAAK,EACL,gBAAgB,CAAC,EAAE,EACnB,gBAAgB,CAAC,IAAI,EACrB,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CACjE,MAAM,CACP,EACD,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EACnE,QAAQ,CACT,EACD,UAAU,CAAC,QAAQ,KAAK,IAAI,CAC7B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAgB;QACrB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,aAAa,CACX,IAAsB,EACtB,KAAkB,EAClB,cAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO,CACV,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EACvD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EACzC,cAAc,EACd,EAAE,MAAM,EAAE,SAAS,EAAE,CACtB,CAAC;IACJ,CAAC;IAED,iBAAiB,CACf,IAAsB,EACtB,KAAsB,EACtB,cAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAErD,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO,CACV,CAAC,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAC3D,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAC7C,cAAc,EACd,EAAE,UAAU,EAAE,SAAS,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
package/dist/loader/pack.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import match from "minimatch";
|
|
2
|
-
import
|
|
2
|
+
import createIngredientPredicate, {} from "../common/ingredient/filter.js";
|
|
3
3
|
import IngredientSerializer from "../common/ingredient/serializer.js";
|
|
4
4
|
import ResultSerializer from "../common/result/serializer.js";
|
|
5
5
|
import BlockstateEmitter from "../emit/assets/blockstates.js";
|
|
@@ -106,7 +106,7 @@ export default class PackLoader {
|
|
|
106
106
|
return this.ingredients.create(input);
|
|
107
107
|
}
|
|
108
108
|
resolveIngredientTest(test) {
|
|
109
|
-
return
|
|
109
|
+
return createIngredientPredicate(test, this.context);
|
|
110
110
|
}
|
|
111
111
|
loadInternal(resolver) {
|
|
112
112
|
return resolver.extract((path, content) => {
|
package/dist/loader/pack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,WAAW,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/loader/pack.ts"],"names":[],"mappings":"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"}
|