离线玩家缓存

离线玩家缓存

允许模组缓存离线时的服务器端玩家数据。

基础库

什么是 Offline Player Cache?

Offline Player Cache (OPC) 是一个使用 Fabric 框架构建的 Minecraft API 模组,用于在玩家离线时将玩家数据缓存在服务器上。这意味着模组可以使用此 API 来访问离线玩家的数据。它最初的开发目的是为 Minecraft 服务器提供包含离线玩家的全局且持久的排行榜。

具体功能

模组可以注册接收玩家并输出值/对象的函数;该值/对象仅受限于键的 NBT 数据读写所指定的内容。当玩家从服务器断开连接时,所有已注册的函数都会被调用,相应数据会在玩家断开连接之前缓存在服务器上。此数据会保存到服务器的关卡数据中,并且可以随时访问。当同一玩家连接到服务器时,其缓存数据会被删除,取而代之的是,当调用值函数时,它会返回基于在线玩家的当前值/对象。

命令

  • /opc get uuid|name <uuid|name> <key> 返回输入 uuid/name 玩家的值;如果他们在线上,返回其当前值;如果他们离线,返回其缓存值;否则返回 null。如果该值是一个 instanceof Number 且从命令方块运行,红石输出为 16 的绝对值模。
  • /opc remove uuid|name <uuid|name> <key> 如果输入的 uuid/name 玩家离线,移除由输入键确定的该玩家的缓存值;如果玩家在线,则不执行任何操作。
  • /opc remove uuid|name <uuid|name> 如果输入的 uuid/name 玩家离线,移除其所有缓存数据;如果玩家在线,则不执行任何操作。

备注

  • 此 API 模组本身不注册任何可缓存的值,因此不缓存任何玩家数据,所以它本身不执行任何操作。
  • 要在你的模组中使用此 API,你可以在 gradle 构建中包含以下内容(更多详情请参见 Modrinth Maven):
repositories {
    maven {
        name = "Modrinth"
        url = "https://api.modrinth.com/maven"
        content {
            includeGroup "maven.modrinth"
        }
    }
}
dependencies {
    modImplementation "maven.modrinth:offline-player-cache:<version>"
    include "maven.modrinth:offline-player-cache:<version>"
}