@nodecraft/rendermite 1.6.2 → 1.6.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,2 +1,2 @@
1
- import { t as runBlocksCli } from "../cli-Br0mY0LV.js";
1
+ import { t as runBlocksCli } from "../cli-B2-DjSYI.js";
2
2
  export { runBlocksCli };
@@ -1,2 +1,2 @@
1
- import { t as exportBlockPack } from "../export-CTKEwro6.js";
1
+ import { t as exportBlockPack } from "../export-BFcXFTX6.js";
2
2
  export { exportBlockPack };
@@ -1,6 +1,6 @@
1
1
  import { n as builtinPackPath } from "./builtin-WkWjATeh.js";
2
2
  import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-BNibYkmI.js";
3
- import { t as exportBlockPack } from "./export-CTKEwro6.js";
3
+ import { t as exportBlockPack } from "./export-BFcXFTX6.js";
4
4
  import { n as layeredClasses, t as JarClassReader } from "./jar-classes-3GVCJZT7.js";
5
5
  import { n as prepareModResources } from "./prepare-Myd_ec4v.js";
6
6
  import { t as downloadClientJar } from "./download-1wAfrGKx.js";
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import { t as curatedModelOverrides } from "./models-CZjCOjs4.js";
6
6
  import { n as harvestTintOverrides, t as curatedTintOverrides } from "./tints-BspVCz2G.js";
7
7
  import { t as downloadClientJar } from "./download-1wAfrGKx.js";
8
8
  import { a as prepareVersionResources, i as eraForVersion, n as GEOMETRY_DONOR_VERSIONS } from "./prepare-D49Gu4Lv.js";
9
- import { t as runBlocksCli } from "./cli-Br0mY0LV.js";
9
+ import { t as runBlocksCli } from "./cli-B2-DjSYI.js";
10
10
  import { t as run } from "./run-BXAqZ5qY.js";
11
11
  import path from "node:path";
12
12
  import os from "node:os";
@@ -70,6 +70,29 @@ const FLUID_SUFFIX = /_(?:still|flow|flowing)$/;
70
70
  /** Sampled where water meets a non-opaque neighbour; matches no suffix. */
71
71
  const EXTRA_FLUID_SPRITES = ["minecraft:block/water_overlay"];
72
72
  /**
73
+ * Sprites selected by block-entity NBT rather than by a JSON blockstate/model graph.
74
+ *
75
+ * AE2's cable bus is assembled in Java from a saved cable plus zero or more face parts. Its JSON
76
+ * models are therefore unreachable from `collectModels`, even though a consumer has enough NBT to
77
+ * reconstruct it. Keep the small, stable texture vocabulary in the atlas for that renderer.
78
+ */
79
+ const DYNAMIC_BLOCK_ENTITY_SPRITES = { ae2: [
80
+ "ae2:part/cable/glass/transparent",
81
+ "ae2:part/cable/covered/transparent",
82
+ "ae2:part/cable/smart/transparent",
83
+ "ae2:part/cable/dense_covered/transparent",
84
+ "ae2:part/cable/dense_smart/transparent",
85
+ "ae2:part/storage_bus",
86
+ "ae2:part/storage_bus_back",
87
+ "ae2:part/storage_bus_sides",
88
+ "ae2:part/import_bus",
89
+ "ae2:part/import_bus_sides",
90
+ "ae2:part/export_bus",
91
+ "ae2:part/export_bus_sides",
92
+ "ae2:part/monitor_back",
93
+ "ae2:part/monitor_sides_status"
94
+ ] };
95
+ /**
73
96
  * Vanilla's `BlockElement.uvsByFace`: the UV a face gets when the model states
74
97
  * none. Deliberately not `render/geometry.ts`'s auto-UVs — those are in the
75
98
  * rasterizer's own unflipped convention, and the pack has to speak the same
@@ -575,6 +598,7 @@ async function exportBlockPack(options) {
575
598
  }
576
599
  for (const namespace of namespaces) for (const locator of await resources.listResources("texture", namespace)) if (FLUID_SUFFIX.test(locator.path)) spriteIds.add(locator.toString());
577
600
  for (const extra of EXTRA_FLUID_SPRITES) if (await resources.hasResource("texture", ResourceLocator.parse(extra))) spriteIds.add(extra);
601
+ for (const namespace of namespaces) for (const extra of DYNAMIC_BLOCK_ENTITY_SPRITES[namespace] ?? []) if (await resources.hasResource("texture", ResourceLocator.parse(extra))) spriteIds.add(extra);
578
602
  const sheet = await buildSpriteSheet(spriteIds, textures, {
579
603
  padding: options.padding,
580
604
  maxPageSize: options.maxPageSize,
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "./tints-Cl0r-Ol3.
14
14
  import { o as createAtlasResolver, s as parseAtlasSources, t as AtlasSourceError } from "./sources-BlUriDCs.js";
15
15
  import { n as LayeredResourceManager, r as ResourceKind, t as FolderResourceManager } from "./manager-BNibYkmI.js";
16
16
  import { n as TextureLoader, r as TextureResolutionError, t as AnimatedTexture } from "./loader-C18GpurU.js";
17
- import { t as exportBlockPack } from "./export-CTKEwro6.js";
17
+ import { t as exportBlockPack } from "./export-BFcXFTX6.js";
18
18
  import { n as UnsafeJarError, r as isUnsafeEntryPath, t as JarResourceManager } from "./jar-W2cV2ZVO.js";
19
19
  import { n as prepareModResources } from "./prepare-Myd_ec4v.js";
20
20
  import { a as prepareVersionResources, i as eraForVersion, r as compareVersions } from "./prepare-D49Gu4Lv.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodecraft/rendermite",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "Minecraft item icon renderer: renders inventory-identical item icons from vanilla and modded assets across game versions, outputting optimized PNG/WebP/AVIF plus CSS and a JSON item library.",
5
5
  "type": "module",
6
6
  "license": "MIT",