From e647bfb286a5cad773d98d2273b37d549397d073 Mon Sep 17 00:00:00 2001 From: Username404-59 Date: Sat, 21 Feb 2026 21:01:13 +0100 Subject: [PATCH] Refactor ForgeInit annotatedButtons again Signed-off-by: Username404-59 --- .../kotlin/fr/username404/snowygui/forge/ForgeInit.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt b/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt index fab3e7a..3d4e7fe 100644 --- a/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt +++ b/neoforge/src/main/kotlin/fr/username404/snowygui/forge/ForgeInit.kt @@ -20,11 +20,13 @@ class ForgeInit(container: ModContainer): Snowy() { .allScanData .flatMap { obj: ModFileScanData -> obj.classes } .filter { data: ModFileScanData.ClassData? -> - data!!.clazz.className.let { - it.startsWith(FEATURE_PACKAGE) && Class.forName(it).isValidForButtonCollection() - } + data!!.clazz.className.startsWith(FEATURE_PACKAGE) + } + .mapNotNull { + Class.forName((it!!.clazz.className), false, this::class.java.classLoader).run { + takeIf { isValidForButtonCollection() } + }?.asSubclass(ButtonImpl::class.java) } - .map { Class.forName((it!!.clazz.className)).asSubclass(ButtonImpl::class.java) } .toSet() init { container.eventBus!!.run {