@nodecraft/rendermite 1.10.0 → 1.10.1
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/{block-behaviour-BBslelpW.d.ts → block-behaviour-CzK3KVLx.d.ts} +2 -0
- package/dist/blocks/block-behaviour.d.ts +1 -1
- package/dist/blocks/block-overrides.d.ts +1 -1
- package/dist/blocks/cli.js +1 -1
- package/dist/blocks/ender-storage.d.ts +1 -1
- package/dist/blocks/entities.d.ts +1 -1
- package/dist/blocks/entity-models.d.ts +1 -1
- package/dist/blocks/export.js +1 -1
- package/dist/blocks/geo-blocks.d.ts +1 -1
- package/dist/blocks/item-sprites.d.ts +1 -1
- package/dist/blocks/light-bytecode.d.ts +1 -1
- package/dist/blocks/light-bytecode.js +1 -1
- package/dist/blocks/light-eval.d.ts +1 -1
- package/dist/blocks/light.d.ts +3 -1
- package/dist/blocks/light.js +1 -1
- package/dist/blocks/pack-format.d.ts +1 -1
- package/dist/blocks/sprite-sheet.d.ts +1 -1
- package/dist/{cli-DwMPoX0I.js → cli-2mzPC8cy.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/{export-ArMmWuCC.js → export-DgB0e5sB.js} +3 -2
- package/dist/index.js +1 -1
- package/dist/{light-CZRA1pOj.js → light-BnaYFouC.js} +2 -1
- package/dist/{light-bytecode-BqpQWqP7.js → light-bytecode-hhkkjMVi.js} +44 -5
- package/dist/{light-eval-C0-kt0bp.d.ts → light-eval-B4q-aVcf.d.ts} +1 -1
- package/dist/pack.d.ts +2 -2
- package/package.json +1 -1
|
@@ -420,6 +420,8 @@ interface LightCodeSource {
|
|
|
420
420
|
* Absent, or answering the name it was given, where the jar already speaks original names.
|
|
421
421
|
*/
|
|
422
422
|
nameOf?: (reference: MemberReference, field: boolean) => string;
|
|
423
|
+
/** A block's default state by full id, from the data generator's report when the export has one. */
|
|
424
|
+
defaultStateOf?: (blockId: string) => Readonly<Record<string, string>> | null;
|
|
423
425
|
/** Classes that are a block `Properties` builder, in every spelling the jars use. */
|
|
424
426
|
propsClasses: ReadonlySet<string>;
|
|
425
427
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as statedMapColor, n as PushReactionName, r as blockBehaviour, t as BlockBehaviour } from "../block-behaviour-
|
|
1
|
+
import { i as statedMapColor, n as PushReactionName, r as blockBehaviour, t as BlockBehaviour } from "../block-behaviour-CzK3KVLx.js";
|
|
2
2
|
export { BlockBehaviour, PushReactionName, blockBehaviour, statedMapColor };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as MemberReference } from "../block-behaviour-
|
|
1
|
+
import { d as MemberReference } from "../block-behaviour-CzK3KVLx.js";
|
|
2
2
|
import { t as ClassFile } from "../classfile-Dzn0gW9M.js";
|
|
3
3
|
//#region src/blocks/block-overrides.d.ts
|
|
4
4
|
interface OverrideSource {
|
package/dist/blocks/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as runBlocksCli } from "../cli-
|
|
1
|
+
import { t as runBlocksCli } from "../cli-2mzPC8cy.js";
|
|
2
2
|
export { runBlocksCli };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as ResourceManager } from "../manager-Ct0dEOMg.js";
|
|
2
|
-
import { P as BlockPackModel } from "../block-behaviour-
|
|
2
|
+
import { P as BlockPackModel } from "../block-behaviour-CzK3KVLx.js";
|
|
3
3
|
//#region src/blocks/ender-storage.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Ender Storage feeds this OBJ through CodeChickenLib's `swapYZ`, translates it almost exactly onto
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as ResourceManager } from "../manager-Ct0dEOMg.js";
|
|
2
2
|
import { i as TextureLoader } from "../loader-C4gsX_wO.js";
|
|
3
|
-
import { q as EntityPackEntry } from "../block-behaviour-
|
|
3
|
+
import { q as EntityPackEntry } from "../block-behaviour-CzK3KVLx.js";
|
|
4
4
|
//#region src/blocks/entities.d.ts
|
|
5
5
|
interface EntityPackResult {
|
|
6
6
|
entities: Record<string, EntityPackEntry>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as ResourceManager } from "../manager-Ct0dEOMg.js";
|
|
2
2
|
import { t as ClassSource } from "../jar-classes-CSRrPAUy.js";
|
|
3
|
-
import { J as EntityPackModel, X as EquipmentPack } from "../block-behaviour-
|
|
3
|
+
import { J as EntityPackModel, X as EquipmentPack } from "../block-behaviour-CzK3KVLx.js";
|
|
4
4
|
import { t as Mappings } from "../mappings-DhOPQTgV.js";
|
|
5
5
|
import { t as ModelCode } from "../model-code-BclYt1do.js";
|
|
6
6
|
//#region src/blocks/entity-models.d.ts
|
package/dist/blocks/export.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as exportBlockPack } from "../export-
|
|
1
|
+
import { t as exportBlockPack } from "../export-DgB0e5sB.js";
|
|
2
2
|
export { exportBlockPack };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as ResourceManager } from "../manager-Ct0dEOMg.js";
|
|
2
|
-
import { P as BlockPackModel } from "../block-behaviour-
|
|
2
|
+
import { P as BlockPackModel } from "../block-behaviour-CzK3KVLx.js";
|
|
3
3
|
//#region src/blocks/geo-blocks.d.ts
|
|
4
4
|
interface GeoBlockOverride {
|
|
5
5
|
model: BlockPackModel;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as ResourceManager } from "../manager-Ct0dEOMg.js";
|
|
2
2
|
import { i as TextureLoader } from "../loader-C4gsX_wO.js";
|
|
3
3
|
import { t as ModelLoader } from "../loader-BYyPIs9f.js";
|
|
4
|
-
import { Q as ItemPackEntry } from "../block-behaviour-
|
|
4
|
+
import { Q as ItemPackEntry } from "../block-behaviour-CzK3KVLx.js";
|
|
5
5
|
//#region src/blocks/item-sprites.d.ts
|
|
6
6
|
interface ItemSpriteFailure {
|
|
7
7
|
id: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as extractBlockLight, a as Handle, c as LightExtraction, d as MemberReference, f as PropertyDomain, g as Value, h as StateProbe, l as LightGetter, m as Registration, o as LambdaValue, p as PropsCall, s as LightCodeSource, u as LightSpec } from "../block-behaviour-
|
|
1
|
+
import { _ as extractBlockLight, a as Handle, c as LightExtraction, d as MemberReference, f as PropertyDomain, g as Value, h as StateProbe, l as LightGetter, m as Registration, o as LambdaValue, p as PropsCall, s as LightCodeSource, u as LightSpec } from "../block-behaviour-CzK3KVLx.js";
|
|
2
2
|
export { Handle, LambdaValue, LightCodeSource, LightExtraction, LightGetter, LightSpec, MemberReference, PropertyDomain, PropsCall, Registration, StateProbe, Value, extractBlockLight };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as extractBlockLight } from "../light-bytecode-
|
|
1
|
+
import { t as extractBlockLight } from "../light-bytecode-hhkkjMVi.js";
|
|
2
2
|
export { extractBlockLight };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as blockLightLevel } from "../light-eval-
|
|
1
|
+
import { t as blockLightLevel } from "../light-eval-B4q-aVcf.js";
|
|
2
2
|
export { blockLightLevel };
|
package/dist/blocks/light.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as ClassSource } from "../jar-classes-CSRrPAUy.js";
|
|
2
|
-
import { j as BlockPackLight, t as BlockBehaviour } from "../block-behaviour-
|
|
2
|
+
import { j as BlockPackLight, t as BlockBehaviour } from "../block-behaviour-CzK3KVLx.js";
|
|
3
3
|
//#region src/blocks/light.d.ts
|
|
4
4
|
interface CollectBlockLightOptions {
|
|
5
5
|
version: string;
|
|
@@ -8,6 +8,8 @@ interface CollectBlockLightOptions {
|
|
|
8
8
|
classes: ClassSource;
|
|
9
9
|
/** Every block the pack describes, fully qualified; each gets an answer or a failure. */
|
|
10
10
|
blockIds: readonly string[];
|
|
11
|
+
/** A block's default state, from the data generator's report, for a colour that is a function of state. */
|
|
12
|
+
defaultStateOf?: (blockId: string) => Readonly<Record<string, string>> | null;
|
|
11
13
|
/** Blocks to describe in `notes` — what was registered and with which light — for chasing a failure. */
|
|
12
14
|
trace?: readonly string[];
|
|
13
15
|
onProgress?: (done: number, total: number) => void;
|
package/dist/blocks/light.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as collectBlockLight, r as vanillaLightAt, t as VANILLA_LIGHT } from "../light-
|
|
1
|
+
import { n as collectBlockLight, r as vanillaLightAt, t as VANILLA_LIGHT } from "../light-BnaYFouC.js";
|
|
2
2
|
export { VANILLA_LIGHT, collectBlockLight, vanillaLightAt };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as ItemPackLayer, A as BlockPackItemsFile, B as BlockPackStatesFile, C as BlockPackBlockState, D as BlockPackEntityModelsFile, E as BlockPackEntitiesFile, F as BlockPackModelsFile, G as EntityPackCube, H as BlockPackTintsFile, I as BlockPackNamesFile, J as EntityPackModel, K as EntityPackCubeFace, L as BlockPackRenderLayer, M as BlockPackLightFile, N as BlockPackMetaFile, O as BlockPackFace, P as BlockPackModel, Q as ItemPackEntry, R as BlockPackSprite, S as BlockPackBiomesFile, T as BlockPackElement, U as BlockPackVariant, V as BlockPackTagsFile, W as EQUIPMENT_SLOTS, X as EquipmentPack, Y as EntityPackPart, Z as EquipmentSlot, b as BlockPackAtlasPage, j as BlockPackLight, k as BlockPackGameRulesFile, q as EntityPackEntry, v as BlockPackAdvancementsFile, w as BlockPackBlockStatesFile, x as BlockPackBehaviourFile, y as BlockPackAtlasFile, z as BlockPackSpriteFrame } from "../block-behaviour-
|
|
1
|
+
import { $ as ItemPackLayer, A as BlockPackItemsFile, B as BlockPackStatesFile, C as BlockPackBlockState, D as BlockPackEntityModelsFile, E as BlockPackEntitiesFile, F as BlockPackModelsFile, G as EntityPackCube, H as BlockPackTintsFile, I as BlockPackNamesFile, J as EntityPackModel, K as EntityPackCubeFace, L as BlockPackRenderLayer, M as BlockPackLightFile, N as BlockPackMetaFile, O as BlockPackFace, P as BlockPackModel, Q as ItemPackEntry, R as BlockPackSprite, S as BlockPackBiomesFile, T as BlockPackElement, U as BlockPackVariant, V as BlockPackTagsFile, W as EQUIPMENT_SLOTS, X as EquipmentPack, Y as EntityPackPart, Z as EquipmentSlot, b as BlockPackAtlasPage, j as BlockPackLight, k as BlockPackGameRulesFile, q as EntityPackEntry, v as BlockPackAdvancementsFile, w as BlockPackBlockStatesFile, x as BlockPackBehaviourFile, y as BlockPackAtlasFile, z as BlockPackSpriteFrame } from "../block-behaviour-CzK3KVLx.js";
|
|
2
2
|
export { BlockPackAdvancementsFile, BlockPackAtlasFile, BlockPackAtlasPage, BlockPackBehaviourFile, BlockPackBiomesFile, BlockPackBlockState, BlockPackBlockStatesFile, BlockPackElement, BlockPackEntitiesFile, BlockPackEntityModelsFile, BlockPackFace, BlockPackGameRulesFile, BlockPackItemsFile, BlockPackLight, BlockPackLightFile, BlockPackMetaFile, BlockPackModel, BlockPackModelsFile, BlockPackNamesFile, BlockPackRenderLayer, BlockPackSprite, BlockPackSpriteFrame, BlockPackStatesFile, BlockPackTagsFile, BlockPackTintsFile, BlockPackVariant, EQUIPMENT_SLOTS, EntityPackCube, EntityPackCubeFace, EntityPackEntry, EntityPackModel, EntityPackPart, EquipmentPack, EquipmentSlot, ItemPackEntry, ItemPackLayer };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as TextureLoader, r as Texture } from "../loader-C4gsX_wO.js";
|
|
2
2
|
import { i as PackedPage } from "../atlas-pack-BUadroKy.js";
|
|
3
|
-
import { L as BlockPackRenderLayer, R as BlockPackSprite } from "../block-behaviour-
|
|
3
|
+
import { L as BlockPackRenderLayer, R as BlockPackSprite } from "../block-behaviour-CzK3KVLx.js";
|
|
4
4
|
//#region src/blocks/sprite-sheet.d.ts
|
|
5
5
|
/**
|
|
6
6
|
* Vanilla's own id for the missing-texture sprite. A face whose texture does
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as builtinPackPath } from "./builtin-WkWjATeh.js";
|
|
2
2
|
import { n as LayeredResourceManager, t as FolderResourceManager } from "./manager-D6zXmFrO.js";
|
|
3
3
|
import { a as prepareVersionResources, r as compareVersions } from "./prepare-DkJkZXuQ.js";
|
|
4
|
-
import { t as exportBlockPack } from "./export-
|
|
4
|
+
import { t as exportBlockPack } from "./export-DgB0e5sB.js";
|
|
5
5
|
import { n as layeredClasses, t as JarClassReader } from "./jar-classes-0wqWbTax.js";
|
|
6
6
|
import { n as prepareModResources } from "./prepare-sj36BP90.js";
|
|
7
7
|
import { t as downloadClientJar } from "./download-1wAfrGKx.js";
|
package/dist/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import { a as prepareVersionResources, i as eraForVersion, n as GEOMETRY_DONOR_V
|
|
|
6
6
|
import { t as curatedModelOverrides } from "./models-BsYA-NZg.js";
|
|
7
7
|
import { n as harvestTintOverrides, t as curatedTintOverrides } from "./tints-CZeyKzMv.js";
|
|
8
8
|
import { t as downloadClientJar } from "./download-1wAfrGKx.js";
|
|
9
|
-
import { t as runBlocksCli } from "./cli-
|
|
9
|
+
import { t as runBlocksCli } from "./cli-2mzPC8cy.js";
|
|
10
10
|
import { t as run } from "./run-5yX5KRiI.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
import os from "node:os";
|
|
@@ -13,7 +13,7 @@ import { t as collectGameRules } from "./game-rules-BDPTopVW.js";
|
|
|
13
13
|
import { t as geoBlockModel } from "./geo-blocks-W79q5A0f.js";
|
|
14
14
|
import { n as discoverItems } from "./discovery-CD0QqxSF.js";
|
|
15
15
|
import { t as collectItemSprites } from "./item-sprites-CwiEBEAJ.js";
|
|
16
|
-
import { n as collectBlockLight } from "./light-
|
|
16
|
+
import { n as collectBlockLight } from "./light-BnaYFouC.js";
|
|
17
17
|
import { t as collectNames } from "./names-GLa5TyL7.js";
|
|
18
18
|
import { n as buildObjMesh } from "./obj-mesh-BFhtTBXX.js";
|
|
19
19
|
import { n as buildSpriteSheet, t as MISSING_SPRITE } from "./sprite-sheet-LQAEtGkp.js";
|
|
@@ -699,6 +699,7 @@ async function exportBlockPack(options) {
|
|
|
699
699
|
});
|
|
700
700
|
}
|
|
701
701
|
}
|
|
702
|
+
const states = options.reports === void 0 ? null : await readBlockStates(options.reports);
|
|
702
703
|
let lightPack = {};
|
|
703
704
|
let behaviourPack = {};
|
|
704
705
|
if (options.classes) {
|
|
@@ -707,6 +708,7 @@ async function exportBlockPack(options) {
|
|
|
707
708
|
cacheDir: options.cacheDir ?? output,
|
|
708
709
|
classes: options.classes,
|
|
709
710
|
blockIds: [.../* @__PURE__ */ new Set([...blockLocators.map((locator) => locator.toString()), ...Object.keys(blockStates)])],
|
|
711
|
+
defaultStateOf: (id) => states?.[id]?.default ?? null,
|
|
710
712
|
onProgress: (count, total) => report("light", count, total)
|
|
711
713
|
});
|
|
712
714
|
lightPack = sortedByKey(collected.light);
|
|
@@ -734,7 +736,6 @@ async function exportBlockPack(options) {
|
|
|
734
736
|
const names = await collectNames(resources, namespaces);
|
|
735
737
|
const nameCount = Object.keys(names.block).length + Object.keys(names.item).length;
|
|
736
738
|
const gameRules = options.classes && namespaces.includes("minecraft") ? await collectGameRules(options.classes) : {};
|
|
737
|
-
const states = options.reports === void 0 ? null : await readBlockStates(options.reports);
|
|
738
739
|
const statesPack = states === null ? null : Object.fromEntries(Object.entries(states).filter(([id]) => namespaces.includes(id.split(":", 1)[0])));
|
|
739
740
|
let itemPack = null;
|
|
740
741
|
let itemPages = [];
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import { t as packAtlas } from "./atlas-pack-CoOih7By.js";
|
|
|
16
16
|
import { n as buildBlockTints, t as UNREGISTERED_TINTS } from "./tints-Cl0r-Ol3.js";
|
|
17
17
|
import { o as createAtlasResolver, s as parseAtlasSources, t as AtlasSourceError } from "./sources-DYY5Qu-t.js";
|
|
18
18
|
import { n as TextureLoader, r as TextureResolutionError, t as AnimatedTexture } from "./loader-CsgtBuBo.js";
|
|
19
|
-
import { t as exportBlockPack } from "./export-
|
|
19
|
+
import { t as exportBlockPack } from "./export-DgB0e5sB.js";
|
|
20
20
|
import { n as prepareModResources } from "./prepare-sj36BP90.js";
|
|
21
21
|
import { n as encodeIcon, t as encodeAnimatedIcon } from "./encode-LR9wxigC.js";
|
|
22
22
|
import { a as builtinDynamicResources } from "./generators-D6giKoab.js";
|
|
@@ -3,7 +3,7 @@ import { t as parseClassFile } from "./classfile-BJSs3JH0.js";
|
|
|
3
3
|
import { c as resolveMappings, s as remapDescriptor, t as MappingsUnavailableError } from "./mappings-DEl_7xxQ.js";
|
|
4
4
|
import { t as blockBehaviour } from "./block-behaviour-DVjqeSkv.js";
|
|
5
5
|
import { i as overrideOf, n as constantFluidOf, t as alwaysInvisible } from "./block-overrides-XtxICunI.js";
|
|
6
|
-
import { t as extractBlockLight } from "./light-bytecode-
|
|
6
|
+
import { t as extractBlockLight } from "./light-bytecode-hhkkjMVi.js";
|
|
7
7
|
//#region src/blocks/light.ts
|
|
8
8
|
/**
|
|
9
9
|
* Block light emission for the exported pack: `light.json`.
|
|
@@ -302,6 +302,7 @@ async function collectBlockLight(options) {
|
|
|
302
302
|
remap,
|
|
303
303
|
remapClass,
|
|
304
304
|
nameOf,
|
|
305
|
+
defaultStateOf: options.defaultStateOf,
|
|
305
306
|
propsClasses,
|
|
306
307
|
lightGetters: findLightGetters(roots, propsClasses, resolve, notes),
|
|
307
308
|
isVanillaClass: (name) => mappings.originalOf.size === 0 || mappings.originalOf.has(name.replaceAll("/", ".")) || name.startsWith("net/minecraft/") || name.startsWith("com/mojang/")
|
|
@@ -428,6 +428,44 @@ var Interpreter = class Interpreter {
|
|
|
428
428
|
return parent === "java/lang/Enum" || parent !== null && this.shared.source.resolve(parent)?.superClass === "java/lang/Enum";
|
|
429
429
|
}
|
|
430
430
|
/**
|
|
431
|
+
* A function of state run at a registered block's default state, which only the data generator's
|
|
432
|
+
* report states: a sign takes its log's colour, and a log is `axis=y` until placed otherwise.
|
|
433
|
+
*/
|
|
434
|
+
atDefaultState(block, fn) {
|
|
435
|
+
const { source, registrations } = this.shared;
|
|
436
|
+
let values = null;
|
|
437
|
+
for (const [name, registration] of registrations) {
|
|
438
|
+
if (registration.block !== block || values) continue;
|
|
439
|
+
const id = name.includes(":") ? name : registration.vanilla ? `minecraft:${name}` : null;
|
|
440
|
+
values = id ? source.defaultStateOf?.(id) ?? null : null;
|
|
441
|
+
}
|
|
442
|
+
if (!values) return null;
|
|
443
|
+
const saved = {
|
|
444
|
+
steps: this.shared.steps,
|
|
445
|
+
frames: this.shared.frames,
|
|
446
|
+
probe: this.shared.probe
|
|
447
|
+
};
|
|
448
|
+
const probe = {
|
|
449
|
+
values: new Map(Object.entries(values)),
|
|
450
|
+
domains: /* @__PURE__ */ new Map(),
|
|
451
|
+
reads: /* @__PURE__ */ new Set(),
|
|
452
|
+
failure: null
|
|
453
|
+
};
|
|
454
|
+
this.shared.probe = probe;
|
|
455
|
+
this.shared.steps = Math.min(saved.steps, CTOR_BUDGET);
|
|
456
|
+
try {
|
|
457
|
+
const result = this.invokeLambda(fn, [{
|
|
458
|
+
kind: "state",
|
|
459
|
+
probe
|
|
460
|
+
}]);
|
|
461
|
+
return probe.failure ? null : result;
|
|
462
|
+
} finally {
|
|
463
|
+
this.shared.steps = saved.steps - Math.max(0, Math.min(saved.steps, CTOR_BUDGET) - this.shared.steps);
|
|
464
|
+
this.shared.frames = saved.frames;
|
|
465
|
+
this.shared.probe = saved.probe;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
431
469
|
* The class a factory lambda constructs, read off its body rather than run: `props -> new
|
|
432
470
|
* StairBlock(base, props)` builds a `StairBlock`. What a stair overrides lives on that class.
|
|
433
471
|
*/
|
|
@@ -455,7 +493,7 @@ var Interpreter = class Interpreter {
|
|
|
455
493
|
}
|
|
456
494
|
const ids = names.filter((name) => looksLikeId(name));
|
|
457
495
|
if (ids.length === 0) return null;
|
|
458
|
-
const known = ids.map((name) => this.shared.registrations.get(name)).
|
|
496
|
+
const known = ids.map((name) => this.shared.registrations.get(name)).findLast((entry) => entry !== void 0);
|
|
459
497
|
if (known && ids.every((name) => this.shared.registrations.has(name))) return known.block ?? this.blockFor(known);
|
|
460
498
|
let props = null;
|
|
461
499
|
let block = null;
|
|
@@ -465,7 +503,7 @@ var Interpreter = class Interpreter {
|
|
|
465
503
|
else if (arg.kind === "lambda" && arg.name === "<init>") blockType ??= this.shared.source.remapClass(arg.owner);
|
|
466
504
|
else if (arg.kind === "lambda") blockType ??= this.constructedIn(arg);
|
|
467
505
|
if (!props && !block) for (const arg of args) {
|
|
468
|
-
if (arg.kind !== "lambda") continue;
|
|
506
|
+
if (arg.kind !== "lambda" || parseDescriptor(arg.descriptor).args.length > arg.captured.length) continue;
|
|
469
507
|
const made = this.invokeLambda(arg, []);
|
|
470
508
|
if (made?.kind === "object" && made.handle.props) {
|
|
471
509
|
block = made.handle;
|
|
@@ -863,7 +901,7 @@ var Interpreter = class Interpreter {
|
|
|
863
901
|
return;
|
|
864
902
|
}
|
|
865
903
|
}
|
|
866
|
-
const registered = this.detectRegistration(args, `${remapped.owner}.${remapped.name}${remapped.descriptor}`);
|
|
904
|
+
const registered = returns.startsWith("L") && source.resolve(returns.slice(1, -1))?.superClass === "java/lang/Record" ? null : this.detectRegistration(args, `${remapped.owner}.${remapped.name}${remapped.descriptor}`);
|
|
867
905
|
if (registered) {
|
|
868
906
|
this.push(returns === "V" ? null : returns.startsWith("L") ? {
|
|
869
907
|
kind: "object",
|
|
@@ -876,8 +914,9 @@ var Interpreter = class Interpreter {
|
|
|
876
914
|
const named = source.nameOf?.(reference, false) ?? remapped.name;
|
|
877
915
|
if (target.props && args.length === 0 && (named === "defaultMapColor" || named === "defaultMaterialColor")) {
|
|
878
916
|
const colour = statedMapColor(target.props);
|
|
879
|
-
|
|
880
|
-
|
|
917
|
+
const answer = colour?.kind === "lambda" ? this.atDefaultState(target, colour) : colour;
|
|
918
|
+
if (answer) {
|
|
919
|
+
this.push(answer);
|
|
881
920
|
return;
|
|
882
921
|
}
|
|
883
922
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as BlockProperties } from "./blockstate-eval-BzznRcVY.js";
|
|
2
|
-
import { j as BlockPackLight } from "./block-behaviour-
|
|
2
|
+
import { j as BlockPackLight } from "./block-behaviour-CzK3KVLx.js";
|
|
3
3
|
//#region src/blocks/light-eval.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* The light a block emits in the given state, 0–15.
|
package/dist/pack.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import { a as BlockStateMultipartCase, d as matchesCondition, n as BlockProperti
|
|
|
3
3
|
import { t as GameRule } from "./game-rules-ThvdDG3B.js";
|
|
4
4
|
import { n as ObjMesh, t as MeshGroup } from "./obj-mesh-CzL0lOlJ.js";
|
|
5
5
|
import { n as BlockTintPack, t as BlockTint } from "./tints-DwFmEkf3.js";
|
|
6
|
-
import { B as BlockPackStatesFile, C as BlockPackBlockState, F as BlockPackModelsFile, H as BlockPackTintsFile, I as BlockPackNamesFile, L as BlockPackRenderLayer, M as BlockPackLightFile, N as BlockPackMetaFile, O as BlockPackFace, P as BlockPackModel, R as BlockPackSprite, S as BlockPackBiomesFile, T as BlockPackElement, U as BlockPackVariant, V as BlockPackTagsFile, b as BlockPackAtlasPage, j as BlockPackLight, k as BlockPackGameRulesFile, n as PushReactionName, t as BlockBehaviour, v as BlockPackAdvancementsFile, w as BlockPackBlockStatesFile, x as BlockPackBehaviourFile, y as BlockPackAtlasFile, z as BlockPackSpriteFrame } from "./block-behaviour-
|
|
7
|
-
import { t as blockLightLevel } from "./light-eval-
|
|
6
|
+
import { B as BlockPackStatesFile, C as BlockPackBlockState, F as BlockPackModelsFile, H as BlockPackTintsFile, I as BlockPackNamesFile, L as BlockPackRenderLayer, M as BlockPackLightFile, N as BlockPackMetaFile, O as BlockPackFace, P as BlockPackModel, R as BlockPackSprite, S as BlockPackBiomesFile, T as BlockPackElement, U as BlockPackVariant, V as BlockPackTagsFile, b as BlockPackAtlasPage, j as BlockPackLight, k as BlockPackGameRulesFile, n as PushReactionName, t as BlockBehaviour, v as BlockPackAdvancementsFile, w as BlockPackBlockStatesFile, x as BlockPackBehaviourFile, y as BlockPackAtlasFile, z as BlockPackSpriteFrame } from "./block-behaviour-CzK3KVLx.js";
|
|
7
|
+
import { t as blockLightLevel } from "./light-eval-B4q-aVcf.js";
|
|
8
8
|
export { type BiomeClimate, type BiomeClimatePack, type BlockBehaviour, type BlockModelVariant, type BlockPackAdvancementsFile, type BlockPackAtlasFile, type BlockPackAtlasPage, type BlockPackBehaviourFile, type BlockPackBiomesFile, type BlockPackBlockState, type BlockPackBlockStatesFile, type BlockPackElement, type BlockPackFace, type BlockPackGameRulesFile, type BlockPackLight, type BlockPackLightFile, type BlockPackMetaFile, type BlockPackModel, type BlockPackModelsFile, type BlockPackNamesFile, type BlockPackRenderLayer, type BlockPackSprite, type BlockPackSpriteFrame, type BlockPackStatesFile, type BlockPackTagsFile, type BlockPackTintsFile, type BlockPackVariant, type BlockProperties, type BlockStateDefinition, type BlockStateMultipartCase, type BlockStateVariantCase, type BlockTint, type BlockTintPack, type GameRule, type MeshGroup, type MultipartCondition, type ObjMesh, type PushReactionName, blockLightLevel, evaluateBlockState, matchesCondition, weightedVariantIndex };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodecraft/rendermite",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.1",
|
|
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",
|