|
|
你可能很苦恼,有的时候不知道怎么记录玩家的一些数据
那你肯定需要这个免费插件支持folia
非常简单的插件,用于自定义记录玩家的一些信息
在配置中写出需要注册的变量解析式
玩家就会自动带有默认值的变量
基础变量具有数值类型和字符串类型两种变量
均支持指令修改,数值类型还支持指令加减
JS变量为高级变量,参考下文
关服数据保留,且每隔10分钟自动保存一下
防止丢数据
有问题可以加群320830401交流指令,都很简单且明确
sender.sendMessage(\"/pp 玩家名 set 变量名 数值\");
sender.sendMessage(\"/pp 玩家名 add 变量名 算式\");
# 算式如+1 -1 等
sender.sendMessage(\"/pp 玩家名 remove 变量名\");
# 注意这个是重置为默认值
sender.sendMessage(\"/pp reload\");
基础变量配置:
# 要给js变量导的包,新手不建议使用
JsImportPacket: \"Bukkit\": \"org.bukkit.Bukkit\" \"Arrays\": \"java.util.Arrays\" \"PAPI\": \"me.clip.placeholderapi.PlaceholderAPI\"
# 自定义变量
# 最终解析的变量是%pp_xxx_xxx%
Placeholders: normal: \"test\": \"这是一个变量\" # 比如你想返回这个,就是%pp_normal_test%
\"test1\": \"这是另一个变量\"
\"test2\": \"最好不要留空\"
\"test3\": \"1\"
\"test4\": \"↑纯数值类型也是可以的,可以用指令和方法加减,但要保证是纯数字,可以有小数点\"
update: update:
# %pp_update_update%
max: 160 # 自增上限
period: 1 # 回复周期 秒
amount: 1 # 回复量
Task: SaveTask: enable: true period: 600
JS变量相关:
需要服务器具有nashorn引擎
这个引擎在JDK15-版本是内置的,不需要单独安装
在JDK15+需要单独安装或者装一个其他带有nashorn的插件,比如AP
在插件文件夹里打开Js文件夹然后就可以在里面新建js文件了
和正常的js文件一样写
js变量解析的时候会触发js文件的onRequest方法
inv.invokeFunction(\"onRequest\", player, params)
提供两个实参,一个是player对象,一个是变量解析式
参考下面的示例吧:
var identifier = \"AnyJs\"; # PAPI变量的标识符 重要
var author = \"Kaminy\"; # PAPI变量的作者 不重要
var version = \"1.0\"; # PAPI变量的版本 不重要
// 这个方法用来处理变量解析逻辑
function onRequest(player, params) {
// 也就是,当解析 \"%AnyJs_测试变量%\" 时,返回 \"一些字符串\"
if (params == \"测试变量\") {
return \"一些字符串\";
}
// 当解析 \"%AnyJs_测试变量2%\" 时,返回 \"一些字符串\"
else if (params == \"测试变量2\") {
return \"另一些字符串\";
}
// 没进行任何匹配时,返回 \"什么也没返回\",防止报错
return \"什么也没返回\";
}
JS变量可以像正常的js一样写
也可以导包调用静态方法
也可以调用对象类方法
和其他js没什么区别
下载地址:
|
楼主
2025-7-18 03:57:42
回复(0)
收起回复
|