物品
注册物品
// ModItems.tk
object ModItems {
val ITEMS: DeferredRegister.Items = DeferredRegister.createItems(ExampleMod.MODID)
// 最基础的方法,不推荐使用
val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.register("name") { -> Item(Item.Properties())}
// 注册简单物品
// val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.registerSimpleItem("name")
// val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.registerSimpleItem("name",Item.Properties())
// 注册自定义物品
// val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.registerItem("name") {properties -> Item(properties)}
// val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.registerItem("name",{properties -> Item(properties)},Item.Properties())
// 简化写法
// val EXAMPLE_ITEM: DeferredItem<Item> = ITEMS.registerItem("name",::Item)
fun register(modEventBus: IEventBus) {
ITEMS.register(modEventBus)
}
}
// ExampleMod.tk
@Mod(ExampleMod.MODID)
class ExampleMod(modEventBus: IEventBus, modContainer: ModContainer){
init {
ModItems.register(modEventBus)
}
companion object {
const val MODID: String = "example_mod"
}
}自定义物品类
所有的物品类都继承于Item
class ExampleItem(properties:Properties): Item(properties){
// 对方法进行复写
}
object ModItems {
// 注册自定义物品类的物品,也可以使用简化方法
val EXAMPLE_ITEM: DeferredItem<ExampleItem> = ITEMS.registerItem("name") {properties -> ExampleItem(properties)}
// val EXAMPLE_ITEM: DeferredItem<ExampleItem> = ITEMS.registerItem("name",::ExampleItem)
}