本项目旨在通过简单的函数调用创建多样的法阵效果
API函数
sklibs:skmagic/new
创建法阵
执行者将作为新法阵的持有者,如果该执行者已经持有法阵,则新的法阵会替换原来的法阵\
sklibs:skmagic/modify
修改法阵的属性
将修改执行者所持有的法阵的属性,如果执行者没有持有法阵,则该函数不起作用\
sklibs:skmagic/modify2
批量修改法阵的属性
将批量修改执行者所持有的法阵的属性,如果执行者没有持有法阵,则该函数不起作用\
sklibs:skmagic/insert
向法阵添加新的层\ 向执行者所持有的法阵添加新的层,如果执行者没有持有法阵,则该函数不起作用\ 参数格式与sklibs:skmagic/new相同\
sklibs:skmagic/remove
移除函数执行者所持有的法阵
没有参数
sklibs:skmagic/danmaku
发射弹幕\ 向执行者面向的方向发射指定数量的弹幕\
颜色转换器
快速体验
快速体验**演示视频**中的法阵
聊天框里执行该函数打开菜单
/function sklibs:skmagic/demo/menu
制作自己的法阵
一张图看懂下面整个流程
下载**资源包**,并将它解压到.minecraft/resourcepacks
文件夹下,这个资源包里存放了一些已经制作好的材质和模型,现在我们将在它的基础上制作新的材质与模型
绘制材质,可以使用PhotoShop绘制,需要注意以下几点
- 图像应为正方形
- 绘制的图案应为白色,这是为了方便后续着色
- 图案以外的地方保持透明
将绘制好的材质分层导出,因为法阵是需要旋转的,我们希望每一层有不同的旋转速度。需要多少层并无限制,这里演示只分了两层
- 图像导出到
(资源包)/assets/minecraft/textures/item
文件夹下 - 文件名任意
然后需要制作模型
来到(资源包)/assets/minecraft/models/skmagic
文件夹下,找到demo.json
复制一份,文件名任意,打开新复制的json文件,填入刚才做好的材质文件的文件名,注意这里的文件名没有.png后缀,如图所示
如果你的材质文件分了很多层,则每一层都需要单独创建模型文件,刚才的材质有两层,则需要两个模型文件,如图所示
接下来需要添加**物品模型映射**
打开(资源包)/assets/minecraft/items/acacia_button.json
添加如下内容,如图所示,红色方框指定的是模型文件的文件名,不需要.json后缀,绿色方框是模型的“调用名称”,你可以通过这个名字来调用对应的模型文件
{"when": "d2.2.1","model": {"type": "model","model": "minecraft:skmagic/d2.2.1","tints": [{"type": "dye","default": [0,0,0]}]}},
{"when": "d2.2.2","model": {"type": "model","model": "minecraft:skmagic/d2.2.2","tints": [{"type": "dye","default": [0,0,0]}]}}
最后只需要调用sklibs:skmagic/new
函数就可以看到效果了
function sklibs:skmagic/new {config:{elements:[
{model:"d2.2.1",id:"1",size:6f,distance:8f,color:[1, 1, 0.5],rotate_step:[15,0.5]},
{model:"d2.2.2",id:"1",size:6f,distance:8f,color:[1, 1, 1],rotate_step:[15,-0.5]},
]}}