fix big issue extern gui wrongly tested

This commit is contained in:
alexcrea 2025-12-29 15:20:28 +01:00
parent 89eec84a66
commit be7f4d0bcb
Signed by: alexcrea
GPG key ID: E346CD16413450E3
3 changed files with 11 additions and 9 deletions

View file

@ -8,7 +8,7 @@ plugins {
kotlin("jvm") version "2.1.0" kotlin("jvm") version "2.1.0"
java java
id("org.jetbrains.dokka").version("1.9.20") id("org.jetbrains.dokka").version("1.9.20")
id("com.gradleup.shadow").version("9.0.0-beta16") id("com.gradleup.shadow").version("9.3.0")
// Maven publish // Maven publish
`maven-publish` `maven-publish`
signing signing
@ -18,7 +18,7 @@ plugins {
} }
group = "xyz.alexcrea" group = "xyz.alexcrea"
version = "1.15.7" version = "1.15.8"
val effectiveVersion = "$version" + val effectiveVersion = "$version" +
(if (System.getenv("SMALL_COMMIT_HASH") != null) "-dev-${System.getenv("SMALL_COMMIT_HASH")!!}" else "") (if (System.getenv("SMALL_COMMIT_HASH") != null) "-dev-${System.getenv("SMALL_COMMIT_HASH")!!}" else "")

View file

@ -1,17 +1,16 @@
package xyz.alexcrea.cuanvil.dependency.gui package xyz.alexcrea.cuanvil.dependency.gui
import org.bukkit.inventory.InventoryView import org.bukkit.inventory.InventoryView
import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil
interface ExternGuiTester { interface ExternGuiTester {
fun getContainerClass(view: InventoryView): Class<Any>? fun getContainerClass(view: InventoryView): Class<Any>?
fun testIfGui(inventory: InventoryView): Boolean { fun testIfGui(inventory: InventoryView): Boolean {
// container class only allow default bukkit craft view class // container class only allow default bukkit craft view or test class
val clazz = getContainerClass(inventory) val clazz = getContainerClass(inventory)
return clazz != null return clazz == null
} }
} }

View file

@ -1,7 +1,6 @@
package xyz.alexcrea.cuanvil.dependency.gui package xyz.alexcrea.cuanvil.dependency.gui
import org.bukkit.inventory.InventoryView import org.bukkit.inventory.InventoryView
import xyz.alexcrea.cuanvil.dependency.MinecraftVersionUtil
import java.lang.reflect.Method import java.lang.reflect.Method
class GenericExternGuiTester: ExternGuiTester { class GenericExternGuiTester: ExternGuiTester {
@ -12,14 +11,16 @@ class GenericExternGuiTester: ExternGuiTester {
private const val HANDLE_METHOD_NAME = "getHandle" private const val HANDLE_METHOD_NAME = "getHandle"
} }
var tested = false var testExist = false
var inTesting = false
var testedClass: String? = null var testedClass: String? = null
lateinit var getHandleMethod: Method lateinit var getHandleMethod: Method
override fun getContainerClass(view: InventoryView): Class<Any>? { override fun getContainerClass(view: InventoryView): Class<Any>? {
// In case we are in a test environment // In case we are in a test environment
if(!tested) testClassExist() if(!testExist) testClassExist()
if(inTesting) return view.javaClass //TEMPORARY
if(!testedClass.contentEquals(view.javaClass.name)) if(!testedClass.contentEquals(view.javaClass.name))
return null return null
@ -36,7 +37,7 @@ class GenericExternGuiTester: ExternGuiTester {
} }
fun testClassExist() { fun testClassExist() {
tested = true testExist = true
// We first try to get craft anvil interface, // We first try to get craft anvil interface,
// but is absent on old version so we try craft inventory view before // but is absent on old version so we try craft inventory view before
@ -53,6 +54,8 @@ class GenericExternGuiTester: ExternGuiTester {
} }
catch (_: ClassNotFoundException) {} catch (_: ClassNotFoundException) {}
catch (_: NoSuchMethodException) {} catch (_: NoSuchMethodException) {}
inTesting = true
} }
} }