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 {