虚空之石

基本信息

属性 值
注册名 RandomThings:voidStone
类 lumien.randomthings.Items.ItemVoidStone
堆叠上限 1(ItemVoidStone.java:13)
GUI ID GuiIds.VOID_STONE = 6(GuiIds.java:11)
中文名 未在 zh_CN.lang 中翻译(grep 'voidStone' zh_CN.lang 无结果)
开关 Items.VoidStone(RTConfiguration.java:217)

功能

虚空之石是一个虚空删除器:右键打开 GUI,在其中放入要删除的物品栈,确认后从玩家背包中移除。

onItemRightClick 打开 GUI 时用玩家自身坐标作为参数(ItemVoidStone.java:17-24):

par3EntityPlayer.openGui(RandomThings.instance, GuiIds.VOID_STONE, par2World,
        (int) par3EntityPlayer.posX, (int) par3EntityPlayer.posY, (int) par3EntityPlayer.posZ);

GUI 结构

ContainerVoidStone 继承 ContainerItem,只有 1 个专属槽位(Container/ContainerVoidStone.java:13):

this.addSlotToContainer(new SlotVoid(80, 18));

SlotVoid 是本 mod 自定义槽位类型(Container/Slots/SlotVoid.java),与 SlotLocked 同属"防止取回"的限制类槽位。ContainerItem.bindPlayerInventory 会把玩家当前手持格替换为 SlotLocked(ContainerItem.java:24-28)—— 因为操作时手持的就是虚空之石本身。

getPlayerInventoryAndHotbarOffset 是 ContainerItem 的抽象方法,暗示不同物品的 GUI 背包区有不同偏移。

数值

数值名 值
堆叠上限 1
专属槽位 1(SlotVoid,坐标 80, 18)
背包区槽位 27 + 9(ContainerItem.java:16-28)
锁定槽位 玩家当前手持格

交互

触发 行为
右键 打开 GUI ID 6
放入物品 进入待删除槽位(SlotVoid)
确认 从背包移除,物品不返还、不掉落

合成配方

xox
oeo
xox
字符 物品
o 石头(stone)
e 末影珍珠(Items.ender_pearl)

来源:Library/Recipes.java:317-326,受 ConfigItems.voidStone 约束。

配方联动

虚空之石还被掉落物过滤器的 meta 1 配方当作材料,且会随配置切换(Library/Recipes.java:340-347):

'e', ConfigItems.voidStone ? ModItems.voidStone : iEnderPearl

即关闭 Items.VoidStone 时该配方自动退回用末影珍珠,避免配方因物品缺失而失效。

相关条目