跳转到内容

自定义轮盘

从 2.3.0 版本开始,轮盘支持子轮盘,并且还能自定义配置按钮。

自定义配置按钮(模型作者:星屑海螺)

自定义配置按钮(模型作者:星屑海螺)

那么该如何编写相关内容呢?

首先,还是要打开您的 ysm.json 文件,找到之前的 extra_animation 字段。这里为您提供一个示例,您可以自行研究。

之后会开发 BlockBench 插件来完成这项工作,提前熟悉一下也无妨。

{
// 找到您原来的 extra_animation 字段,然后依次往后补充即可
"extra_animation": {
// 旧版写法仍然支持,无需理会
"extra1": "轮盘动画1",
// 注意这里后面的值带有一个 # 号,这是有特殊意义的
// 它会在 extra_animation_buttons 里查找 id 相同的项
// 从而添加一些配置项按钮
"extra2": "#按钮1",
// 注意这个前面带有一个 # 号,这同样有特殊意义
// 它会在 extra_animation_classify 里查找动画
// 从而打开一个子菜单界面
"#分类1": "测试分类",
// 特殊分类的轮盘,#return 这个名称是固定的,此轮盘和返回按钮的功能相同
// 2.3.1 版本新增
"#return": "返回按钮"
},
// 这个原本没有的字段,现在用于添加子菜单界面
"extra_animation_classify": [
{
// 这个 ID 就是前面 # 后面所写的内容
"id": "分类1",
// 这个和前面 extra_animation 字段的写法一致
"extra_animation": {
"extra0": "动画1",
"extra1": "动画2",
"extra2": "动画3",
"extra3": "动画4"
}
}
],
// 这个功能很丰富,是用于给轮盘添加配置按钮的
"extra_animation_buttons": [
{
// 这个 ID 就是前面 # 后面所写的内容
"id": "按钮1",
// 显示名称,可随意填写
"name": "随便写的名字",
// 具体的配置组件
"config_forms": [
{
// 这是滑条
"type": "range",
"title": "大小",
"description": "用于切换玩家的大小",
// 滑条会改变的 molang 变量,注意必须填写变量!
"value": "v.player_size",
// 这个就不详细解释了
"step": 0.1,
"min": 0.2,
"max": 5
},
{
// 开关按钮
"type": "checkbox",
"title": "开关猫耳噢噢噢噢",
"description": "用于切换芙芙猫耳",
// 会改变的 molang 变量,注意必须填写变量!
"value": "v.neko"
},
{
"type": "radio",
"title": "请选择正确答案",
"description": "试试效果",
// 打开配置界面时,会读取这里的 v.type 的数值,再根据 v.type 的值决定单选框勾选的位置;
// 如果 v.type 的值是 0,那么会勾选第一个;如果值是 1,那么会勾选第二个;以此类推;
// 注意此处只能填写变量名,不能填写表达式!
"value": "v.type",
// 选项,可以无限添加
"labels": {
// 前面是显示名称,后面是执行语句(这里不是赋值语句了啊啊啊啊)
// 点击后就会执行对应的语句,进行计算!
"A": "v.type=0;",
"B": "v.type=1;",
"C": "v.type=2;",
"D": "v.type=3;",
"E": "v.type=4;",
"F": "v.type=5;",
"名字我可以随便写啊": "v.type=6;"
}
}
]
}
]
}