占位物品
基本信息
| 属性 |
值 |
| 注册名 |
vendingmachine:placeholder(GameRegistry.registerItem(ItemPlaceholder.placeholder, "placeholder"),无显式 ResourceLocation) |
| 显示名 |
vendingmachine.placeholder |
| 类 |
ItemPlaceholder extends Item |
| 最大堆叠 |
64(Item 默认,未覆写 getItemStackLimit) |
| 耐久 |
无(未覆写 setMaxDamage) |
| 附魔适用 |
是(未覆写 getItemEnchantability) |
| 获得方式 |
无合成配方,无法正常获得 |
功能
这是一个内部占位物品,不是给玩家用的道具。当交易数据库引用的物品在本环境中不存在时
(例如整合包删掉了某个 mod),ItemPlaceholder.getBigItemStackFrom(...) 会生成一个占位 BigItemStack,
把原始信息存进 NBT:
| NBT 键 |
类型 |
含义 |
orig_id |
String |
原始物品注册名 |
orig_meta |
int |
原始 metadata |
orig_tag |
Compound |
原始 NBT(可缺省) |
读取时若 orig_id 能解析回真实物品,就还原成真物品;解析失败则保持占位状态并显示原始 ID。
使用方式
| 使用方式 |
触发条件 |
使用效果 |
| 容器使用 |
占位物在玩家背包中,每 100 tick 检查一次(world.getTotalWorldTime() % 100 == 0) |
onUpdate 自动把占位替换回原物品(先按 orig_id 查注册表,失败再按 Item.getIdById 查数字 ID) |
交互
| 触发 |
行为 |
| 鼠标悬停 |
addInformation 追加 Original ID: <orig_id>/<orig_meta>;若完全没有 NBT 则显示 ERROR: Original information missing! |
数值
| 数值 |
值 |
| 还原检查间隔 |
100 tick(5 秒) |
| 默认最大堆叠 |
64 |
相关条目