讨论 [Compatible] CMENU - 自定义菜单

链接cmenu
作者@提米吖
版本2.3

# 完美支持

@CMenu/main.js
JavaScript:
import { ll, mc, JsonConfigFile, File, PermType, Format, logger } from '@LiteLoaderLibs/index.js'

export function close() {
    mc.close();
}
export function main() {
//LiteXLoader Dev Helper
/// <reference path="c:\Users\Administrator\.vscode\extensions\moxicat.lxldevhelper-0.1.4/Library/JS/Api.js" />



let tmp = {};
 // more code...
 }

@CMenu/plugin.yml
YAML:
name: CMENU
main: main.js # JS入口文件,应该导出一个main函数(如main.js)
version: "0.2.3"
api: ["1.0.13"] # API版本,PNX从1.0.13起开始支持JS插件
load: POSTWORLD # 插件加载顺序,只能填写 STARTUP 或 POSTWORLD
# STARTUP: 此时服务器刚启动,地图尚未加载,通常用于依赖库
# POSTWORLD: 此时服务器所有地图都加载完毕,通常填写POSTWORLD即可
authors: # 此项可以不存在
- 提米吖
description: LiteLoader的CMENU插件
website: https://vusv.cn
depend: # 插件的依赖项,填写依赖插件的名称,如果依赖的插件有一个不存在,那么PNX不会加载这个JS插件,此项可以不存在
- LiteLoaderLibs

# 存在的问题

  • 多处 文件操作使用了过时的api file.
JavaScript:
line 31:
    let e = new File('.\\plugins\\CMENU\\' + name + '.json', file.ReadMode);
解决方法,替换为 File.
JavaScript:
line 31:
    let e = new File('.\\plugins\\CMENU\\' + name + '.json', File.ReadMode);

  • 2 处 玩家op判断,需要更改
JavaScript:
line 64-71:
                                if (plIsOP(pl.xuid)) {
                                    forms(pl, dataa[selected].open);
                                } else {
                                    ST(pl, '§c你没有权限使用这个模块');
                                } else if (dataa[selected].type == 'comm') {
                                    pl.runcmd(dataa[selected].open);
                                } else if (dataa[selected].type == 'opcomm')
                                if (plIsOP(pl.xuid)) {
解决方法,替换为 isOp
JavaScript:
line 64-71:
                                if (pl.isOP()) {
                                    forms(pl, dataa[selected].open);
                                } else {
                                    ST(pl, '§c你没有权限使用这个模块');
                                } else if (dataa[selected].type == 'comm') {
                                    pl.runcmd(dataa[selected].open);
                                } else if (dataa[selected].type == 'opcomm')
                                if (pl.isOP()) {

  • 更改op判断后建议删除 function plIsOP(xuid){}

# Libs链接

LiteLoader-Libs: https://github.com/PowerNukkitX/LiteLoader-Libs
 
最后由版主编辑于:
emmm,看不懂,谁可以教教我,我纯萌新腐竹
 

在线会员

  • bast_l
  • fanhaoran01
  • JRing
后退
顶部 底部