- Source of resources
- Original
- Copyright link
- #
- Language
- Multi-language
- Supported version
- All the versions
使用教程:安装LiteXLoader并且把插件放进plugins文件夹里即可
命令:
/menu - 打开主菜单
/menu open [菜单文件名] - 打开对应菜单
/menu reload - 重载菜单配置文件/语言文件(仅控制台可使用)
1.3.0 新内容 —— 菜单编辑器:
PS:1. 更新后的服主在使用编辑器时需在模式菜单内添加 "name": "(菜单名称)",否则可能会出 bug
2. 此菜单编辑器目前仍在测试阶段,如有不放心请先将菜单数据备份好,以免丢失!
3. 命令编辑暂不支持 "code" 与 "script" 类型,如有需要请手动添加
Q:版本更新后需要重新调整配置文件吗?
A:不需要,从 1.2.8 升级到之后的任何版本都不需要更改配置文件。
Q:可以进行转载吗?
A:可以,但必须先经过本人同意。
Q:可以进行整合吗?
A:可以进行免费整合,如需进行付费整合,请先联系本人,待本人同意后方可。
Q:有 bug 或者想提意见怎么办?
A:可以进入 QQ群 进行反馈,有问题也可以去 QQ群 里去问。作者有时候可能不在线,可以先问问群里的小伙伴。
Q:如何构造空按钮?
A:"cmd"部分只填 [] 即可。
Q:怎么写菜单的配置文件?
A:请按照本贴中 JSON示例 中的内容进行编写,或者下载 教程.zip 文件,阅读其中的内容(建议先耐心看完本帖)。
Q:如何重载菜单文件?
A:除了 configs.json 配置文件外,其余的菜单文件都支持热加载。
PS:重载 configs.json 文件的方法:在后台输入 menu reload 即可。
Q:为什么点击按钮后无法传送,并且后台会出现unload的报错?
A:这应该是tp命令以cmd方式执行后出现的情况。
PS:解决方法:将cmd改为teleport。
Q:手动更新好麻烦啊,能自动更新吗?
A:可以,在游戏中逐一打开各个菜单即可自动更新。
Q:JSON要怎么写?
A:建议查看教程:
感谢 PeterXiong720 的 Fantasy Menu 中提出的一种新的命令执行方式。
大家可以用 MenuEditor(菜单编辑器)来编辑菜单哦!
PS:code/script 类型可以执行 js 代码,会 js 的服主可自行调整各插件的 GUI(前提是作者有开放接口),或者给玩家带有 Lore 的 NBT 标签的物品等等。
PS:更新后(升级到 1.2.8 版本)请在 configs.json 中加几行:
"open": "minecraft:clock", // 更新后改为了物品英文id
"lang": "zh_CN",
"currency": "LLMoney",
"scoreboard": "money"
PS:配置/菜单文件修改后无需重启服务器,在服务器后台输入menu reload即可重载文件(黑科技一直都忘说了)
菜单文件路径:plugins/Menu/menu/
Js文件路径:plugins/Menu/script/
语言文件路径:plugins/Menu/lang/
Js 教程:
https://www.runoob.com/js/js-tutorial.html
菜单展示:
form 类型
modal 类型
JSON示例:
configs.json文件
请勿修改":"前的部分,作者一概不为此问题负责!
"name"为菜单的文件名称(以json为后缀名)
"command"内为打开菜单的命令
"description"内为注册的命令的描述
若还需添加菜单的话请复制"menu"内的内容,并粘贴至大括号下
记得在前面的大括号后加上一个","
注:若修改configs.json文件,请重启服务器!
default.json文件
请勿修改":"前的部分,作者一概不为此问题负责!
"money" —— 增加的货币数额(正数表示加钱,负数表示扣钱)
"name" —— 菜单的名称
"type" —— 命令执行的类型:
"default"为默认的命令执行方式
"temporary"即可执行OP可执行的命令
"op"即可使该命令需OP可才执行
"cmd"即可以后台的方式执行该命令(可以使用目标选择器@s/@p/@name)
"teleport"即执行传送玩家的命令
"code"即可以执行js代码(Player指针为p)
"script"即可以执行js文件(main函数:function main(p))
"menu"即可以以菜单的方式打开该菜单的文件名
"AMenu"即可以以菜单的方式打开该菜单的文件名(需管理员权限)
注:除非插件作者声明某个命令为 OP命令 或是 后台命令,否则类型一律为 "default"!!!
公告示例文件:announcement.json
请勿修改":"前的部分,作者一概不为此问题负责!
脚本示例文件:Ex.js
请勿修改":"前的部分,作者一概不为此问题负责!
注:标 # 的代码,表示为固定格式(exports.main = (此处填你要导出的函数))
最后感谢 Nian7LAA 、TWAKP、xiaodu121 、harry 的协助测试!
最后若有问题或建议的,请加入QQ群提出,谢谢!
命令:
/menu - 打开主菜单
/menu open [菜单文件名] - 打开对应菜单
/menu reload - 重载菜单配置文件/语言文件(仅控制台可使用)
1.3.0 新内容 —— 菜单编辑器:
命令 | 用途 | 完成状态 |
/menueditor form | 编辑普通菜单 | ✓ |
/menueditor modal | 编辑模式菜单 | ✕ |
PS:1. 更新后的服主在使用编辑器时需在模式菜单内添加 "name": "(菜单名称)",否则可能会出 bug
2. 此菜单编辑器目前仍在测试阶段,如有不放心请先将菜单数据备份好,以免丢失!
3. 命令编辑暂不支持 "code" 与 "script" 类型,如有需要请手动添加
Q:版本更新后需要重新调整配置文件吗?
A:不需要,从 1.2.8 升级到之后的任何版本都不需要更改配置文件。
Q:可以进行转载吗?
A:可以,但必须先经过本人同意。
Q:可以进行整合吗?
A:可以进行免费整合,如需进行付费整合,请先联系本人,待本人同意后方可。
Q:有 bug 或者想提意见怎么办?
A:可以进入 QQ群 进行反馈,有问题也可以去 QQ群 里去问。作者有时候可能不在线,可以先问问群里的小伙伴。
Q:如何构造空按钮?
A:"cmd"部分只填 [] 即可。
Q:怎么写菜单的配置文件?
A:请按照本贴中 JSON示例 中的内容进行编写,或者下载 教程.zip 文件,阅读其中的内容(建议先耐心看完本帖)。
Q:如何重载菜单文件?
A:除了 configs.json 配置文件外,其余的菜单文件都支持热加载。
PS:重载 configs.json 文件的方法:在后台输入 menu reload 即可。
Q:为什么点击按钮后无法传送,并且后台会出现unload的报错?
A:这应该是tp命令以cmd方式执行后出现的情况。
PS:解决方法:将cmd改为teleport。
Q:手动更新好麻烦啊,能自动更新吗?
A:可以,在游戏中逐一打开各个菜单即可自动更新。
Q:JSON要怎么写?
A:建议查看教程:
JSON 教程 | 菜鸟教程
JSON 教程 JSON: JavaScript Object Notation(JavaScript 对象表示法) JSON 是存储和交换文本信息的语法,类似 XML。 JSON 比 XML 更小、更快,更易解析。 JSON 实例 [mycode3 type='javascript'] { 'sites': [ { 'name':'..
www.runoob.com
感谢 PeterXiong720 的 Fantasy Menu 中提出的一种新的命令执行方式。
大家可以用 MenuEditor(菜单编辑器)来编辑菜单哦!
PS:code/script 类型可以执行 js 代码,会 js 的服主可自行调整各插件的 GUI(前提是作者有开放接口),或者给玩家带有 Lore 的 NBT 标签的物品等等。
PS:更新后(升级到 1.2.8 版本)请在 configs.json 中加几行:
"open": "minecraft:clock", // 更新后改为了物品英文id
"lang": "zh_CN",
"currency": "LLMoney",
"scoreboard": "money"
PS:配置/菜单文件修改后无需重启服务器,在服务器后台输入menu reload即可重载文件(黑科技一直都忘说了)
菜单文件路径:plugins/Menu/menu/
Js文件路径:plugins/Menu/script/
语言文件路径:plugins/Menu/lang/
Js 教程:
https://www.runoob.com/js/js-tutorial.html
菜单展示:
form 类型
modal 类型
JSON示例:
configs.json文件
请勿修改":"前的部分,作者一概不为此问题负责!
"name"为菜单的文件名称(以json为后缀名)
"command"内为打开菜单的命令
"description"内为注册的命令的描述
若还需添加菜单的话请复制"menu"内的内容,并粘贴至大括号下
记得在前面的大括号后加上一个","
注:若修改configs.json文件,请重启服务器!
JSON:
{
"version": [ 1, 2, 12 ], // 版本号
"lang": "zh_CN", // 语言类型
"currency": "LLMoney", // 货币类型(Scoreboard为计分板)
"scoreboard": "money", // 计分板名称(LLMoney无需)
"open": "minecraft:clock", // 主菜单的点地打开方式(默认为钟)
"menu": [ // 这里写需要注册命令的菜单
{
"name": "test", // 注册的菜单的文件名
"title": "测试菜单", // 无用貌似,方便后期修改
"command": "test", // 注册的命令
"description": "子菜单?", // 命令的描述
"admin": false // 是否只有OP才可以打开菜单
}
]
}
default.json文件
请勿修改":"前的部分,作者一概不为此问题负责!
"money" —— 增加的货币数额(正数表示加钱,负数表示扣钱)
"name" —— 菜单的名称
"type" —— 命令执行的类型:
"default"为默认的命令执行方式
"temporary"即可执行OP可执行的命令
"op"即可使该命令需OP可才执行
"cmd"即可以后台的方式执行该命令(可以使用目标选择器@s/@p/@name)
"teleport"即执行传送玩家的命令
"code"即可以执行js代码(Player指针为p)
"script"即可以执行js文件(main函数:function main(p))
"menu"即可以以菜单的方式打开该菜单的文件名
"AMenu"即可以以菜单的方式打开该菜单的文件名(需管理员权限)
注:除非插件作者声明某个命令为 OP命令 或是 后台命令,否则类型一律为 "default"!!!
JSON:
{
"type": "form", // 菜单类型
"name": "默认菜单", // 菜单名称
"title": "主菜单", // 菜单标题
"content": "按钮如下:", // 菜单内容
"buttons": [ // 按钮内容
{
"imageX": false, // 是否开启图片功能
"moneyX": false, // 是否开启经济功能
"text": "你好", // 按钮显示的文字
"display": [ // 该按钮是的显示条件(可设置多个条件,若为 [] 则表示无条件)
{
"condition": 1, // 0 为仅普通玩家(不包含OP),1 为仅 OP
"type": "permission" // 显示条件的类型(玩家权限)
},
{
"condition": "aaa", // 对应的玩家标签
"type": "tag" // 显示条件的类型(玩家标签)
}
],
"cmd": [ // 点击后执行的内容
{
"command": "me HelloWorld!", // 点击后执行的命令
"type": "default" // 命令执行的类型(以玩家身份执行)
}
]
},
// 接下来的按钮同理
{
"imageX": false,
"moneyX": false,
"text": "生存",
"display": [],
"cmd": [
{
"command": "gamemode 0",
"type": "temporary" // 命令执行的类型(以OP身份执行)
}
]
},
{
"imageX": false,
"moneyX": false,
"money": 0,
"text": "传送",
"display": [],
"cmd": [
{
"command": [ 0, 0, 0, "%default%"],
"type": "teleport"
}
]
},
{
"imageX": false,
"moneyX": false,
"image": "https://img0.baidu.com/it/u=2124288744,3826440430&fm=26&fmt=auto&gp=0.jpg", // 直接引用网页图片(链接要完整,前面要加https或http)
"text": "给所有人说悄悄话",
"display": [],
"cmd": [
{
"command": "tell @a qwq",
"type": "operator" // 命令执行的类型(只有OP才可以执行,其他同"default")
},
{
"command": "tellraw @s {\"rawtext\":[{\"text\":\"只有OP才可以执行哟!\"}]}",
"type": "cmd" // 命令执行的类型(以后台身份执行)
}
]
},
{
"imageX": true,
"moneyX": false,
"image": "textures/items/apple", // 图片路径(1.2.5 v1及以上自动识别路径类型)(MC图片的路径)
"money": 0, // 增加的货币数额(加了多少钱,正数表示加钱,负数表示扣钱)
"text": "苹果",
"display": [],
"cmd": [
{
"command": "give @s apple 1",
"type": "cmd" // 命令执行的类型(以后台身份执行)
},
{
"command": "tellraw @s {\"rawtext\":[{\"text\":\"你还是太嫩了!\"}]}",
"type": "cmd"
}
]
},
{
"imageX": false,
"moneyX": false,
"text": "钟",
"display": [],
"cmd": [
{
"command": "let item = mc.newItem('minecraft:clock', 1); p.giveItem(item);", // js代码(记得用字符串围起来)
"type": "code" // 命令执行的类型(以js代码方式执行)
},
{
"command": "p.tell('这钟很特别哦!')", // js代码(记得用字符串围起来)
"type": "code" // 命令执行的类型(以js代码方式执行)
}
]
},
{
"imageX": false,
"moneyX": false,
"text": "说句话",
"display": [],
"cmd": [
{
"command": "Ex", // js文件名代码(记得用字符串围起来)
"type": "script" // 命令执行的类型(以js文件方式执行)
}
]
},
{
"imageX": false,
"moneyX": false,
"text": "打开测试菜单",
"display": [],
"cmd": [
{
"command": "test", // 菜单名
"type": "AMenu" // 命令执行的类型(以管理员菜单方式执行)
}
]
},
{
"imageX": false,
"moneyX": false,
"text": "打开公告",
"display": [],
"cmd": [
{
"command": "announcement", // 菜单名
"type": "menu" // 命令执行的类型(以菜单方式执行)
}
]
}
]
}
}
公告示例文件:announcement.json
请勿修改":"前的部分,作者一概不为此问题负责!
JSON:
{
"title": "公告", // 菜单标题
"name": "公告1", // 菜单名称
"type": "modal", // 菜单类型
"content": "本鸽子更新了! ", // 菜单文字内容
"button1": { // 按钮1内容
"text": "确定", // 按钮显示的文字
"cmd": [] // 执行的命令(这里为不执行命令的示例)
},
"button2": { // 按钮2内容
"text": "取消", // 按钮显示的文字
"cmd": [ // 执行的内容
{
"command": "tellraw @s {\"rawtext\":{\"text\":\"怎么可能!\"}}", // 执行的命令
"type": "cmd" // 命令执行的类型(以后台身份执行)
}
]
}
}
脚本示例文件:Ex.js
请勿修改":"前的部分,作者一概不为此问题负责!
注:标 # 的代码,表示为固定格式(exports.main = (此处填你要导出的函数))
JavaScript:
# exports.__esModule = true; // 注册接口
# exports.main = void 0; // 注册 main 函数接口
function main(p) // 要导出的 main 函数
{
p.tell("你好啊"); // p:Player指针
/*
p.tell(msg[,type])
p.sendText(msg[,type])
参数:
msg : String
待发送的文本
type : Integer
(可选参数)发送的文本消息类型,默认为 0
type 参数 消息类型
0 普通消息(Raw)
1 聊天消息(Chat)
4 音乐盒消息(Popup)
5 物品栏上方的消息(Tip)
9 Json 格式消息(Json) // tellraw
返回值:是否成功发送
返回值类型:Boolean
*/
}
# exports.main = main; // 给 main 接口赋予一个函数
最后感谢 Nian7LAA 、TWAKP、xiaodu121 、harry 的协助测试!
最后若有问题或建议的,请加入QQ群提出,谢谢!