@adeficior/data-modifier 2.0.2 → 2.0.3

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.
@@ -1,4 +1,5 @@
1
- import type { ClearableEmitter, IdInput, LoaderContext, NormalizedId, RegistryLookup } from "@adeficior/data-modifier-core";
1
+ import type { IdInput, NormalizedId, RegistryLookup } from "@adeficior/data-modifier-core";
2
+ import { WrappedEmitter } from "@adeficior/data-modifier-core";
2
3
  import type { CreativeModeTabId, ItemId } from "@adeficior/data-modifier/generated";
3
4
  type TabModifications = {
4
5
  icon?: IdInput<ItemId>;
@@ -38,6 +39,7 @@ type AdditionEntry = {
38
39
  predicate?: PolytonePredicate;
39
40
  };
40
41
  export type PolytoneTabModifier = {
42
+ create_new?: boolean;
41
43
  icon?: NormalizedId<ItemId>;
42
44
  before_tabs?: NormalizedId<CreativeModeTabId>[];
43
45
  after_tabs?: NormalizedId<CreativeModeTabId>[];
@@ -46,13 +48,10 @@ export type PolytoneTabModifier = {
46
48
  additions?: AdditionEntry[];
47
49
  require_mods?: string[];
48
50
  } & TabModifications;
49
- export declare class PolytoneTabsEmitter implements PolytoneTabs, ClearableEmitter {
50
- private readonly lookup;
51
+ export declare class PolytoneTabsEmitter extends WrappedEmitter implements PolytoneTabs {
52
+ private readonly registry;
51
53
  private readonly entries;
52
- private readonly tabs;
53
- constructor(lookup: RegistryLookup);
54
- clear(): void;
55
- resolver(context: LoaderContext): import("@adeficior/pack-resolver").Resolver<import("@adeficior/pack-resolver").Acceptable, import("@adeficior/pack-resolver").BaseContext>;
54
+ constructor(registry: RegistryLookup);
56
55
  remove(tab: IdInput<CreativeModeTabId> | IdInput<CreativeModeTabId>[], items: IdInput<ItemId>[], options?: TabOptions): void;
57
56
  add(tab: IdInput<CreativeModeTabId> | IdInput<CreativeModeTabId>[], items: IdInput<ItemId>[], options?: AddOptions): void;
58
57
  create(id: IdInput, modifications?: TabModifications): string;
@@ -1,5 +1,5 @@
1
- import { createId, CustomEmitter, encodeId, } from "@adeficior/data-modifier-core";
2
- import { arrayOrSelf, combineResolvers } from "@adeficior/pack-resolver";
1
+ import { CustomEmitter, encodeId, prefix, WrappedEmitter, } from "@adeficior/data-modifier-core";
2
+ import { arrayOrSelf } from "@adeficior/pack-resolver";
3
3
  import { difference, uniq } from "lodash-es";
4
4
  function translateModifications({ icon, after_tabs, before_tabs, ...modifications }) {
5
5
  return {
@@ -44,21 +44,13 @@ function translateOptions(options = {}) {
44
44
  return {};
45
45
  }
46
46
  }
47
- export class PolytoneTabsEmitter {
48
- lookup;
49
- entries = new CustomEmitter((id) => `assets/${id.namespace}/polytone/creative_tab_modifiers/${id.path}.json`);
50
- tabs = new CustomEmitter((id) => `assets/${id.namespace}/polytone/creative_tabs.csv`, (it) => it.join(","));
51
- constructor(lookup) {
52
- this.lookup = lookup;
53
- }
54
- clear() {
55
- this.entries.clear();
56
- this.tabs.clear();
57
- }
58
- resolver(context) {
59
- return combineResolvers([this.entries.resolver(context), this.tabs.resolver(context)], {
60
- async: true,
61
- });
47
+ export class PolytoneTabsEmitter extends WrappedEmitter {
48
+ registry;
49
+ entries;
50
+ constructor(registry) {
51
+ super();
52
+ this.registry = registry;
53
+ this.entries = this.addEmitter(new CustomEmitter((id) => `assets/${id.namespace}/polytone/creative_tab_modifiers/${id.path}.json`));
62
54
  }
63
55
  remove(tab, items, options = {}) {
64
56
  this.forEach(tab, {
@@ -73,12 +65,12 @@ export class PolytoneTabsEmitter {
73
65
  }, options);
74
66
  }
75
67
  create(id, modifications = {}) {
76
- const { namespace, path } = createId(id);
77
- this.tabs.merge({ namespace, path: "tab" }, [path], (a, b) => uniq([...a, ...b]));
78
- if (Object.keys(modifications).length) {
79
- this.modify(id, modifications);
80
- }
81
- return this.lookup.addCustom("minecraft:creative_mode_tab", id);
68
+ this.entries.add(prefix(id, "create/"), {
69
+ create_new: true,
70
+ targets: [encodeId(id)],
71
+ ...translateModifications(modifications),
72
+ });
73
+ return this.registry.addCustom("minecraft:creative_mode_tab", id);
82
74
  }
83
75
  modify(id, modifications) {
84
76
  this.entries.merge(id, {
@@ -1 +1 @@
1
- {"version":3,"file":"polytoneTabs.js","sourceRoot":"","sources":["../../src/emit/polytoneTabs.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkE7C,SAAS,sBAAsB,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,GAAG,aAAa,EACC;IACjB,OAAO;QACL,GAAG,aAAa;QAChB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,CAAsB,EACtB,CAAsB;IAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO;QACL,GAAG,CAAC;QACJ,GAAG,CAAC;QACJ,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE;IAChD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,mBAAmB;IAWD;IAVZ,OAAO,GAAG,IAAI,aAAa,CAC1C,CAAC,EAAE,EAAE,EAAE,CACL,UAAU,EAAE,CAAC,SAAS,oCAAoC,EAAE,CAAC,IAAI,OAAO,CAC3E,CAAC;IAEe,IAAI,GAAG,IAAI,aAAa,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,SAAS,6BAA6B,EAC3D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CACrB,CAAC;IAEF,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,OAAsB;QAC7B,OAAO,gBAAgB,CACrB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC7D;YACE,KAAK,EAAE,IAAI;SACZ,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;SAChE,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,GAAG,CACD,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,SAAS,EAAE;gBACT,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE;aAC7D;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,gBAAkC,EAAE;QACtD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3D,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,aAA+B;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,EACF;YACE,GAAG,sBAAsB,CAAC,aAAa,CAAC;YACxC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACxB,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,GAA8D,EAC9D,QAA8C,EAC9C,OAAmB;QAEnB,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;YACpC,MAAM,KAAK,GAAwB;gBACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3B,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,GAAG,QAAQ;aACZ,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"polytoneTabs.js","sourceRoot":"","sources":["../../src/emit/polytoneTabs.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,QAAQ,EACR,MAAM,EACN,cAAc,GACf,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmE7C,SAAS,sBAAsB,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,GAAG,aAAa,EACC;IACjB,OAAO;QACL,GAAG,aAAa;QAChB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACnD,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QACjD,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,CAAsB,EACtB,CAAsB;IAEtB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO;QACL,GAAG,CAAC;QACJ,GAAG,CAAC;QACJ,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3D,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAsB,EAAE;IAChD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,EAAE,aAAa;aACpB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,mBACX,SAAQ,cAAc;IAKO;IAFZ,OAAO,CAAC;IAEzB,YAA6B,QAAwB;QACnD,KAAK,EAAE,CAAC;QADmB,aAAQ,GAAR,QAAQ,CAAgB;QAGnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAC5B,IAAI,aAAa,CACf,CAAC,EAAE,EAAE,EAAE,CACL,UAAU,EAAE,CAAC,SAAS,oCAAoC,EAAE,CAAC,IAAI,OAAO,CAC3E,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CACJ,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;SAChE,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,GAAG,CACD,GAA8D,EAC9D,KAAwB,EACxB,UAAsB,EAAE;QAExB,IAAI,CAAC,OAAO,CACV,GAAG,EACH;YACE,SAAS,EAAE;gBACT,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE;aAC7D;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,gBAAkC,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE;YACtC,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvB,GAAG,sBAAsB,CAAC,aAAa,CAAC;SACzC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,EAAW,EAAE,aAA+B;QACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,EAAE,EACF;YACE,GAAG,sBAAsB,CAAC,aAAa,CAAC;YACxC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACxB,EACD,cAAc,CACf,CAAC;IACJ,CAAC;IAEO,OAAO,CACb,GAA8D,EAC9D,QAA8C,EAC9C,OAAmB;QAEnB,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC;YACpC,MAAM,KAAK,GAAwB;gBACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3B,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,GAAG,QAAQ;aACZ,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adeficior/data-modifier",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "library to modify & generate minecraft data",
5
5
  "bin": { "datamod": "dist/cli.js" },
6
6
  "exports": {
@@ -14,12 +14,12 @@
14
14
  "devDependencies": { "@types/lodash-es": "^4.17.12" },
15
15
  "dependencies": {
16
16
  "@adeficior/resource-merger": "^2.0.1",
17
- "@adeficior/data-modifier-core": "^2.0.2",
18
- "@adeficior/data-modifier-loader": "^2.1.0",
19
- "@adeficior/data-modifier-tags": "^2.0.2",
20
- "@adeficior/data-modifier-ingredients": "^2.0.2",
21
- "@adeficior/data-modifier-recipes": "^2.0.2",
22
- "@adeficior/data-modifier-loot": "^2.0.2"
17
+ "@adeficior/data-modifier-core": "^2.1.0",
18
+ "@adeficior/data-modifier-loader": "^2.1.1",
19
+ "@adeficior/data-modifier-tags": "^2.0.3",
20
+ "@adeficior/data-modifier-ingredients": "^2.0.3",
21
+ "@adeficior/data-modifier-recipes": "^2.1.0",
22
+ "@adeficior/data-modifier-loot": "^2.1.0"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@adeficior/pack-resolver": "^2.0.1",