添加物品
kubejs可以在startup_scripts文件夹内创建去创建物品,注意所有的添加自定义的操作都是无法热加载的,写完之后需要重启游戏后才会加载进游戏内
基础写法
kjs创建物品是非常简单的,只需要一行就可以解决
create
里的第一个参数为物品id,这里如果写成"xxx:xxx",冒号前面的是你的命名空间(类似于模组id),后面的才是你的物品id,如果你只是写成"xxx"并不加冒号也是可以的,kjs为默认为你创建在kubejs下,最后呈现形式就是"kubejs:xxx"
create
里的第二个参数为物品类型,在下面会给大家列举出来他的物品类型和描述
物品类型
basic
基础物品
无
-
basic
基础物品
-
music_disc
唱片
可以在唱片机里播放的
smithing_template
锻造模板
无
-
helmet
头盔
无
chestplate
胸甲
无
同上
leggings
护腿
无
同上
boots
鞋子
无
同上
axe
斧子
无
hoe
锄头
无
同上
pickaxe
镐子
无
同上
shovel
铲子
无
同上
sword
剑
无
同上
shears
剪刀
无
通用方法参数
下面提供的方法为所有物品类型都可以调用到的参数,针对于护甲、工具等物品会在对应的章节提供专有的方法
常用方法
maxDamage(int)
->
设置物品的最大耐久
this
food(Consumer<FoodBuilder>)
->
this
maxStackSize(int)
->
设置物品的最大堆叠,虽然能超过64但是不建议
this
fireResistant(bool)
->
设置物品是否防火
this
displayName(string)
->
设置在没有配置lang文件时直接显示的名称
this
tag(ResourceLocation)
->
设置物品的tag标签
this
texture(string)
->
设置物品材质路径
this
unstackable()
-
设置物品为不可堆叠
this
burnTime(int)
-
设置物品的可燃烧tick(默认为0则是不可燃烧)
this
modifyAttribute(ResourceLocation,string,double,AttributeModifier)
~
物品属性修饰符
this
createItemProperties()
-
创建为物品属性
Item
物品使用时调用的方法
use(ItemBuilder$UseCallback)
->
物品开始被玩家使用时
this
releaseUsing(ItemBuilder$ReleaseUsingCallback)
->
当玩家没有使用完物品但中途松开鼠标右键时(?)
this
finishUsing(ItemBuilder$FinishUsingCallback)
->
当玩家使用完物品时
this
useDuration(ToIntFunction<ItemStack>)
~
关于物品的使用时间?
this
useAnimation(UseAnim)
~
物品在使用时的动画
this
关于渲染的方法
modelJson(JsonObject)
->
设置模型的json(虽然但是不建议这么干)
this
parentModel(string)
~
设置模型的父模型?
this
textureJson(JsonObject)
->
设置物品的材质json ??
this
barWidth(ToIntFunction<ItemStack>)
~
关于耐久条?
this
barColor(Function<ItemStack>,Color)
~
关于耐久条颜色?
this
glow(bool)
->
设置物品是否有附魔光效
this
tooltip(Component)
->
物品提示内容
this
其他方法
hurtEnemy(Predicate<HurtEnemyContext>)
->
物品攻击实体生物时
this
rarity(Rarity)
设置物品稀有度
this
getRegistryType()
-
获取注册类型
RegistryInfo<T>
generateAssetJsons(AssetJsonGenerator)
?
?
-
generateDataJsons(DataJsonGenerator)
?
?
-
name(NameCallback)
~
动态设置物品名字?
this
color(int,ItemTintFunction)
?
?
this
color(ItemTintFunction)
?
?
this
transformObject(Item)
~
~
this
subtypes(Function<ItemStack,Collection<ItemStack>>)
~
?
this
containerItem(ResourceLocation)
~
设置物品为容器???
this
简单的注册物品轮子
注:以下内容根据个人习惯选择性使用和更改
Last updated