本文使用:CC-BY-NC-SA 4.0协议
kjs本身提供的物品注册比较有限,在注册某些kjs未提供的item的时候我们就需要用到createCustom
如果有需要的item注册可以在本文下方留言,会考虑更新
createCustom注册model是没有的,也就是你还得去写一份model.json(这部分可以参考原版wiki)
下面是使用createCustom去注册一个弓的例子
let $BowItem = Java.loadClass("net.minecraft.world.item.BowItem")
let $Item$Properties = Java.loadClass("net.minecraft.world.item.Item$Properties")
StartupEvents.registry("item", event => {
event.createCustom("modid:item_name", () => {
let properties = new $Item$Properties()
//修改耐久 为0则无耐久属性
properties.durability(0)
//修改最大堆叠数量
properties.stacksTo(1)
//修改稀有度
properties.rarity("epic")
//创建新的bowitem
let item = new $BowItem(properties)
//返回新的bowitem进行注册
return item
})
})