From b18cf1fd59ec6593ec94e6ff83f3bbfbe71f8edf Mon Sep 17 00:00:00 2001 From: alexcrea Date: Sat, 23 May 2026 16:49:14 +0200 Subject: [PATCH] hook to vault economy api --- build.gradle.kts | 8 ++++- src/main/kotlin/io/delilaheve/CustomAnvil.kt | 5 ++- .../dependency/econmy/EconomyManager.kt | 31 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 src/main/kotlin/xyz/alexcrea/cuanvil/dependency/econmy/EconomyManager.kt diff --git a/build.gradle.kts b/build.gradle.kts index 49b00d9..4effecb 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -40,11 +40,14 @@ repositories { // ItemsAdder maven(url = "https://maven.devs.beer/") - // for fast stats + // For fast stats maven { name = "thenextlvlReleases" url = uri("https://repo.thenextlvl.net/releases") } + + // For vault unlocked + maven { url = uri("https://jitpack.io") } } val reobfNMS = providers.gradleProperty("subprojects.reobfnms") @@ -103,6 +106,9 @@ dependencies { // ItemsAdder API compileOnly("dev.lone:api-itemsadder:4.0.10") + // Vault api + compileOnly("com.github.MilkBowl:VaultAPI:1.7") + // Include nms implementation(project(":nms:nms-common")) implementation(project(":nms:nms-paper")) diff --git a/src/main/kotlin/io/delilaheve/CustomAnvil.kt b/src/main/kotlin/io/delilaheve/CustomAnvil.kt index 2fa9e78..9548450 100644 --- a/src/main/kotlin/io/delilaheve/CustomAnvil.kt +++ b/src/main/kotlin/io/delilaheve/CustomAnvil.kt @@ -12,6 +12,7 @@ import xyz.alexcrea.cuanvil.command.ReloadExecutor import xyz.alexcrea.cuanvil.config.ConfigHolder import xyz.alexcrea.cuanvil.dependency.DependencyManager import xyz.alexcrea.cuanvil.dependency.MinecraftVersionUtil +import xyz.alexcrea.cuanvil.dependency.econmy.EconomyManager import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil import xyz.alexcrea.cuanvil.enchant.CAEnchantmentRegistry import xyz.alexcrea.cuanvil.gui.config.MainConfigGui @@ -258,9 +259,11 @@ open class CustomAnvil : JavaPlugin() { MainConfigGui.getInstance().init(DependencyManager.packetManager) GuiSharedConstant.loadConstants() + // Prepare economy if possible + EconomyManager.setupEconomy(this) + // Finally, re add default we may be missing PluginSetDefault.reAddMissingDefault() - } fun reloadResource( diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/econmy/EconomyManager.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/econmy/EconomyManager.kt new file mode 100644 index 0000000..d3b8c21 --- /dev/null +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/econmy/EconomyManager.kt @@ -0,0 +1,31 @@ +package xyz.alexcrea.cuanvil.dependency.econmy + +import net.milkbowl.vault.economy.Economy +import org.bukkit.OfflinePlayer +import org.bukkit.plugin.Plugin +import org.bukkit.plugin.RegisteredServiceProvider + +object EconomyManager { + + private var economy: Economy? = null + + fun setupEconomy(plugin: Plugin) { + if (economy != null) return + + if (plugin.server.pluginManager.getPlugin("Vault") == null) + return + + val rsp: RegisteredServiceProvider? = + plugin.server.servicesManager.getRegistration(Economy::class.java) + if (rsp == null) return + + economy = rsp.getProvider() + } + + fun has(player: OfflinePlayer, amount: Double): Boolean { + return economy?.has(player, amount) == true + } + + + +}