fix AxPlayersWarps incompatibility

This commit is contained in:
alexcrea 2025-07-25 05:33:53 +02:00
parent 78ce6a8f42
commit f4aaeddb25
Signed by: alexcrea
GPG key ID: E346CD16413450E3
4 changed files with 37 additions and 2 deletions

View file

@ -26,7 +26,6 @@ val effectiveVersion = "$version" +
repositories { repositories {
// EcoEnchants // EcoEnchants
maven(url = "https://repo.auxilor.io/repository/maven-public/") maven(url = "https://repo.auxilor.io/repository/maven-public/")
} }
dependencies { dependencies {
@ -61,6 +60,9 @@ dependencies {
// ToolStats // ToolStats
compileOnly(files("libs/toolstats-1.9.6-stripped.jar")) compileOnly(files("libs/toolstats-1.9.6-stripped.jar"))
// AxPlayerWarps
compileOnly(files("libs/AxPlayerWarps-1.10.3.jar"))
// Include nms // Include nms
implementation(project(":nms:nms-common")) implementation(project(":nms:nms-common"))
implementation(project(":nms:v1_17R1", configuration = "reobf")) implementation(project(":nms:v1_17R1", configuration = "reobf"))

Binary file not shown.

View file

@ -1,9 +1,11 @@
package xyz.alexcrea.cuanvil.dependency package xyz.alexcrea.cuanvil.dependency
import com.willfp.eco.core.gui.player
import io.delilaheve.CustomAnvil import io.delilaheve.CustomAnvil
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.ChatColor import org.bukkit.ChatColor
import org.bukkit.entity.HumanEntity import org.bukkit.entity.HumanEntity
import org.bukkit.entity.Player
import org.bukkit.event.inventory.InventoryClickEvent import org.bukkit.event.inventory.InventoryClickEvent
import org.bukkit.event.inventory.PrepareAnvilEvent import org.bukkit.event.inventory.PrepareAnvilEvent
import org.bukkit.inventory.AnvilInventory import org.bukkit.inventory.AnvilInventory
@ -40,6 +42,8 @@ object DependencyManager {
var disenchantmentCompatibility: DisenchantmentDependency? = null var disenchantmentCompatibility: DisenchantmentDependency? = null
var havenBagsCompatibility: HavenBagsDependency? = null var havenBagsCompatibility: HavenBagsDependency? = null
var axPlayerWarpsCompatibility: AxPlayerWarpsDependency? = null
val genericDependencies = ArrayList<GenericPluginDependency>() val genericDependencies = ArrayList<GenericPluginDependency>()
fun loadDependency() { fun loadDependency() {
@ -88,6 +92,11 @@ object DependencyManager {
havenBagsCompatibility!!.redirectListeners() havenBagsCompatibility!!.redirectListeners()
} }
// AxPlayerWarps dependency
if (pluginManager.isPluginEnabled("AxPlayerWarps")) {
axPlayerWarpsCompatibility = AxPlayerWarpsDependency()
}
// "Generic" dependencies // "Generic" dependencies
if (pluginManager.isPluginEnabled("ToolStats")) if (pluginManager.isPluginEnabled("ToolStats"))
genericDependencies.add(ToolStatsDependency(pluginManager.getPlugin("ToolStats")!!)) genericDependencies.add(ToolStatsDependency(pluginManager.getPlugin("ToolStats")!!))
@ -153,6 +162,9 @@ object DependencyManager {
// Test if the inventory is a gui(version specific) // Test if the inventory is a gui(version specific)
if (!bypass && (externGuiTester?.testIfGui(event.view) == true)) bypass = true 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 return bypass
} }
@ -203,7 +215,12 @@ object DependencyManager {
} }
// Return null if there was an issue // 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) val treatEvent = CATreatAnvilResultEvent(event, useType, result, cost)
try { try {
unsafeTryTreatAnvilResult(treatEvent) unsafeTryTreatAnvilResult(treatEvent)
@ -279,6 +296,9 @@ object DependencyManager {
// Test if the inventory is a gui(version specific) // Test if the inventory is a gui(version specific)
if (!bypass && (externGuiTester?.testIfGui(event.view) == true)) bypass = true 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 return bypass
} }

View file

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