掉落物过滤器
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | 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 关闭则回退为末影珍珠 |