PlayerData Core

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:"      → 错误:空键名

  支持的数据类型

  - 字符串
  - 整数 / 长整数 / 双精度浮点数 / 单精度浮点数
  - 布尔值
  - 列表(原始类型)
  - 映射(原始类型)

安装方法

  1. 下载 JAR 文件
  2. 放入服务器的插件文件夹
  3. 重启服务器

供服务器管理员使用

这是一个库插件——它本身不执行任何功能。请在另一个插件(如 AFKManager)需要将其作为依赖项时安装。

数据存储

玩家数据以 JSON 文件形式存储在 plugins/PlayerData/data/ 目录中,每个玩家 UUID 对应一个文件。