
EcoAPI
EcoAPI 是首个 Hytale 经济 API,它将允许插件在服务器中使用经济系统
EcoAPI 🔗
EcoAPI 是 Hytale 经济系统的一个标准化的接口层。
它不处理货币存储或交易本身。相反,它提供了一组抽象方法和接口,允许:
- 经济插件(提供者)实现自己的银行逻辑(SQL、JSON 等)。
- 游戏玩法插件(消费者)与经济系统交互(商店、工作等),而不依赖于特定的经济插件。
❓ 为什么选择 EcoAPI?
🛠 对于开发者
- 解耦: 一次编写插件。它将与任何实现了 EcoAPI 的经济插件兼容。
- 标准化: 使用统一的方法集(
getBalance、addBalance、removeBalance、setBalance),无论底层系统是什么。 - 灵活性: 在不破坏依赖插件的情况下,切换底层经济系统。
🎮 对于用户/服主
- 兼容性: 允许您无缝地同时使用开发者 A 的商店插件和开发者 B 的银行插件。
- 自由: 您不会受限于单个特定的经济插件。您可以随时更换实现方式。
📥 安装指南(面向用户)
注意: EcoAPI 本身不做任何事情。您需要三个组件来构建一个可运行的系统:
- EcoAPI(本插件)。
- 一个实现插件(一个实际存储货币并“实现”EcoAPI 的插件)。
- 任何消费者插件(商店、礼包、工作等)。
步骤:
- 从 Releases 页面下载最新版本。
- 将
.jar文件放入服务器的plugins文件夹。 - 确保同时安装一个兼容的经济提供者插件。
💻 集成指南(面向开发者)
由于 EcoAPI 尚未托管到 Maven Central,您必须将其安装到您的本地 Maven 仓库中才能将其作为依赖使用。
步骤 1:本地安装
- 从 Releases 页面下载最新版本。
- 使用以下命令将工件发布到本地缓存(Maven)
mvn install:install-file -Dfile=Path/To/EcoAPI.jar -DgroupId=com.dunystudios.hytale.plugins -DartifactId=EcoAPI -Dversion=1.0-SNAPSHOT -Dpackaging=jar
步骤 2:添加依赖
将 EcoAPI 添加到您的项目中。
<dependencies>
<dependency>
<groupId>com.dunystudios.hytale.plugins</groupId>
<artifactId>EcoAPI</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
步骤 3:使用示例
A. 使用经济系统(消费者) 如果您正在制作商店或工作插件,请使用 API 修改余额:
// 获取经济插件
IEcoAPI economy = IEcoAPI.Service.getInstance();
// 获取玩家的余额
float balance = economy.getBalance(uuid);
// 向玩家增加 10 余额
economy.addBalance(uuid, 10);
// 从玩家移除 10 余额
economy.removeBalance(uuid, 10);
// 将玩家余额设置为 10
economy.setBalance(uuid, 10);
B. 提供经济系统(实现者) 如果您正在制作经济插件,您必须实现接口并注册它。
主类:
public class MyEconomyPlugin extends JavaPlugin {
private final Economy economy;
public MyEconomyPlugin() {
this.economy = new Economy();
}
@Override
protected void setup() {
IEcoAPI.Service.setInstance(economy);
}
}
经济类:
public class Economy implements IEcoAPI {
@Override
public float getBalance(UUID uuid) {
// 您的逻辑
return 0;
}
@Override
public void addBalance(UUID uuid, float v) {
// 您的逻辑
}
@Override
public void removeBalance(UUID uuid, float v) {
// 您的逻辑
}
@Override
public void setBalance(UUID uuid, float v) {
// 您的逻辑
}
}
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。