槽位控件(ItemSlot / FluidSlot / PhantomItemSlot / SlotGroup)

基本信息

属性 值
包路径 com.cleanroommc.modularui.widgets.slot
文件数 10
原版基类 SlotItemHandler extends net.minecraft.inventory.Slot(utils/item/SlotItemHandler.java:15)
主题部件 itemSlot、fluidSlot,各带 4 个子部件(见「部件主题」)

功能

槽位族

类 文件 继承 实现 说明
ModularSlot widgets/slot/ModularSlot.java:30 SlotItemHandler — 最底层槽位
ModularCraftingSlot widgets/slot/ModularCraftingSlot.java:22 ModularSlot — 合成用槽位
ItemSlot widgets/slot/ItemSlot.java:46 Widget<ItemSlot> IVanillaSlot, Interactable, RecipeViewerIngredientProvider 物品槽位控件
PhantomItemSlot widgets/slot/PhantomItemSlot.java:14 ItemSlot RecipeViewerGhostIngredientSlot<ItemStack> 幻影物品槽:只用于配置/过滤,不实际存物
FluidSlot widgets/slot/FluidSlot.java:36 AbstractFluidDisplayWidget<FluidSlot> Interactable, RecipeViewerGhostIngredientSlot<FluidStack> 流体槽位
SlotGroup widgets/slot/SlotGroup.java:20 — — 一组槽位的逻辑分组
PlayerSlotGroup widgets/slot/PlayerSlotGroup.java:5 SlotGroup — 玩家背包槽位分组
SlotGroupWidget widgets/SlotGroupWidget.java(在 widgets/ 根,不在 slot/) ParentWidget<SlotGroupWidget> ISynced 把 SlotGroup 变成可布局的控件
InventoryCraftingWrapper widgets/slot/InventoryCraftingWrapper.java:20 InventoryCrafting — 把合成格包装成 MUI2 槽位组
IOnSlotChanged widgets/slot/IOnSlotChanged.java:5 接口 — 槽位内容变化回调

⚠️ SlotItemHandler 不是 NEI 或 Forge 的类,而是 ModularUI2 自己在 utils/item/ 下对 net.minecraft.inventory.Slot 的实现(SlotItemHandler.java:15)。 utils/item/ 共 13 个文件,是 MUI2 自带的 IItemHandler 实现 (ItemStackHandler、LimitingItemStackHandler、各类 InvWrapper 等), 不依赖 NEI 的物品栏 API。

两套槽位体系并存:ModularSlot 走原版 Slot 体系(用于 GuiContainer 集成); ItemSlot 则是纯 MUI2 的 Widget 实现。两者不是继承关系,需要 api/SlotAccessor.java 桥接。 注意 ItemSlot 本身耦合了 NEI——ItemSlot.java:41 导入了 codechicken.nei.guihook.GuiContainerManager,是 widgets/slot/ 下唯一的 NEI 引用。

幻影槽位的操作方式

PhantomItemSlot / FluidSlot 的 tooltip 文案直接给出了完整操作说明 (src/main/resources/assets/modularui/lang/en_us.lang):

槽位 行 说明
物品幻影 :11 modularui.item.phantom.control
流体幻影 :10 modularui.fluid.phantom.control

物品幻影(en_us.lang:11):

Scroll wheel up increases amount, down decreases. Shift[§6x4§7], Ctrl[§ex16§7], Alt[§ax64§7] Right click increases amount, left click decreases. Shift + left click to clear.

流体幻影(en_us.lang:10):

Scroll wheel up increases amount, down decreases. Shift[§6x10§7], Ctrl[§ex100§7], Alt[§ax1000§7] Right click increases amount, left click decreases. Shift + left click to clear.

⚠️ 这两条 key 在 assets/modularui/lang/en_us.lang(旧的 modularui 资源域、小写 _us), 而不是 assets/modularui2/lang/en_US.lang。

数值

数值名 值 来源
物品幻影 Shift 倍率 ×4 en_us.lang:11
物品幻影 Ctrl 倍率 ×16 en_us.lang:11
物品幻影 Alt 倍率 ×64 en_us.lang:11
流体幻影 Shift 倍率 ×10 en_us.lang:10
流体幻影 Ctrl 倍率 ×100 en_us.lang:10
流体幻影 Alt 倍率 ×1000 en_us.lang:10
槽位占位显示 开启(showSlotOverlay 默认 true) ModularUIConfig.java:30

这些倍率是tooltip 文案中的说明文本,不是从 Java 常量读出的; 文案位于资源文件而非源码。

交互

触发 行为
滚轮 增减数量(按上表倍率)
右键 数量增加
左键 数量减少
Shift + 左键 清空
槽位被占用 按 showSlotOverlay(默认开)显示覆盖层

相关条目