Integrations
已發布Vault 經濟整合器
Integrate Vault Economy API
為 Bukkit/Paper 插件整合 Vault 經濟 API,產生 EconomyManager 類別,含餘額查詢、存款、扣款與軟依賴降級處理。
vaulteconomybukkitpaperintegration
Integrate Vault Economy API Skill
目標
為 Bukkit/Paper 插件正確接入 Vault 經濟 API,產生 EconomyManager 類別,封裝常用的餘額查詢、存款、扣款操作,並處理 Vault 未安裝時的降級或停用邏輯。
使用流程
- 確認基本資訊:插件名稱、套件名、Vault 是
depend(必裝)還是softdepend(選裝) - 更新 pom.xml:加入 Vault API 依賴(
providedscope) - 更新 plugin.yml:宣告
depend或softdepend - 產生 EconomyManager.java:含初始化、餘額查詢、存款、扣款
pom.xml 依賴
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7.1</version>
<scope>provided</scope>
</dependency>
EconomyManager 核心骨架
public class EconomyManager {
private Economy economy;
public boolean setupEconomy(Plugin plugin) {
if (plugin.getServer().getPluginManager().getPlugin("Vault") == null) return false;
RegisteredServiceProvider<Economy> rsp =
plugin.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) return false;
economy = rsp.getProvider();
return true;
}
public double getBalance(OfflinePlayer player) { return economy.getBalance(player); }
public boolean has(OfflinePlayer player, double amount) { return economy.has(player, amount); }
public EconomyResponse deposit(OfflinePlayer player, double amount) { return economy.depositPlayer(player, amount); }
public EconomyResponse withdraw(OfflinePlayer player, double amount) { return economy.withdrawPlayer(player, amount); }
public boolean isAvailable() { return economy != null; }
}
支援功能
- Vault Economy API 整合(
setupEconomy()初始化) - 餘額查詢(
getBalance)與餘額判斷(has) - 存款(
depositPlayer)與扣款(withdrawPlayer) - 軟依賴模式(Vault 未安裝時降級,不停用插件)
EconomyResponse交易結果處理