feat: 添加配置选项以允许不挂接VaultAPI
This commit is contained in:
@@ -2,10 +2,11 @@
|
||||
|
||||
plugins {
|
||||
id("java")
|
||||
id("maven-publish")
|
||||
}
|
||||
|
||||
group = "cn.hamster3.mc.plugin"
|
||||
version = "3.1.1"
|
||||
version = "3.1.2"
|
||||
|
||||
repositories {
|
||||
maven("https://maven.airgame.net/maven-public/")
|
||||
@@ -45,4 +46,22 @@ tasks {
|
||||
jar {
|
||||
destinationDirectory = rootProject.layout.buildDirectory
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
create<MavenPublication>("mavenJava") {
|
||||
from(components["java"])
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
maven {
|
||||
url = uri("https://maven.airgame.net/public/")
|
||||
|
||||
credentials {
|
||||
username = rootProject.properties.getOrDefault("maven_username", "").toString()
|
||||
password = rootProject.properties.getOrDefault("maven_password", "").toString()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -74,17 +74,21 @@ public class CurrencyPlugin extends JavaPlugin {
|
||||
Bukkit.getPluginManager().registerEvents(CurrencyListener.INSTANCE, this);
|
||||
logger.info("已注册 CurrencyListener");
|
||||
ParentCurrencyCommand.INSTANCE.register();
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Vault")) {
|
||||
logger.info("检测到 Vault 已安装");
|
||||
Bukkit.getServicesManager().register(Economy.class, VaultEconomyHook.INSTANCE, this, ServicePriority.Normal);
|
||||
CurrencyType type = CurrencyDataManager.getVaultCurrencyType();
|
||||
if (type != null) {
|
||||
logger.info(String.format("已挂载货币类型 %s(%s) 至 Vault 系统", type.getId(), type.getName()));
|
||||
if (CurrencyConfigManager.isEnableVault()) {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("Vault")) {
|
||||
logger.info("检测到 Vault 已安装");
|
||||
Bukkit.getServicesManager().register(Economy.class, VaultEconomyHook.INSTANCE, this, ServicePriority.Normal);
|
||||
CurrencyType type = CurrencyDataManager.getVaultCurrencyType();
|
||||
if (type != null) {
|
||||
logger.info(String.format("已挂载货币类型 %s(%s) 至 Vault 系统", type.getId(), type.getName()));
|
||||
} else {
|
||||
logger.warning("已挂接 Vault 系统,但未找到 Vault 货币类型,请检查配置文件或创建货币类型: " + CurrencyConfigManager.getVaultCurrencyID());
|
||||
}
|
||||
} else {
|
||||
logger.warning("已挂接 Vault 系统,但未找到 Vault 货币类型,请检查配置文件或创建货币类型: " + CurrencyConfigManager.getVaultCurrencyID());
|
||||
logger.info("未找到 Vault 插件! 取消注册 Vault 经济系统");
|
||||
}
|
||||
} else {
|
||||
logger.info("未找到 Vault 插件! 取消注册 Vault 经济系统");
|
||||
logger.info("不进行 Vault 经济系统注册");
|
||||
}
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠经济启动完成,总计耗时 " + time + " ms");
|
||||
|
@@ -5,6 +5,8 @@ import lombok.Getter;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
public class CurrencyConfigManager {
|
||||
@Getter
|
||||
private static boolean enableVault;
|
||||
@Getter
|
||||
private static String vaultCurrencyID;
|
||||
@Getter
|
||||
@@ -19,6 +21,7 @@ public class CurrencyConfigManager {
|
||||
|
||||
FileConfiguration pluginConfig = plugin.getConfig();
|
||||
|
||||
enableVault = pluginConfig.getBoolean("vault-settings.enable", false);
|
||||
vaultCurrencyID = pluginConfig.getString("vault-settings.currency-id", "money");
|
||||
vaultNamePlural = pluginConfig.getString("vault-settings.currency-name-plural", "金币");
|
||||
vaultNameSingular = pluginConfig.getString("vault-settings.currency-name-singular", "金币");
|
||||
|
@@ -25,16 +25,16 @@ public final class CurrencyDataManager {
|
||||
try (Connection connection = CoreAPI.getInstance().getConnection()) {
|
||||
try (Statement statement = connection.createStatement()) {
|
||||
statement.execute("CREATE TABLE IF NOT EXISTS hamster_currency_type(" +
|
||||
"`id` VARCHAR(36) PRIMARY KEY," +
|
||||
"`name` VARCHAR(36) NOT NULL," +
|
||||
"`transferable` BOOLEAN NOT NULL" +
|
||||
") CHARSET utf8mb4;");
|
||||
"`id` VARCHAR(36) PRIMARY KEY," +
|
||||
"`name` VARCHAR(36) NOT NULL," +
|
||||
"`transferable` BOOLEAN NOT NULL" +
|
||||
") CHARSET utf8mb4;");
|
||||
statement.execute("CREATE TABLE IF NOT EXISTS hamster_currency_data(" +
|
||||
"`uuid` CHAR(36) NOT NULL," +
|
||||
"`currency` VARCHAR(36) NOT NULL," +
|
||||
"`amount` DOUBLE NOT NULL," +
|
||||
"PRIMARY KEY `player_currency` (`uuid`, `currency`)" +
|
||||
") CHARSET utf8mb4;");
|
||||
"`uuid` CHAR(36) NOT NULL," +
|
||||
"`currency` VARCHAR(36) NOT NULL," +
|
||||
"`amount` DOUBLE NOT NULL," +
|
||||
"PRIMARY KEY `player_currency` (`uuid`, `currency`)" +
|
||||
") CHARSET utf8mb4;");
|
||||
try (ResultSet set = statement.executeQuery("SELECT * FROM hamster_currency_type;")) {
|
||||
while (set.next()) {
|
||||
CurrencyType type = new CurrencyType(
|
||||
|
@@ -1,8 +1,10 @@
|
||||
# VaultAPI 相关配置
|
||||
vault-settings:
|
||||
# 是否启用 vault 挂接
|
||||
enable: true
|
||||
# 与 VaultAPI 挂接的货币 ID
|
||||
currency-id: money
|
||||
# Vault 显示货币名称(单数)
|
||||
currency-name-singular: 金币
|
||||
# Vault 显示货币名称(复数)
|
||||
currency-name-plural: 金币
|
||||
currency-name-plural: 金币
|
||||
|
Reference in New Issue
Block a user