diff --git a/build.gradle.kts b/build.gradle.kts index 4a66196..8eeb08c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -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("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() + } + } + } } \ No newline at end of file diff --git a/src/main/java/cn/hamster3/mc/plugin/currency/CurrencyPlugin.java b/src/main/java/cn/hamster3/mc/plugin/currency/CurrencyPlugin.java index 1920a9f..91f3638 100644 --- a/src/main/java/cn/hamster3/mc/plugin/currency/CurrencyPlugin.java +++ b/src/main/java/cn/hamster3/mc/plugin/currency/CurrencyPlugin.java @@ -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"); diff --git a/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyConfigManager.java b/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyConfigManager.java index 08d3624..32acce1 100644 --- a/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyConfigManager.java +++ b/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyConfigManager.java @@ -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", "金币"); diff --git a/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyDataManager.java b/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyDataManager.java index c7527df..2adbf68 100644 --- a/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyDataManager.java +++ b/src/main/java/cn/hamster3/mc/plugin/currency/core/CurrencyDataManager.java @@ -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( diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 13cf059..d5d6cd7 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,8 +1,10 @@ # VaultAPI 相关配置 vault-settings: + # 是否启用 vault 挂接 + enable: true # 与 VaultAPI 挂接的货币 ID currency-id: money # Vault 显示货币名称(单数) currency-name-singular: 金币 # Vault 显示货币名称(复数) - currency-name-plural: 金币 \ No newline at end of file + currency-name-plural: 金币