From 143d4a3bb3d7b18ac9ceb36eb0dc5a3336d65e26 Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Wed, 16 Apr 2025 14:34:51 +0300 Subject: [PATCH] fix: fix double chests. fix inventory crashing when it doesnt know the texture to render --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- src/inventoryWindows.ts | 6 +++++- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index ce04e875..ee07230d 100644 --- a/package.json +++ b/package.json @@ -151,7 +151,7 @@ "http-browserify": "^1.7.0", "http-server": "^14.1.1", "https-browserify": "^1.0.0", - "mc-assets": "^0.2.52", + "mc-assets": "^0.2.53", "minecraft-inventory-gui": "github:zardoy/minecraft-inventory-gui#next", "mineflayer": "github:GenerelSchwerz/mineflayer", "mineflayer-mouse": "^0.1.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f3059dac..d7b1da61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -337,8 +337,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 mc-assets: - specifier: ^0.2.52 - version: 0.2.52 + specifier: ^0.2.53 + version: 0.2.53 minecraft-inventory-gui: specifier: github:zardoy/minecraft-inventory-gui#next version: https://codeload.github.com/zardoy/minecraft-inventory-gui/tar.gz/98bc5bb8ee6da8b4b771c05b404cee796318ccd4(@types/react@18.3.18)(react@18.3.1) @@ -6455,8 +6455,8 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mc-assets@0.2.52: - resolution: {integrity: sha512-6mUI63fcUIjB0Ghjls7bLMnse2XUgvhPajsFkRQf10PcXYbfS/OAnX51X8sNx2pzfoHSlA81U7v+v906YwoAUw==} + mc-assets@0.2.53: + resolution: {integrity: sha512-Ucsu2pDLr/cs8bxbxU9KTszdf/vPTLphYgEHUEWxuYlMkPQUCpsQwkn3YgyykJ7RXaca7zZGlZXaTPXBAqJT6A==} engines: {node: '>=18.0.0'} mcraft-fun-mineflayer@0.1.14: @@ -16988,7 +16988,7 @@ snapshots: math-intrinsics@1.1.0: {} - mc-assets@0.2.52: + mc-assets@0.2.53: dependencies: maxrects-packer: '@zardoy/maxrects-packer@2.7.4' zod: 3.24.2 diff --git a/src/inventoryWindows.ts b/src/inventoryWindows.ts index 40b0e4d7..2906177b 100644 --- a/src/inventoryWindows.ts +++ b/src/inventoryWindows.ts @@ -216,6 +216,8 @@ export const renderSlot = (model: ResolvedItemModelRender, debugIsQuickbar = fal } } + const blockToTopTexture = (r) => r.top ?? r + try { assertDefined(appViewer.resourcesManager.currentResources?.itemsRenderer) itemTexture = @@ -224,9 +226,11 @@ export const renderSlot = (model: ResolvedItemModelRender, debugIsQuickbar = fal ?? appViewer.resourcesManager.currentResources.itemsRenderer.getItemTexture('item/missing_texture')! } catch (err) { inGameError(`Failed to render item ${itemModelName} (original: ${originalItemName}) on ${bot.version} (resourcepack: ${options.enabledResourcepack}): ${err.stack}`) - itemTexture = appViewer.resourcesManager.currentResources!.itemsRenderer.getItemTexture('block/errored')! + itemTexture = blockToTopTexture(appViewer.resourcesManager.currentResources!.itemsRenderer.getItemTexture('errored')!) } + itemTexture ??= blockToTopTexture(appViewer.resourcesManager.currentResources!.itemsRenderer.getItemTexture('unknown')!) + if ('type' in itemTexture) { // is item