From 06d038db33aaaa0ec8b9a5207f0e15563a95519b Mon Sep 17 00:00:00 2001 From: hinyb <40139991+hinyb@users.noreply.github.com> Date: Wed, 6 May 2026 19:44:28 +0800 Subject: [PATCH] fix(appeng): isolate AE2 registration to prevent NoClassDefFoundError --- src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala | 5 ++++- .../thaumicenergistics/ModThaumicEnergistics.scala | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala b/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala index a4af845776..bbcebbc6d2 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala +++ b/src/main/scala/li/cil/oc/integration/appeng/ModAppEng.scala @@ -19,10 +19,13 @@ import net.minecraft.world.World object ModAppEng extends ModProxy { override def getMod = Mods.AppliedEnergistics2 - override def initialize() { + private lazy val lazyRegister = new { AEStackFactory.register[IAEFluidStack](AEFluidStackType.FLUID_STACK_TYPE, ConverterAEFluidStack.convert, ConverterAEFluidStack.parse) AEStackFactory.register[IAEItemStack](AEItemStackType.ITEM_STACK_TYPE, ConverterAEItemStack.convert, ConverterAEItemStack.parse) + } + override def initialize() { + lazyRegister api.IMC.registerWrenchTool("li.cil.oc.integration.appeng.EventHandlerAE2.useWrench") api.IMC.registerWrenchToolCheck("li.cil.oc.integration.appeng.EventHandlerAE2.isWrench") diff --git a/src/main/scala/li/cil/oc/integration/thaumicenergistics/ModThaumicEnergistics.scala b/src/main/scala/li/cil/oc/integration/thaumicenergistics/ModThaumicEnergistics.scala index 317b835971..ffecb076f6 100644 --- a/src/main/scala/li/cil/oc/integration/thaumicenergistics/ModThaumicEnergistics.scala +++ b/src/main/scala/li/cil/oc/integration/thaumicenergistics/ModThaumicEnergistics.scala @@ -8,9 +8,11 @@ import thaumicenergistics.common.storage.{AEEssentiaStack, AEEssentiaStackType} object ModThaumicEnergistics extends ModProxy { override def getMod: Mod = Mods.ThaumicEnergistics - override def initialize(): Unit = { + private lazy val lazyRegister = new { AEStackFactory.register[AEEssentiaStack](AEEssentiaStackType.ESSENTIA_STACK_TYPE, ConvertAEEssentiaStack.convert, ConvertAEEssentiaStack.parse) - + } + override def initialize(): Unit = { + lazyRegister Driver.add(DriverController) Driver.add(DriverBlockInterface) Driver.add(DriverEssentiaExportBus)