VaultUnlocked

VaultUnlocked

VaultUnlocked 是一个聊天、权限与经济API,旨在让插件能够更便捷地接入这些系统,而无需自行挂钩每个独立的系统。

图书馆

VaultUnlocked (Hytale)

版本: 2.20.0 平台: Hytale / Minecraft
类别: API / 库 / 开发者工具


欢迎使用简洁的 API 插件,不含臃肿的 SQL 驱动、冗余和无意义的内容。

支持的提供者插件

以下是当前支持 VaultUnlocked 作为提供者的插件列表。此列表可能并非最新。此外,如果您已添加支持并希望将您的插件加入此列表,请联系我们!

经济

经济提供者的目标是在 8 月底前实现 100% 的支持。这将通过在经济插件内部进行官方实现,或通过即将推出的兼容性插件来完成。

正在进行的实现:

聊天

列表即将推出。欢迎直接联系作者以添加支持或询问他们对该 API 的支持情况。

正在进行的实现:

权限

列表即将推出。欢迎直接联系作者以添加支持或询问他们对该 API 的支持情况。

正在进行的实现:


支持的消费者插件

列表即将推出。欢迎直接联系作者以添加支持或询问他们对该 API 的支持情况。


文档 / 入门指南

您是权限、聊天或经济插件的开发者,或者只是一个希望与已经使用 VaultUnlocked API 的插件交互的插件开发者?在此处了解如何开始:https://tne.gitbook.io/vaultunlocked/


依赖设置

VaultUnlocked 已发布到公共 Maven 仓库,应添加为 provided / compile-only 依赖


Maven

<repositories>
  <repository>
    <id>codemc-creatorfromhell</id>
    <url>https://repo.codemc.io/repository/creatorfromhell/</url>
  </repository>
</repositories>

<dependency>
  <groupId>net.cfh.vault</groupId>
  <artifactId>VaultUnlocked</artifactId>
  <version>2.18.3</version>
  <scope>provided</scope>
</dependency>

Gradle (Kotlin DSL)

repositories {
    maven("https://repo.codemc.io/repository/creatorfromhell/") {
        name = "VaultUnlocked"
    }
}

dependencies {
    compileOnly("net.cfh.vault:VaultUnlocked:2.18.3")
}

Gradle (Groovy DSL)

repositories {
    maven {
        url "https://repo.codemc.io/repository/creatorfromhell/"
    }
}

dependencies {
    compileOnly 'net.cfh.vault:VaultUnlocked:2.18.3'
}

说明

  • 使用 provided (Maven) 或 compileOnly (Gradle)
  • 不要将 VaultUnlocked 混淆或捆绑到您的插件中
  • 运行时会由服务器提供 VaultUnlocked
  • 防止重复类与类加载器冲突

VaultUnlocked 是什么?

VaultUnlocked 是新一代的 Vault 风格 API,为 经济权限聊天 系统提供 统一的抽象层

此 Hytale 版本提供了已在 Paper、Spigot 和 Bukkit 上使用的 同样优秀的 VaultUnlocked API,现支持 Hytale,使开发者无需重写集成即可支持多个平台。

相同的 API。
相同的概念。
相同的集成。
现已登陆 Hytale。


对于服务器所有者

为什么要使用 VaultUnlocked?

VaultUnlocked 允许插件协同工作,而无需直接依赖于特定的经济、权限或聊天插件。

插件通过 VaultUnlocked 进行交互,而不是硬性依赖,为您带来:

  • 自由切换经济或权限插件
  • 更少的兼容性问题
  • 更简洁的插件栈
  • 标准化且面向未来的 API

VaultUnlocked 不会取代您的经济、权限或聊天插件——它只是连接它们


对于开发者

一个 API,多平台支持

VaultUnlocked 将跨平台兼容性作为核心设计目标。

如果您的插件已在以下平台支持 VaultUnlocked:

  • Paper
  • Spigot
  • Bukkit

那么它在 Hytale 上会感觉无比熟悉

无需针对特定平台重写。
无需重复抽象。
极少或零代码更改。


2.18.0 版本 API 变更(重要)

服务注册模型更新

VaultUnlocked 2.18.0 开始,服务通过以下方式进行注册和访问:

VaultUnlockedServicesManager

这取代了传统的注册服务提供者方法,并更好地适应了 Hytale 的生命周期和架构。

优点包括:

  • 显式的服务所有权
  • 可预测的生命周期管理
  • 与平台无关的行为
  • 更高的清晰度和调试便利性

注册服务

现在,经济、权限和聊天的实现直接向服务管理器注册。

VaultUnlockedServicesManager services = VaultUnlockedServicesManager.get();

services.economy(myEconomyImplementation);
services.permission(myPermissionImplementation);
services.chat(myChatImplementation);

每个服务都是显式注册的,确保跨平台行为一致。


访问服务

插件可以随时使用同一管理器检索活跃服务。

VaultUnlockedServicesManager services = VaultUnlockedServicesManager.get();

Economy economy = services.economyObj();
PermissionUnlocked permission = services.permissionObj();
ChatUnlocked chat = services.chatObj();

如果某个服务不可用,VaultUnlocked 会安全地处理缺失情况,以便插件能够优雅地降级运行。


为什么要做这个改动?

Hytale 引入了与基于 Bukkit 的平台不同的插件生命周期和服务模型。

VaultUnlockedServicesManager:

  • 消除了对特定平台注册表的依赖
  • 保持 API 显式且可预测
  • 支持未来在经济、权限和聊天之外进行扩展

尽管内部发生了变化,但面向开发者的 API 依然熟悉且保持 Vault 风格


VaultUnlocked 是什么(以及不是什么)

VaultUnlocked

  • 一个兼容层
  • 一个服务抽象 API
  • 一个面向开发者的互操作工具

VaultUnlocked 不是

  • 一个经济插件
  • 一个权限插件
  • 一个聊天格式化插件

您选择实现方案 —— VaultUnlocked 负责连接它们。


版本兼容性

  • VaultUnlocked (Hytale): 2.18.0
  • 与 Bukkit / Spigot / Paper 的 VaultUnlocked API 保持一致
  • 设计时考虑与未来 Hytale API 的前向兼容性

谁应该使用 VaultUnlocked?

  • 面向 Hytale 的插件开发者
  • 运行多个游戏插件的服务器所有者
  • 维护跨平台插件的开发者
  • 任何希望获得简洁、标准化服务 API 的人

总结

适用于 Hytale 的 VaultUnlocked 为一个新的生态系统带来了一致性、稳定性和熟悉感,而无需强迫开发者重新学习或重写。

相同的 API。相同的理念。现已登陆 Hytale。