-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
Hey, I've been trying to integrate Mocha into a multi-loader project. However when it's jar-jar'ed it causes a crash on NeoForge when used outside of dev:
java.util.concurrent.CompletionException: java.lang.IllegalAccessError: superinterface check failed: class team.unnamed.mocha.runtime.MolangFunctionImpl_ModifyIntFunction_modify_1989fe5dc32_5da (in module mocha) cannot access class net.threetag.palladium.client.variable.IntegerPathVariable$ModifyIntFunction (in module palladium) because module mocha does not read module palladium
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source) ~[?:?]
at TRANSFORMER/minecraft@1.21.8/net.minecraft.server.packs.resources.SimpleReloadInstance.lambda$prepareTasks$0(SimpleReloadInstance.java:65) ~[client-1.21.8-20250717.133445-srg.jar%23218!/:?]
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.scan(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) ~[?:?]
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) ~[?:?]
Caused by: java.lang.IllegalAccessError: superinterface check failed: class team.unnamed.mocha.runtime.MolangFunctionImpl_ModifyIntFunction_modify_1989fe5dc32_5da (in module mocha) cannot access class net.threetag.palladium.client.variable.IntegerPathVariable$ModifyIntFunction (in module palladium) because module mocha does not read module palladium
at java.base/java.lang.ClassLoader.defineClass0(Native Method) ~[?:?]
at java.base/java.lang.System$2.defineClass(Unknown Source) ~[?:?]
at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass(Unknown Source) ~[?:?]
at java.base/java.lang.invoke.MethodHandles$Lookup$ClassDefiner.defineClass(Unknown Source) ~[?:?]
at java.base/java.lang.invoke.MethodHandles$Lookup.defineClass(Unknown Source) ~[?:?]
at LAYER PLUGIN/org.javassist@3.30.2-GA/javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:295) ~[javassist-3.30.2-GA.jar%23242!/:?]
at LAYER PLUGIN/org.javassist@3.30.2-GA/javassist.util.proxy.DefineClassHelper$Java11.defineClass(DefineClassHelper.java:48) ~[javassist-3.30.2-GA.jar%23242!/:?]
at LAYER PLUGIN/org.javassist@3.30.2-GA/javassist.util.proxy.DefineClassHelper.toClass(DefineClassHelper.java:260) ~[javassist-3.30.2-GA.jar%23242!/:?]
at LAYER PLUGIN/org.javassist@3.30.2-GA/javassist.ClassPool.toClass(ClassPool.java:1240) ~[javassist-3.30.2-GA.jar%23242!/:?]
at LAYER PLUGIN/mocha@3.0.1/team.unnamed.mocha.runtime.MolangCompiler.compile(MolangCompiler.java:291) ~[mocha-3.0.1.jar%23239!/:?]
at LAYER PLUGIN/mocha@3.0.1/team.unnamed.mocha.MochaEngineImpl.compile(MochaEngineImpl.java:186) ~[mocha-3.0.1.jar%23239!/:?]
at LAYER PLUGIN/mocha@3.0.1/team.unnamed.mocha.MochaEngine.compile(MochaEngine.java:254) ~[mocha-3.0.1.jar%23239!/:?]
at TRANSFORMER/palladium@5.0.0/net.threetag.palladium.client.variable.IntegerPathVariable.<init>(IntegerPathVariable.java:22) ~[palladium-neoforge-1.21.8.jar%23224!/:?]
at TRANSFORMER/palladium@5.0.0/net.threetag.palladium.client.variable.EntityTickCountVariable.<init>(EntityTickCountVariable.java:16) ~[palladium-neoforge-1.21.8.jar%23224!/:?]
Did some digging and experimenting, and the problem is fixed when the following is added to Mocha's MANIFEST.MF:
FMLModType: GAMELIBRARY
Would it be possible to get built in?
Thanks in advance!
Metadata
Metadata
Assignees
Labels
No labels