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取ordinalmakeStack(i)→new ItemStack(getItem, i, meta)name→getItem.getUnlocalizedName(makeStack)
相关条目
- Enum — 底层 enum 框架
- ItemKey / ItemQueue