CrucibleMC / Crucible

Crucible, a fork of Thermos, is a CraftBukkit and Forge server implementation for 1.7.10, providing the ability to load both Forge mods and Bukkit plugins alongside each other.
https://discord.gg/jWSTJ4d
GNU General Public License v3.0
184 stars 63 forks source link

[BUG] CustomNPCs+ not working because of ASM version #148

Open EverNife opened 7 months ago

EverNife commented 7 months ago

On latests versions of staging the CustomNPCs+ does not work with Crucible, at least not with the script enabled.

crash-report ```java cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: org/openjdk/nashorn/api/scripting/NashornScriptEngine at cpw.mods.fml.common.LoadController.transition(LoadController.java:163) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:561) at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:88) at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:318) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:206) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:644) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.NoClassDefFoundError: org/openjdk/nashorn/api/scripting/NashornScriptEngine at org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory.getScriptEngine(NashornScriptEngineFactory.java:152) at java.scripting/javax.script.ScriptEngineManager.lambda$getEngineBy$2(ScriptEngineManager.java:237) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) at java.base/java.util.stream.Streams$ConcatSpliterator.tryAdvance(Streams.java:723) at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) at java.scripting/javax.script.ScriptEngineManager.getEngineBy(ScriptEngineManager.java:246) at java.scripting/javax.script.ScriptEngineManager.getEngineByName(ScriptEngineManager.java:185) at noppes.npcs.controllers.ScriptController.(ScriptController.java:65) at noppes.npcs.CustomNpcs.load(CustomNpcs.java:122) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:558) ... 5 more Caused by: java.lang.ClassNotFoundException: org.openjdk.nashorn.api.scripting.NashornScriptEngine at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:193) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 42 more Caused by: java.lang.UnsupportedOperationException: NestMember requires ASM7 at org.objectweb.asm.ClassVisitor.visitNestMember(ClassVisitor.java:265) at org.objectweb.asm.ClassReader.accept(ClassReader.java:696) at org.objectweb.asm.ClassReader.accept(ClassReader.java:424) at cpw.mods.fml.common.asm.transformers.DeobfuscationTransformer.transform(DeobfuscationTransformer.java:37) at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:294) at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:177) ... 44 more ```

Teporary solution is to disable the script of customnpcs,

Maybe we have to update the codemod itself?

juanmuscaria commented 6 months ago

This issue is specifically caused by an incomplete port of lwjgl3ify into Crucible. It will be fixed once I get around completing it.