ItemCore / ItemDefinition

基本信息

属性 值
路径 mrtjp.core.item.coreitem.scala
源码 src/main/scala/mrtjp/core/item/coreitem.scala

ItemCore

成员 说明
构造 (name) setUnlocalizedName(name) + GameRegistry.registerItem(this, name)(构造即注册)
getUnlocalizedName(stack) 有 subtypes 时返回 base + "|" + damage

TItemSound / TItemGlassSound

混入 Item,覆写 onItemUse 使放置方块时播放自定义音效: 音量 getSoundType.getVolume * 5.0f,音高 getSoundType.getPitch * 0.9f。 TItemGlassSound 是其玻璃音效特化(soundTypeGlass)。

ItemDefinition

以 enum 方式声明物品全部变体的基类(继承 Enum):

object MyItems extends ItemDefinition {
  type EnumVal = MyItem
  def getItem = MyMod.myItem
  val RUBY  = new ItemDef   // meta = 0
  val SAPPH = new ItemDef   // meta = 1
}
  • ItemDef.meta 取 ordinal
  • makeStack(i) → new ItemStack(getItem, i, meta)
  • name → getItem.getUnlocalizedName(makeStack)

相关条目