占位物品

基本信息

属性 值
注册名 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

相关条目