物品添加

1.基础部分

首先在scripts文件夹中创建一个 xxx.zs 文件, 使用文本编辑器打开(推荐使用vs code 打开)。

键入以下内容

#loader avaritiaitem

import mods.avaritiaitem.AvaritiaItemBuilder;
import mods.avaritiaitem.ItemPrimer;

AvaritiaItemBuilder.registerItem("data_card", 64, "data_card").create();

registerItem("data_card", 64, "data_card")中三个参数分别为

  • 物品注册名(必须全小写, 且用下划线分隔单词);

  • 物品最大单组数量;

  • 物品模型type名(必须全局唯一,推荐和物品注册名相同)。

接下来启动游戏,你会看到这样一个物品。

    无尽特效物品-创建自定义的物品-第1张图片

我们需要给物品添加贴图材质以及名字。

打开游戏文件夹 ./minecraft/resources/avaritiaitem,你会看到这三个文件夹

无尽特效物品-创建自定义的物品-第2张图片

  • 第一个存放的是物品的模型文件,一般不需要手动填写;

  • 第二个存放的是语言文件,你需要进入创建一个zh_cn.lang文件;

  • 第三个存放的是物品的贴图文件,所有贴图文件都必须放入此文件夹下的items文件夹内。

我们为刚才创建的物品添加一个名字,已经设置一张贴图,这里以ae2的身份卡为例。

名字的创建方式为,在第二个文件夹内创建的zh_cn.lang中输入以下内容。

item.avaritiaitem.data_card.name=这是一个教程物品

item.avaritiaitem是固定的,name也是固定的,中间的data_card就是你在第一步中设置的注册名。

随后将名为data_card.png的图片文件放入第三个文件夹中的items内。

无尽特效物品-创建自定义的物品-第3张图片

接下来再启动游戏,可以看到物品材质和名字都赋值成功。

无尽特效物品-创建自定义的物品-第4张图片

2.特效添加

回到我们的zs脚本上,开始为物品添加特效。

AvaritiaItemBuilder.registerItem("data_card", 64, "data_card")
    // 通过以下方式添加的特效可自由搭配, 自己决定哪个特效需要, 哪个不需要
    .shouldDrawHalo(true) // 是否显示光环
    .haloSize(8) // 显示光环是必填 光环大小(1-16)
    .haloColour("808080") // 显示光环时选填 光环颜色 为十六进制颜色 , 如果设置了光环图片 请不要调用此方法
    .haloOpacity(100) // 光环透明度 (0-100)
    .haloTextures("halo_image") // 显示光环时选填 光环自定义图片, 只需输入名称不需要后缀, 透明度需要自己使用图片编辑器修改, 如果不设置此项将显示原版无尽的光环 同样需要放到 ./minecraft/resources/avaritiaitem/textures/items 文件夹内
    .shouldDrawCosmic(true) // 是否渲染宇宙背景
    .mask("data_card_mask") // 上方为true时必填 渲染宇宙背景区域的图片,放置位置同上方光环图片, 必须完全覆盖原图且不需要显示的区域使用全黑像素覆盖(#000000), 需要显示区域使用灰色覆盖(即图片编辑器的颜色选择器中rgb色盘的最左边一列的颜色)
    .maskOpacity(1.0f) // 宇宙背景透明度 推荐值 1.0f
    .shouldDrawPulse(true) // 是否显示脉冲特效(即无尽催化剂的抖动效果)
    .colorfulName(true) // 是否为物品名称添加炫彩动态效果
    .addTooltip("§a这是第一条tooltip") // 添加物品 tooltip
    .addTooltip("这是第二条tooltip", true) // 添加物品 tooltip 同时设置为炫彩效果
    .create();
  • 其中 haloTextures属性和mask属性的图片,均可按照原物品材质的方法只作为动态的。

  • haloTextures拥有3个预设值,不调用此方法为默认无尽光环, 传入halo_noise 为噪音光环, halo128为高清光环。

  • 因代码渲染的 halo 透明度为整体光环的透明度,建议在图片上手动设置透明度。

  • mask的透明度为整体星空材质的透明度,最低0.1f,透明度低于1.0f将会在 星空背景 下看到原物品的材质。

此时items文件夹内为。

无尽特效物品-创建自定义的物品-第5张图片

无尽特效物品-创建自定义的物品-第6张图片无尽特效物品-创建自定义的物品-第7张图片


完结撒花。