diff --git a/build.gradle.kts b/build.gradle.kts index 3a04751..9d60573 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,6 @@ val effectiveVersion = "$version" + repositories { // EcoEnchants maven(url = "https://repo.auxilor.io/repository/maven-public/") - } dependencies { @@ -61,6 +60,9 @@ dependencies { // ToolStats compileOnly(files("libs/toolstats-1.9.6-stripped.jar")) + // AxPlayerWarps + compileOnly(files("libs/AxPlayerWarps-1.10.3.jar")) + // Include nms implementation(project(":nms:nms-common")) implementation(project(":nms:v1_17R1", configuration = "reobf")) diff --git a/libs/AxPlayerWarps-1.10.3.jar b/libs/AxPlayerWarps-1.10.3.jar new file mode 100644 index 0000000..a32b23c Binary files /dev/null and b/libs/AxPlayerWarps-1.10.3.jar differ diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt index 09980b5..e906a4a 100644 --- a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/DependencyManager.kt @@ -1,9 +1,11 @@ package xyz.alexcrea.cuanvil.dependency +import com.willfp.eco.core.gui.player import io.delilaheve.CustomAnvil import org.bukkit.Bukkit import org.bukkit.ChatColor import org.bukkit.entity.HumanEntity +import org.bukkit.entity.Player import org.bukkit.event.inventory.InventoryClickEvent import org.bukkit.event.inventory.PrepareAnvilEvent import org.bukkit.inventory.AnvilInventory @@ -40,6 +42,8 @@ object DependencyManager { var disenchantmentCompatibility: DisenchantmentDependency? = null var havenBagsCompatibility: HavenBagsDependency? = null + var axPlayerWarpsCompatibility: AxPlayerWarpsDependency? = null + val genericDependencies = ArrayList() fun loadDependency() { @@ -88,6 +92,11 @@ object DependencyManager { havenBagsCompatibility!!.redirectListeners() } + // AxPlayerWarps dependency + if (pluginManager.isPluginEnabled("AxPlayerWarps")) { + axPlayerWarpsCompatibility = AxPlayerWarpsDependency() + } + // "Generic" dependencies if (pluginManager.isPluginEnabled("ToolStats")) genericDependencies.add(ToolStatsDependency(pluginManager.getPlugin("ToolStats")!!)) @@ -153,6 +162,9 @@ object DependencyManager { // Test if the inventory is a gui(version specific) if (!bypass && (externGuiTester?.testIfGui(event.view) == true)) bypass = true + // Test if in an ax player warp rating gui + if (!bypass && (axPlayerWarpsCompatibility?.testIfGui(player) == true)) bypass = true + return bypass } @@ -203,7 +215,12 @@ object DependencyManager { } // Return null if there was an issue - fun tryTreatAnvilResult(event: PrepareAnvilEvent, result: ItemStack, useType: AnvilUseType, cost: Int): CATreatAnvilResultEvent? { + fun tryTreatAnvilResult( + event: PrepareAnvilEvent, + result: ItemStack, + useType: AnvilUseType, + cost: Int + ): CATreatAnvilResultEvent? { val treatEvent = CATreatAnvilResultEvent(event, useType, result, cost) try { unsafeTryTreatAnvilResult(treatEvent) @@ -279,6 +296,9 @@ object DependencyManager { // Test if the inventory is a gui(version specific) if (!bypass && (externGuiTester?.testIfGui(event.view) == true)) bypass = true + // Test if in an ax player warp rating gui + if (!bypass && (axPlayerWarpsCompatibility?.testIfGui(event.player) == true)) bypass = true + return bypass } diff --git a/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/AxPlayerWarpsDependency.kt b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/AxPlayerWarpsDependency.kt new file mode 100644 index 0000000..e0ca218 --- /dev/null +++ b/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/plugins/AxPlayerWarpsDependency.kt @@ -0,0 +1,13 @@ +package xyz.alexcrea.cuanvil.dependency.plugins + +import com.artillexstudios.axplayerwarps.libs.axapi.gui.AnvilInput +import org.bukkit.entity.HumanEntity +import org.bukkit.entity.Player + +class AxPlayerWarpsDependency { + + fun testIfGui(player: HumanEntity): Boolean { + return player is Player && AnvilInput.get(player) != null + } + +} \ No newline at end of file