马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 神奈时雨 于 2025-5-14 19:27 编辑
你可能很苦恼,有的时候不知道怎么记录玩家的一些数据
那你肯定需要这个免费插件
支持folia
非常简单的插件,用于自定义记录玩家的一些信息
在配置中写出需要注册的变量解析式,玩家就会自动带有默认值的变量
基础变量具有数值类型和字符串类型两种变量,均支持指令修改,数值类型还支持指令加减
JS变量为高级变量,参考下文
关服数据保留,且每隔10分钟自动保存一下,防止丢数据
指令,都很简单且明确:
sender.sendMessage("/pp 玩家名 set 变量名 数值");
sender.sendMessage("/pp 玩家名 add 变量名 数值");
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%
Placeholders:
"test": "这是一个变量" #比如你想返回这个,就是%pp_test%
"test1": "这是另一个变量"
"test2": "最好不要留空"
"test3": "1"
"test4": "↑纯数值类型也是可以的,可以用指令和方法加减,但要保证是纯数字,可以有小数点"
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没什么区别
附件下载
PlaceholderPlus-1.0-SNAPSHOT.jar
(14.87 KB, 下载次数: 1)
|