Menu - 十分实用的菜单插件,玩家福音!

LXL Menu - 十分实用的菜单插件,玩家福音! 1.2.8

请登录后获取
资源类型
原创
版权链接
#
依赖
LiteXLoader
语言
中文(简体)
支持版本
  1. 全版本
使用教程:安装LiteXLoader并且把插件放进plugins文件夹里即可

Q:可以进行转载吗?
A:可以,但必须先经过本人同意。

Q:可以进行整合吗?
A:可以进行免费整合,如需进行付费整合,请先联系本人,待本人同意后方可。

Q:有bug怎么办?
A:进入QQ群进行反馈,有问题也可以去QQ群里问。作者有时候可能不在线,可以先问问群里的小伙伴。


Q:如何构造空按钮?
A:"cmd"部分只填 [] 即可。

Q:怎么写菜单的配置文件?
A:请按照本贴中 JSON示例 中的内容进行编写,或者下载 教程.zip 文件,阅读其中的内容(建议先耐心看完本帖)。

Q:JSON要怎么写?
A:建议查看教程:


感谢 PeterXiong720 的 Fantasy Menu 中提出的一种新的命令执行方式。
大家可以用
MenuEditor(菜单编辑器)来编辑菜单哦!
PS:code/script 类型可以执行 js 代码,会 js 的服主可自行调整各插件的 GUI(前提是作者有开放接口),或者给玩家带有 Lore 的 NBT 标签的物品等等。


PS:更新后请在 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 类型
QQ图片20200810114113.jpg

modal 类型
QQ图片20200821155706.jpg


JSON示例:

configs.json文件
请勿修改":"前的部分,作者一概不为此问题负责!
"name"为菜单的文件名称(以json为后缀名)
"command"内为打开菜单的命令,无需"/"
"description"内为注册的命令的描述
若还需添加菜单的话请复制"menu"内的内容,并粘贴至大括号下
记得在前面的大括号后加上一个","

注:若修改configs.json文件,请重启服务器!

JSON:
{
    "version": "1.2.4",    // 版本号
    "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" —— 增加的货币数额(正数表示加钱,负数表示扣钱)

"type" —— 命令执行的类型:
"default"为默认的命令执行方式
"temporary"即可执行OP可执行的命令
"op"即可使该命令需OP可才执行
"cmd"即可以后台的方式执行该命令
"code"即可以执行js代码(Player指针为p)
"script"即可以执行js文件(main函数:function main(p))
"menu"即可以以菜单的方式打开该菜单的文件名

"AMenu"即可以以菜单的方式打开该菜单的文件名(需管理员权限)

注:"command"内的指令不需+"/",且可以执行任何指令

注:除非插件作者声明某个命令为 OP命令 或是 后台命令,否则类型一律为 "default"!!!

"temporary"有一个问题,就是执行完该命令后若该玩家突然去世,则会成为永久OP,因此我在
"cmd"中补足了一下,也就是说 @s @p 均可在"cmd"中使用,若使用原版命令,最好不要使用"temprary",个人推荐使用"cmd"模式

JSON:
{
        "type": "form",    // 菜单类型
        "title": "主菜单",    // 菜单标题
        "content": "按钮如下:",   // 菜单内容
        "buttons": [   // 按钮内容
            {
                "imageX": false,    // 是否开启图片功能
                "moneyX": false,    // 是否开启经济功能
                "text": "你好",    // 按钮显示的文字
                "cmd": [    // 点击后执行的内容
                    {
                        "command": "me HelloWorld!",    // 点击后执行的命令
                        "type": "default"    // 命令执行的类型(以玩家身份执行)
                    }
                ]
            },
            // 接下来的按钮同理
            {
                "imageX": false,
                "moneyX": false,
                "text": "生存",
                "cmd": [
                    {
                        "command": "gamemode 0",
                        "type": "temporary"    // 命令执行的类型(以OP身份执行)
                    }
                ]
            },
            {
                "imageX": false,
                "moneyX": false,
                "image": "https://img0.baidu.com/it/u=2124288744,3826440430&fm=26&fmt=auto&gp=0.jpg",  // 直接引用网页图片(链接要完整,前面要加https或http)
                "text": "给所有人说悄悄话",
                "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": "苹果",
                "cmd": [
                    {
                        "command": "give @s apple 1",
                        "type": "cmd"    // 命令执行的类型(以后台身份执行)
                    },
                    {
                        "command": "tellraw @s {\"rawtext\":[{\"text\":\"你还是太嫩了!\"}]}",
                        "type": "cmd"
                    }
                ]
            },
            {
                "imageX": false,
                "moneyX": false,
                "text": "钟",
                "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": "说句话",
                "cmd": [
                    {
                        "command": "Ex",    // js文件名代码(记得用字符串围起来)
                        "type": "script"    // 命令执行的类型(以js文件方式执行)
                    }
                ]
            },
            {
                "imageX": false,
                "moneyX": false,
                "text": "打开测试菜单",
                "cmd": [
                    {
                        "command": "test",    // 菜单名
                        "type": "AMenu"    // 命令执行的类型(以管理员菜单方式执行)
                    }
                ]
            },
            {
                "imageX": false,
                "moneyX": false,
                "text": "打开公告",
                "cmd": [
                    {
                        "command": "announcement",    // 菜单名
                        "type": "menu"    // 命令执行的类型(以菜单方式执行)
                    }
                ]
            }
        ]
    }
}

公告示例文件:announcement.json
请勿修改":"前的部分,作者一概不为此问题负责!
注:"command"内的指令不需+"/",且可以执行任何指令


JSON:
{
    "title": "公告",   // 菜单标题
    "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 的协助测试!
最后若有问题或建议的,请加入QQ群提出,谢谢!
作者
北斗七星TJ
价格
80金粒
下载
391
查看
8,829
首次发布
最后更新
评分
4.26 星 19 个评分

来自北斗七星TJ的更多资源

最新更新

  1. 传个文件

    RT
  2. Bug fix

    [~] 修复了菜单用着用着无法打开的bug [~] 修复了有时菜单无法使用的bug 注:源码以开放,有兴趣的人可以前来查看,但禁止抄袭!...
  3. Update

    1. 新增了对经济的支持(LLMoney或Scoreboard) 2. 新增了script功能...

最新评论

File ".\plugins\py\Menu.py", line 3, in <module>
MenuAPI.init()
File "Menu.py", line 116, in init
File "Menu.py", line 131, in LoadJson
UnicodeDecodeError: 'gbk' codec can't decode byte 0x95 in position 49: illegal multibyte sequence
北斗七星TJ
北斗七星TJ
I'm sorry that I have kept you for a long time due to my studies.
Now the problem has been fixed.
那个....我遇到了一个问题,配置config.json时候老报错(config.json直接加载示例文件也出问题)
错误代码:
File "plugins/py\Menu.py", line 3, in <module>
MenuAPI.init()
File "Menu.py", line 117, in init
File "Menu.py", line 131, in LoadJson
UnicodeDecodeError: 'gbk' codec can't decode byte 0x95 in position 135: illegal multibyte sequence
北斗七星TJ
北斗七星TJ
报错说明这是编码的问题,我回去测试一下的,如有问题会立即更改
不错,支持一下
点个你好闪退,6666用不起
北斗七星TJ
北斗七星TJ
自己不知道就要问,不问就不要乱黑别人
来催更了,
北斗七星TJ
北斗七星TJ
更完了,前段时间是真的没有时间。
配置文件改一个字都会显示 de什么什么的读取失败,
北斗七星TJ
北斗七星TJ
JSON格式错误就会出现,好几个人都跟我说这个问题了,全都是语法错误!反正随便找个东西看有没有错误就可以了。
那个default.json是不能改吗?为什么我把text的key随便改个字符串就报这个错了
ERROR]Menu >> 配置文件 default.json 读取失败!
北斗七星TJ
北斗七星TJ
JSON格式错误就会出现,好几个人都跟我说这个问题了,全都是语法错误!反正随便找个东西看有没有错误就可以了。
我想知道菜单类型怎么写
北斗七星TJ
北斗七星TJ
type里设置,看来帖子还得写详细点