SlotWidget
SlotWidget 代表容器 GUI 中的交互式物品槽位。该控件支持可配置属性,例如是否可以取出或放入物品、自定义悬停覆盖层和悬停提示,以及与 JEI/REI/EMI 系统集成以显示原料详情。它可以被配置为代表标准库存容器中的槽位或通过物品传输处理器来实现。
Note
你无法修改 slot 控件的尺寸。
基础属性
| 字段 | 描述 |
|---|---|
| canTakeItems | 指示是否可以从槽位中提取物品(可通过 setter 修改) |
| canPutItems | 指示是否可以向槽位中插入物品(可通过 setter 修改) |
| drawHoverOverlay | 决定当鼠标悬停在槽位上时是否绘制悬停覆盖层 |
| drawHoverTips | 决定当鼠标悬停在槽位上时是否显示悬停提示 |
| lastItem | 上一 tick 存储的物品。 |
API
setContainerSlot
通过指定槽位索引将控件与物品栏关联。例如玩家物品栏。
setHandlerSlot
配置控件使用指定槽位索引的物品传输处理器。
Java
Java 用户请注意!!!
如果你想使用来自 Forge 的 ItemStackHandler 或来自 Fabric 的 Storage<ItemVariant> 的处理器,你需要额外添加一行代码。因为 Forge 和 Fabric 有不同的 API,你需要将处理器转换为 LDLib 的处理器,可以在 ItemTransferHelperImpl 中找到转换方法。
KubeJS
KubeJS 用户不需要做这些繁琐的操作。我们已经将它们转换为内部的物品传输处理器。
setItem
设置内部物品堆叠,可选择是否通知。
getItem
获取存储的内部物品堆叠。
setChangeListener
配置当槽位内容变化时触发的监听器。
canPutStack
是否可以向槽位放入物品堆叠。
canTakeStack
是否可以从槽位取出物品堆叠。
setLocationInfo
配置额外的槽位位置信息,例如它是否属于玩家容器或快捷栏。这将影响 Shift 移动行为。
