Minecraft基岩版ADDON开发:如何获取玩家选中的物品槽?
获取Minecraft基岩版玩家选中物品槽的方法
在Bedrock版Script API中,Player对象内置了selectedSlot属性,可直接获取玩家当前手持物品对应的快捷栏槽位索引(范围为0-8,对应快捷栏从左到右的9个槽位)。结合你已有的代码,修改如下:
import { world, Player, EntityInventoryComponent } from "@minecraft/server"; world.getPlayers().forEach((player) => { // 获取玩家背包组件 let inventory = player.getComponent("inventory") as EntityInventoryComponent; // 获取当前选中的快捷栏槽位索引 const selectedSlotIndex = player.selectedSlot; // 根据索引获取对应槽位的物品 const selectedItem = inventory.container.getItem(selectedSlotIndex); // 示例:向玩家反馈选中信息 if (selectedItem) { player.sendMessage(`当前选中槽位:${selectedSlotIndex},物品:${selectedItem.typeId}`); } else { player.sendMessage(`当前选中槽位:${selectedSlotIndex},无物品`); } });
补充说明:
selectedSlot是只读属性,返回值为0到8的整数,对应快捷栏的9个位置- 若要获取选中槽位的具体物品,需通过
inventory.container.getItem(slotIndex)获取,返回ItemStack对象(槽位为空时返回undefined) - 该属性仅针对玩家快捷栏的选中槽位,背包其他非快捷栏槽位不存在“选中”状态
内容的提问来源于stack exchange,提问作者user24667429
相关产品推荐
相关产品推荐

