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 + } + + + +}