From bf7a158c9534162f436a29bb874997851b34f3fa Mon Sep 17 00:00:00 2001 From: alexcrea <42614139+alexcrea@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:11:37 +0200 Subject: [PATCH 1/2] fix incompability with xenondev anvil UI --- .../cuanvil/dependency/gui/ExternGuiTester.kt | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt b/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt index 3e11a43..d1657eb 100644 --- a/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt +++ b/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt @@ -9,15 +9,29 @@ interface ExternGuiTester { fun getContainerClass(inventory: InventoryView): Class? fun testIfGui(inventory: InventoryView): Boolean { - val clazz = getContainerClass(inventory) - if(clazz == null) return false - - val expectedWesjdGuiPath = "anvilgui.version.$wesjdAnvilGuiName" + val clazz = getContainerClass(inventory) ?: return false val clazzName = clazz.name - val isWejdsGui = clazzName.contains(expectedWesjdGuiPath) + if (expectWesjd(clazzName)) return true + if (expectXenondevUI(clazzName)) return true - return isWejdsGui + return false + } + + fun expectWesjd(name: String): Boolean { + val expectedWesjdGuiPath = "anvilgui.version.$wesjdAnvilGuiName" + + return name.contains(expectedWesjdGuiPath) + } + + private val XenondevUIPrefix: String + get() = "xyz.xenondevs.inventoryaccess." + private val XenondevUISufix: String + get() = ".AnvilInventoryImpl" + + fun expectXenondevUI(name: String): Boolean { + return name.startsWith(XenondevUIPrefix) + && name.endsWith(XenondevUISufix) } From ea4315f494c2acc758390702ba17256328218ee3 Mon Sep 17 00:00:00 2001 From: alexcrea <42614139+alexcrea@users.noreply.github.com> Date: Tue, 29 Apr 2025 14:12:53 +0200 Subject: [PATCH 2/2] fix use of nms for test --- .../xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt b/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt index d1657eb..9cb481e 100644 --- a/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt +++ b/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/gui/ExternGuiTester.kt @@ -9,6 +9,9 @@ interface ExternGuiTester { fun getContainerClass(inventory: InventoryView): Class? fun testIfGui(inventory: InventoryView): Boolean { + // this mean we are on test + if(inventory.javaClass.name.endsWith("AnvilViewMock")) return false + val clazz = getContainerClass(inventory) ?: return false val clazzName = clazz.name