
PlayerData Core
简单的键值对玩家数据存储API,支持JSON持久化,适用于服务器插件。
PlayerData 核心库
一个轻量级库,用于在 Hytale 服务器插件中存储和检索玩家数据。
功能特性
- 适用于任何数据类型的简单键值 API
- 自动将 JSON 持久化到磁盘
- 线程安全操作
- 玩家数据隔离
- 零配置要求
- 强制要求带命名空间的键,以防止插件冲突
供插件开发者使用
键必须采用 插件名:键名 的命名空间格式,以避免插件间冲突。
// 存储数据
PlayerData.set(playerId, "myplugin:coins", 100)
PlayerData.set(playerId, "myplugin:rank", "VIP")
// 检索数据
val coins = PlayerData.get<Int>(playerId, "myplugin:coins") ?: 0
val rank = PlayerData.get<String>(playerId, "myplugin:rank")
// 递增数值
PlayerData.increment(playerId, "myplugin:coins", 50)
// 删除数据
PlayerData.remove(playerId, "myplugin:temp_data")
无效的键将抛出错误:
"nonamespace" → 错误:键必须带命名空间
":keyonly" → 错误:空命名空间
"plugin:" → 错误:空键名
支持的数据类型
- 字符串
- 整数 / 长整数 / 双精度浮点数 / 单精度浮点数
- 布尔值
- 列表(原始类型)
- 映射(原始类型)
安装方法
- 下载 JAR 文件
- 放入服务器的插件文件夹
- 重启服务器
供服务器管理员使用
这是一个库插件——它本身不执行任何功能。请在另一个插件(如 AFKManager)需要将其作为依赖项时安装。
数据存储
玩家数据以 JSON 文件形式存储在 plugins/PlayerData/data/ 目录中,每个玩家 UUID 对应一个文件。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。