掉落物过滤器

基本信息

属性 值
注册名 RandomThings:dropFilter
类 lumien.randomthings.Items.ItemDropFilter
变体数 2(metadata 0–1)
堆叠上限 1(ItemDropFilter.java:27)
GUI ID GuiIds.DROP_FILTER = 7(GuiIds.java:12)
专属槽位 1(ContainerDropFilter.java:19)
开关 Items.DropFilter(RTConfiguration.java:218)

功能

掉落物过滤器让玩家阻止拾取指定物品。meta 0 只是禁止拾取,meta 1 则连拾取动作一起虚空化。

2 个变体

meta 中文名 行为 贴图
0 掉落物过滤器(zh_CN.lang:48) 阻止拾取 RandomThings:dropFilter(:47)
1 虚空掉落物过滤器(:49) 拾取时直接销毁 RandomThings:dropFilterVoiding(:48)

addInformation 按 metadata 追加不同提示(ItemDropFilter.java:32-34):

键 中文
text.tooltip.item.dropFilter.generic 需要放入物品过滤器
text.tooltip.item.dropFilter 阻止拾取被过滤的物品
text.tooltip.item.dropFilterVoiding 拾取时虚空化被过滤的物品

lang 中两条均为未翻译英文(zh_CN.lang:190-192),而 GUI 标题 gui.item.dropFilter.name.title / gui.item.dropFilterVoiding.name.title 也是英文(:177-178)。

内嵌子过滤器

本物品不是直接存过滤列表,而是内嵌一个过滤器。addInformation 会取出内嵌的过滤器物品并递归显示其信息(ItemDropFilter.java:36-41):

IInventory inventoryFilter = new InventoryDropFilter(par2EntityPlayer, par1ItemStack);
inventoryFilter.openInventory();
if (inventoryFilter.getStackInSlot(0) != null) {
    ModItems.filter.addInformation(inventoryFilter.getStackInSlot(0), par2EntityPlayer, par3List, par4);
}

容器侧的槽位是 SlotFilter(ContainerDropFilter.java:19),与物品收集器 用的是同一个槽位类。

数值

数值名 值
变体数 2
堆叠上限 1
专属槽位 1(SlotFilter,坐标 80, 18)
内嵌过滤器 1 个过滤器 实例
GUI ID 7

交互

触发 行为
右键 打开 GUI ID 7
放入过滤器 指定要过滤的对象
走过掉落物 meta 0 阻止拾取;meta 1 直接销毁
悬停 显示内嵌过滤器的匹配信息

合成配方

meta 0(Library/Recipes.java:328-339):

lsl
sfs
lsl
字符 物品
l 皮革(Items.leather)
s 线(Items.string)
f 燧石(Items.flint)

meta 1(Recipes.java:340-347):

fe
字符 物品
f meta 0 掉落物过滤器
e 虚空之石 —— 若 Items.VoidStone 关闭则回退为末影珍珠

相关条目