From 8afd54c94de042cd3efd9f4e4e0854f0a25974a2 Mon Sep 17 00:00:00 2001 From: alexcrea Date: Fri, 7 Nov 2025 00:02:17 +0100 Subject: [PATCH] Custom anvil only work on nms menu --- build.gradle.kts | 2 +- .../cuanvil/dependency/gui/ExternGuiTester.kt | 20 ++++++++++++++----- .../{PaperSpigtUtil.kt => PaperSpigotUtil.kt} | 0 3 files changed, 16 insertions(+), 6 deletions(-) rename nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/util/{PaperSpigtUtil.kt => PaperSpigotUtil.kt} (100%) diff --git a/build.gradle.kts b/build.gradle.kts index d991b66..0ef5bda 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,7 +18,7 @@ plugins { } group = "xyz.alexcrea" -version = "1.15.3" +version = "1.15.4" val effectiveVersion = "$version" + (if (System.getenv("SMALL_COMMIT_HASH") != null) "-dev-${System.getenv("SMALL_COMMIT_HASH")!!}" else "") 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 c709954..3079b8a 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 @@ -1,9 +1,14 @@ package xyz.alexcrea.cuanvil.dependency.gui import org.bukkit.inventory.InventoryView +import xyz.alexcrea.cuanvil.dependency.util.PlatformUtil interface ExternGuiTester { + object Const{ + val cannonicalPaperAnvilMenu = "net.minecraft.world.inventory.AnvilMenu" + } + val wesjdAnvilGuiName: String? fun getContainerClass(inventory: InventoryView): Class? @@ -16,12 +21,17 @@ interface ExternGuiTester { val clazz = getContainerClass(inventory) ?: return false val clazzName = clazz.name - //TODO maybe instead of testing non default, better to be testing we are default ? - if (expectWesjd(clazzName)) return true - if (expectXenondevUI(clazzName)) return true - if (expectVanePortal(clazzName)) return true + if(!PlatformUtil.isPaper){ + // Blacklist gui causing issue + if (expectWesjd(clazzName)) return true + if (expectXenondevUI(clazzName)) return true + if (expectVanePortal(clazzName)) return true - return false + return false + } + + // Only allow cannonical anvil menu class + return !Const.cannonicalPaperAnvilMenu.equals(clazzName, true) } fun expectWesjd(name: String): Boolean { diff --git a/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/util/PaperSpigtUtil.kt b/nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/util/PaperSpigotUtil.kt similarity index 100% rename from nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/util/PaperSpigtUtil.kt rename to nms/nms-common/src/main/kotlin/xyz/alexcrea/cuanvil/dependency/util/PaperSpigotUtil.kt