diff --git a/bridge/lib/mineflayer/lib/bedrockPlugins/inventory.mts b/bridge/lib/mineflayer/lib/bedrockPlugins/inventory.mts index 4586b27..1033d64 100644 --- a/bridge/lib/mineflayer/lib/bedrockPlugins/inventory.mts +++ b/bridge/lib/mineflayer/lib/bedrockPlugins/inventory.mts @@ -142,7 +142,14 @@ export default function inject(bot: BedrockBot) { } }); bot._client.on('inventory_content', (packet: protocolTypes.packet_inventory_content) => { - const window = bot.currentWindow?.id == packet.window_id ? bot.currentWindow : getWindow(packet.window_id); + // On Bedrock, window_id for player inventory is the string "inventory" + // but bot.inventory has numeric id 0. Handle both. + let window; + if (packet.window_id === 'inventory' || packet.window_id === 'armor' || packet.window_id === 'offhand') { + window = bot.inventory; + } else { + window = bot.currentWindow?.id == packet.window_id ? bot.currentWindow : getWindow(packet.window_id); + } if (!window) return; if (packet.window_id === 'inventory') {