ItemComponent

基本信息

api.diagram.component.ItemComponent —— AutoValue 不可变组件,实现 Component, 代表图中的一个物品槽位内容。

关键常量

常量 值
COMPARATOR 内容比较器(第 25 行)
DEFAULT_STACK_SIZE 1

静态方法

方法 行 说明
getItemDamage(ItemStack) 39 兼容层:1.7.10 的 ItemStack.getItemDamage()
create(Item, int damage, Optional<NBTTagCompound>) 43 基础工厂
create(Item, int damage) 51 无 NBT
create(ItemStack) 56 丢弃 NBT
createWithNbt(ItemStack) 60 保留 NBT
createWithNbt(ItemStack, NBTTagCompound) 64 覆盖 NBT
create(Block, int damage) 68 返回 Optional

create 与 createWithNbt 的区别与 FluidComponent 相同: 前者丢 NBT,后者留 NBT。带自定义 NBT 的工具(GT MetaGeneratedTool) 必须用 createWithNbt,例如 GregTech Material Tools 的图标就是这样构造的。

图标取用惯例

各生成器的 ICON 常量展示了三种典型写法:

  • 原版物品:ItemComponent.create(Items.compass, 0)
  • 方块:ItemComponent.create(Item.getItemFromBlock(Blocks.chest), 0)
  • GT 物品:GregTechOreDictUtil.getComponent(ItemList.Circuit_Good) / OrePrefixes + Materials

相关条目

源码

  • src/main/java/com/github/dcysteine/neicustomdiagram/api/diagram/component/ItemComponent.java