simplified-mojang-jsons 0.0.21 → 0.0.23

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.
@@ -63,20 +63,28 @@ export declare class FinalEntityBuilderTemplate extends BehaviorEntityBuilder {
63
63
  */
64
64
  private byID;
65
65
  /**
66
- * Metodo auxiliar que agrega componentes a una lista de mapas objectivo garantizando que no existan previamente.
67
- * @param {BPEntityComponentsMap} target Mapa destino donde se insertaran los nuevos componentes.
66
+ * Metodo auxiliar que agrega componentes a un mapa objectivo. Si el componente ya existe en el mapa, fusiona sus datos con los del nuevo en vez de reemplazarlo.
67
+ * @param {BPEntityComponentsMap} target Mapa destiono a considerar.
68
68
  * @param {(readonly BPEntityComponent[] | undefined)} list Lista de componentes a incorporar.
69
69
  * @param {string} where Contexto u origen de la ejecucion para mensajes de error.
70
- * @param {string} replaceWith Sugerencia del metodo o alternativa recomendada cuando ya existe la clave.
71
70
  * @returns {void}
72
71
  *
73
- * @throws {Error} Marcara error si, algun componente de la lista colisiona con una clave existente en el parametro target.
74
- * @throws {Error} Marcara error si, la lista contiene componente duplicados entre si.
72
+ * @throws {Error} Marcara error si, la lista contiene componentes duplicados entre si.
75
73
  *
76
- * @author HaJuegos - 01-10-2026
74
+ * @author HaJuegos - 12-11-2026
75
+ * @private
76
+ */
77
+ private addMerge;
78
+ /**
79
+ * Metodo auxiliar que fusiona dos componentes con el mismo ID en uno solo. Los objectos se mezclan de forma recursiva.
80
+ * @param {BPEntityComponent} a Componente existente en la plantilla base.
81
+ * @param {BPEntityComponent} b Componente nuevo con los datos adiccionales a fusionar.
82
+ * @returns {BPEntityComponent} Devuelve un componente con el mismo ID cuyo build contiene los datos fusionados.
83
+ * @returns {void}
84
+ * @author HaJuegos - 12-11-2026
77
85
  * @private
78
86
  */
79
- private addUnique;
87
+ private mergeComp;
80
88
  /**
81
89
  * Metodo auxiliar que examina de manera recursiva la estructura de eventos a verificar de los grupos de componentes existan y que no tengan duplicados.
82
90
  * @param {LooseEvents} events Estructura o mapa de eventos a analizar.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityTemplateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/behaviors/entities/EntityTemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,iBAAiB,EAAqD,iBAAiB,EAAE,sBAAsB,EAAE,UAAU,EAAe,cAAc,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;AAC3R,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,qBAAqB;IACjE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IAEjF;;;;;;OAMG;IACH,YAAa,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAmI/C;IAED;;;;;OAKG;IACI,UAAU,IAAI,MAAM,CAE1B;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ;IAwBhB;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI;IAcZ;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,SAAS;IAUjB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAoCtB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAaf;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK;CAmDhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC1B,KAAK,CAAC,KAAK,SAAS,SAAS,iBAAiB,EAAE,EAChD,KAAK,CAAC,EAAE,SAAS,sBAAsB,EACvC,EAAE,SAAS,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAC9C,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAEnC,KAAK,CAAC,EAAE,SAAS,SAAS,iBAAiB,EAAE,GAAG,EAAE,EAClD,KAAK,CAAC,EAAE,SAAS,sBAAsB,GAAG,EAAE,SACxC,0BAA0B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAQ,0BAA0B,CAG9F"}
1
+ {"version":3,"file":"EntityTemplateBuilder.d.ts","sourceRoot":"","sources":["../../../../src/builders/behaviors/entities/EntityTemplateBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,iBAAiB,EAAqD,iBAAiB,EAAE,sBAAsB,EAAE,UAAU,EAAe,cAAc,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;AAC3R,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,qBAAqB;IACjE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAEzD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwD;IAEjF;;;;;;OAMG;IACH,YAAa,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAsI/C;IAED;;;;;OAKG;IACI,UAAU,IAAI,MAAM,CAE1B;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ;IAwBhB;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI;IAcZ;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,QAAQ;IAMhB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS;IAuBjB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAoCtB;;;;;;;OAOG;IACH,OAAO,CAAC,OAAO;IAaf;;;;;;;OAOG;IACH,OAAO,CAAC,KAAK;CAmDhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC1B,KAAK,CAAC,KAAK,SAAS,SAAS,iBAAiB,EAAE,EAChD,KAAK,CAAC,EAAE,SAAS,sBAAsB,EACvC,EAAE,SAAS,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAC9C,GAAG,EAAE,qBAAqB,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAEnC,KAAK,CAAC,EAAE,SAAS,SAAS,iBAAiB,EAAE,GAAG,EAAE,EAClD,KAAK,CAAC,EAAE,SAAS,sBAAsB,GAAG,EAAE,SACxC,0BAA0B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAQ,0BAA0B,CAG9F"}
package/dist/index.d.ts CHANGED
@@ -67,6 +67,7 @@ export type { RPEntityMaterialDefinition, RPEntityMaterialOverride } from "./typ
67
67
  export type { RPRenderControllerDefinition, RPRenderControllerOverride } from "./types/resources/renderControllers/RenderControllerTemplate";
68
68
  export { FormatVersionAnimControllerList } from "./types/behaviors/animContollers/AnimControllerTemplate";
69
69
  export { SpawnCategoryEntities, FormatVersionEntities } from "./types/behaviors/entities/EntitiesEnums";
70
+ export { TypeRecipesVanillaEnums } from "./types/behaviors/recipes/RecipeTemplate";
70
71
  export { FormatVersionListAnims } from "./types/resources/animations/AnimationTemplate";
71
72
  export { FormatVersionAttachList } from "./types/resources/attachables/AttachableTemplate";
72
73
  export { FormatVersionListEntities } from "./types/resources/entity/EntityTemplate";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAItF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oEAAoE,CAAC;AAC5G,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAGtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oEAAoE,CAAC;AAC5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,MAAM,qDAAqD,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,wEAAwE,CAAC;AAIlH,YAAY,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,YAAY,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AAC/G,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAC1H,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAC1H,YAAY,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACzF,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC9I,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACrH,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACzG,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AACzH,YAAY,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AACvJ,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC5H,YAAY,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AACvJ,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAC/G,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC9I,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAG/H,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACjH,YAAY,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACrI,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACrH,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAChH,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACzF,YAAY,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACvI,YAAY,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,8DAA8D,CAAC;AAI7I,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAIvG,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13485,7 +13485,7 @@ var FinalEntityBuilderTemplate = class extends BehaviorEntityBuilder {
13485
13485
  delete comps[id];
13486
13486
  }
13487
13487
  }
13488
- this.addUnique(comps, over.add?.components, `${where} add.components`, "components");
13488
+ this.addMerge(comps, over.add?.components, `${where} add.components`);
13489
13489
  const compsGroups = {};
13490
13490
  if (!over.clearAllData) {
13491
13491
  for (const id of Object.keys(over.componentsGroups ?? {})) {
@@ -13524,7 +13524,7 @@ var FinalEntityBuilderTemplate = class extends BehaviorEntityBuilder {
13524
13524
  }
13525
13525
  for (const [id, list] of Object.entries(over.add?.componentsGroups ?? {})) {
13526
13526
  compsGroups[id] ?? (compsGroups[id] = {});
13527
- this.addUnique(compsGroups[id], list, `${where} add.componentsGroups."${id}"`, `componentsGroups."${id}"`);
13527
+ this.addMerge(compsGroups[id], list, `${where} add.componentsGroups."${id}"`);
13528
13528
  }
13529
13529
  const baseEvents = over.clearAllData ? {} : this.patchMap(def.events, over.events, `${where} events`, BPEntityDefaultEventsNames);
13530
13530
  const events = { ...baseEvents };
@@ -13543,9 +13543,11 @@ var FinalEntityBuilderTemplate = class extends BehaviorEntityBuilder {
13543
13543
  }
13544
13544
  for (const [name, event] of Object.entries(over.add?.events ?? {})) {
13545
13545
  if (!over.clearAllData && name in events) {
13546
- throw new Error(`${where} add.events: el evento "${name}" ya existe en la plantilla base. Usa events para reemplazarlo de la plantilla base.`);
13546
+ const seq = (e) => Object.keys(e).length == 1 && Array.isArray(e.sequence) ? e.sequence : [e];
13547
+ events[name] = { sequence: [...seq(events[name]), ...seq(event)] };
13548
+ } else {
13549
+ events[name] = event;
13547
13550
  }
13548
- events[name] = event;
13549
13551
  }
13550
13552
  this.validateEvents(events, Object.keys(compsGroups), where, !def.id.startsWith("minecraft:"));
13551
13553
  this.setDefaultComponents(Object.values(comps));
@@ -13614,27 +13616,50 @@ var FinalEntityBuilderTemplate = class extends BehaviorEntityBuilder {
13614
13616
  return out;
13615
13617
  }
13616
13618
  /**
13617
- * Metodo auxiliar que agrega componentes a una lista de mapas objectivo garantizando que no existan previamente.
13618
- * @param {BPEntityComponentsMap} target Mapa destino donde se insertaran los nuevos componentes.
13619
- * @param {(readonly BPEntityComponent[] | undefined)} list Lista de componentes a incorporar.
13619
+ * Metodo auxiliar que agrega componentes a un mapa objectivo. Si el componente ya existe en el mapa, fusiona sus datos con los del nuevo en vez de reemplazarlo.
13620
+ * @param {BPEntityComponentsMap} target Mapa destiono a considerar.
13621
+ * @param {(readonly BPEntityComponent[] | undefined)} list Lista de componentes a incorporar.
13620
13622
  * @param {string} where Contexto u origen de la ejecucion para mensajes de error.
13621
- * @param {string} replaceWith Sugerencia del metodo o alternativa recomendada cuando ya existe la clave.
13622
13623
  * @returns {void}
13623
13624
  *
13624
- * @throws {Error} Marcara error si, algun componente de la lista colisiona con una clave existente en el parametro target.
13625
- * @throws {Error} Marcara error si, la lista contiene componente duplicados entre si.
13625
+ * @throws {Error} Marcara error si, la lista contiene componentes duplicados entre si.
13626
13626
  *
13627
- * @author HaJuegos - 01-10-2026
13627
+ * @author HaJuegos - 12-11-2026
13628
13628
  * @private
13629
13629
  */
13630
- addUnique(target, list, where, replaceWith) {
13630
+ addMerge(target, list, where) {
13631
13631
  for (const [id, comp] of Object.entries(this.byID(list, where))) {
13632
- if (id in target) {
13633
- throw new Error(`${where}: "${id}" ya existe. Usa ${replaceWith} para reemplazarlo.`);
13634
- }
13635
- target[id] = comp;
13632
+ target[id] = id in target ? this.mergeComp(target[id], comp) : comp;
13636
13633
  }
13637
13634
  }
13635
+ /**
13636
+ * Metodo auxiliar que fusiona dos componentes con el mismo ID en uno solo. Los objectos se mezclan de forma recursiva.
13637
+ * @param {BPEntityComponent} a Componente existente en la plantilla base.
13638
+ * @param {BPEntityComponent} b Componente nuevo con los datos adiccionales a fusionar.
13639
+ * @returns {BPEntityComponent} Devuelve un componente con el mismo ID cuyo build contiene los datos fusionados.
13640
+ * @returns {void}
13641
+ * @author HaJuegos - 12-11-2026
13642
+ * @private
13643
+ */
13644
+ mergeComp(a, b) {
13645
+ const id = a.idComp;
13646
+ const merge = (x, y) => {
13647
+ if (Array.isArray(x) && Array.isArray(y)) {
13648
+ return [...x, ...y];
13649
+ }
13650
+ ;
13651
+ if (x && y && typeof x == "object" && typeof y == "object" && !Array.isArray(x) && !Array.isArray(y)) {
13652
+ const out = { ...x };
13653
+ for (const k of Object.keys(y)) {
13654
+ out[k] = k in x ? merge(x[k], y[k]) : y[k];
13655
+ }
13656
+ ;
13657
+ return out;
13658
+ }
13659
+ return y;
13660
+ };
13661
+ return { idComp: id, build: () => ({ [id]: merge(a.build()[id], b.build()[id]) }) };
13662
+ }
13638
13663
  /**
13639
13664
  * Metodo auxiliar que examina de manera recursiva la estructura de eventos a verificar de los grupos de componentes existan y que no tengan duplicados.
13640
13665
  * @param {LooseEvents} events Estructura o mapa de eventos a analizar.
@@ -107997,6 +108022,18 @@ __export(root_exports30, {
107997
108022
  YellowWoolStairsTemplate: () => YellowWoolStairsTemplate2
107998
108023
  });
107999
108024
 
108025
+ // src/types/behaviors/recipes/RecipeTemplate.ts
108026
+ var TypeRecipesVanillaEnums = /* @__PURE__ */ ((TypeRecipesVanillaEnums2) => {
108027
+ TypeRecipesVanillaEnums2["RecipeBrewingContainer"] = "minecraft:recipe_brewing_container";
108028
+ TypeRecipesVanillaEnums2["RecipeBrewingMix"] = "minecraft:recipe_brewing_mix";
108029
+ TypeRecipesVanillaEnums2["RecipeFurnace"] = "minecraft:recipe_furnace";
108030
+ TypeRecipesVanillaEnums2["RecipeShaped"] = "minecraft:recipe_shaped";
108031
+ TypeRecipesVanillaEnums2["RecipeShapeless"] = "minecraft:recipe_shapeless";
108032
+ TypeRecipesVanillaEnums2["RecipeSmithingTransform"] = "minecraft:recipe_smithing_transform";
108033
+ TypeRecipesVanillaEnums2["RecipeSmithingTrim"] = "minecraft:recipe_smithing_trim";
108034
+ return TypeRecipesVanillaEnums2;
108035
+ })(TypeRecipesVanillaEnums || {});
108036
+
108000
108037
  // src/builders/behaviors/recipes/RecipeBuilder.ts
108001
108038
  var BehaviorRecipeBuilder = class {
108002
108039
  /**
@@ -236894,6 +236931,7 @@ export {
236894
236931
  root_exports41 as RPRenderControllerTemplates,
236895
236932
  SnakeCase,
236896
236933
  SpawnCategoryEntities,
236934
+ TypeRecipesVanillaEnums,
236897
236935
  createBPAnimController,
236898
236936
  createBPBiome,
236899
236937
  createBPBlock,