
Conflict between crafttweaker and Sophisticated Core
chencd44 opened this issue ยท 10 comments
Conflict between crafttweaker and Sophisticated Core
After adding the Sophisticated Core, CraftTweaker will report an error, but after deletion, it will return to normal
crafttweaker.log
[09:13:34.651][INFO][CraftTweaker-ZenCode]: Compiling and executing scripts
[09:13:34.703][ERROR][CraftTweaker-ZenCode]: Error while registering class: 'net.minecraft.class_2680', this is most likely a compatibility issue:
java.lang.NoClassDefFoundError: net/minecraft/class_702
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.base/java.lang.Class.privateGetPublicMethods(Unknown Source)
at java.base/java.lang.Class.privateGetPublicMethods(Unknown Source)
at java.base/java.lang.Class.getMethods(Unknown Source)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.getMethodsIn(JavaNativeClassConverter.java:283)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillAnnotatedMethods(JavaNativeClassConverter.java:237)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillDefinition(JavaNativeClassConverter.java:177)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.convertClass(JavaNativeClassConverter.java:62)
at org.openzen.zencode.java.module.converters.JavaNativeConverter.addClass(JavaNativeConverter.java:47)
at com.blamejared.crafttweaker.impl.script.scriptrun.natives.CtJavaNativeConverter.addClass(CtJavaNativeConverter.java:42)
at org.openzen.zencode.java.module.JavaNativeModule.addClass(JavaNativeModule.java:87)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadClass(JavaNativeTypeConverter.java:183)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:113)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadAnnotatedType(JavaNativeTypeConverter.java:163)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:111)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:98)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadAnnotatedParameterizedType(JavaNativeTypeConverter.java:138)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:109)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:98)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:85)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:70)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadStoredType(JavaNativeTypeConverter.java:56)
at org.openzen.zencode.java.module.converters.JavaNativeHeaderConverter.getHeader(JavaNativeHeaderConverter.java:110)
at org.openzen.zencode.java.module.converters.JavaNativeHeaderConverter.getHeader(JavaNativeHeaderConverter.java:58)
at org.openzen.zencode.java.module.converters.JavaNativeMemberConverter.asMethod(JavaNativeMemberConverter.java:49)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillAnnotatedMethods(JavaNativeClassConverter.java:243)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillDefinition(JavaNativeClassConverter.java:177)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.convertClass(JavaNativeClassConverter.java:62)
at org.openzen.zencode.java.module.converters.JavaNativeConverter.addClass(JavaNativeConverter.java:47)
at com.blamejared.crafttweaker.impl.script.scriptrun.natives.CtJavaNativeConverter.addClass(CtJavaNativeConverter.java:42)
at org.openzen.zencode.java.module.JavaNativeModule.addClass(JavaNativeModule.java:87)
at org.openzen.zencode.java.module.JavaNativeModule.addGlobals(JavaNativeModule.java:91)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.lambda$createModule$3(DefaultScriptRunModuleConfigurator.java:125)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.createNativeModule(ScriptRunner.java:137)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.lambda$gatherModules$2(ScriptRunner.java:121)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:124)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:105)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.populateModules(DefaultScriptRunModuleConfigurator.java:42)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.gatherModules(ScriptRunner.java:118)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.populateModules(ScriptRunner.java:103)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.initializeEngine(ScriptRunner.java:76)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.run(ScriptRunner.java:67)
at com.blamejared.crafttweaker.impl.script.scriptrun.DecoratedRunKind$DecoratedScriptRunner.run(DecoratedRunKind.java:27)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.executeRun(ScriptRun.java:93)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.execute(ScriptRun.java:58)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.apply(ScriptReloadListener.java:80)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.method_18788(ScriptReloadListener.java:38)
at net.minecraft.class_4080.method_18790(class_4080.java:13)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
at net.minecraft.class_4014.method_18365(class_4014.java:69)
at net.minecraft.class_156.method_43498(class_156.java:950)
at net.minecraft.class_156.method_43499(class_156.java:938)
at net.minecraft.server.Main.main(Main.java:160)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_702
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 61 more
[09:13:34.705][ERROR][CraftTweaker-ZenCode]: Error while registering class: 'com.blamejared.crafttweaker.api.game.Game', this is most likely a compatibility issue:
java.lang.NullPointerException: Cannot invoke "org.openzen.zenscript.codemodel.HighLevelDefinition.isStatic()" because "definition" is null
at org.openzen.zenscript.codemodel.type.GlobalTypeRegistry.getForDefinition(GlobalTypeRegistry.java:101)
at org.openzen.zenscript.codemodel.type.GlobalTypeRegistry.getForDefinition(GlobalTypeRegistry.java:97)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadClass(JavaNativeTypeConverter.java:190)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:113)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadAnnotatedType(JavaNativeTypeConverter.java:163)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:111)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:98)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadAnnotatedParameterizedType(JavaNativeTypeConverter.java:138)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:109)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:98)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:85)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadType(JavaNativeTypeConverter.java:70)
at org.openzen.zencode.java.module.converters.JavaNativeTypeConverter.loadStoredType(JavaNativeTypeConverter.java:56)
at org.openzen.zencode.java.module.converters.JavaNativeHeaderConverter.getHeader(JavaNativeHeaderConverter.java:110)
at org.openzen.zencode.java.module.converters.JavaNativeHeaderConverter.getHeader(JavaNativeHeaderConverter.java:58)
at org.openzen.zencode.java.module.converters.JavaNativeMemberConverter.asMethod(JavaNativeMemberConverter.java:49)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillAnnotatedMethods(JavaNativeClassConverter.java:243)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.fillDefinition(JavaNativeClassConverter.java:177)
at org.openzen.zencode.java.module.converters.JavaNativeClassConverter.convertClass(JavaNativeClassConverter.java:62)
at org.openzen.zencode.java.module.converters.JavaNativeConverter.addClass(JavaNativeConverter.java:47)
at com.blamejared.crafttweaker.impl.script.scriptrun.natives.CtJavaNativeConverter.addClass(CtJavaNativeConverter.java:42)
at org.openzen.zencode.java.module.JavaNativeModule.addClass(JavaNativeModule.java:87)
at org.openzen.zencode.java.module.JavaNativeModule.addGlobals(JavaNativeModule.java:91)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.lambda$createModule$3(DefaultScriptRunModuleConfigurator.java:125)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.createNativeModule(ScriptRunner.java:137)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.lambda$gatherModules$2(ScriptRunner.java:121)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:124)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:105)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.populateModules(DefaultScriptRunModuleConfigurator.java:42)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.gatherModules(ScriptRunner.java:118)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.populateModules(ScriptRunner.java:103)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.initializeEngine(ScriptRunner.java:76)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.run(ScriptRunner.java:67)
at com.blamejared.crafttweaker.impl.script.scriptrun.DecoratedRunKind$DecoratedScriptRunner.run(DecoratedRunKind.java:27)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.executeRun(ScriptRun.java:93)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.execute(ScriptRun.java:58)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.apply(ScriptReloadListener.java:80)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.method_18788(ScriptReloadListener.java:38)
at net.minecraft.class_4080.method_18790(class_4080.java:13)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
at net.minecraft.class_4014.method_18365(class_4014.java:69)
at net.minecraft.class_156.method_43498(class_156.java:950)
at net.minecraft.class_156.method_43499(class_156.java:938)
at net.minecraft.server.Main.main(Main.java:160)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
[09:13:34.706][ERROR][CraftTweaker-ZenCode]: Execution for loader 'crafttweaker' completed with an error
java.lang.NullPointerException: Cannot invoke "org.openzen.zenscript.codemodel.HighLevelDefinition.getNumberOfGenericParameters()" because "definition" is null
at org.openzen.zenscript.codemodel.type.GlobalTypeRegistry.getForMyDefinition(GlobalTypeRegistry.java:84)
at org.openzen.zencode.java.module.converters.JavaNativeGlobalConverter.addGlobal(JavaNativeGlobalConverter.java:47)
at org.openzen.zencode.java.module.JavaNativeModule.addGlobals(JavaNativeModule.java:92)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.lambda$createModule$3(DefaultScriptRunModuleConfigurator.java:125)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.createNativeModule(ScriptRunner.java:137)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.lambda$gatherModules$2(ScriptRunner.java:121)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:124)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:105)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.populateModules(DefaultScriptRunModuleConfigurator.java:42)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.gatherModules(ScriptRunner.java:118)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.populateModules(ScriptRunner.java:103)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.initializeEngine(ScriptRunner.java:76)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.run(ScriptRunner.java:67)
at com.blamejared.crafttweaker.impl.script.scriptrun.DecoratedRunKind$DecoratedScriptRunner.run(DecoratedRunKind.java:27)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.executeRun(ScriptRun.java:93)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.execute(ScriptRun.java:58)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.apply(ScriptReloadListener.java:80)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.method_18788(ScriptReloadListener.java:38)
at net.minecraft.class_4080.method_18790(class_4080.java:13)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
at net.minecraft.class_4014.method_18365(class_4014.java:69)
at net.minecraft.class_156.method_43498(class_156.java:950)
at net.minecraft.class_156.method_43499(class_156.java:938)
at net.minecraft.server.Main.main(Main.java:160)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
[09:13:34.706][ERROR][CraftTweaker]: Unable to execute script run
java.lang.NullPointerException: Cannot invoke "org.openzen.zenscript.codemodel.HighLevelDefinition.getNumberOfGenericParameters()" because "definition" is null
at org.openzen.zenscript.codemodel.type.GlobalTypeRegistry.getForMyDefinition(GlobalTypeRegistry.java:84)
at org.openzen.zencode.java.module.converters.JavaNativeGlobalConverter.addGlobal(JavaNativeGlobalConverter.java:47)
at org.openzen.zencode.java.module.JavaNativeModule.addGlobals(JavaNativeModule.java:92)
at java.base/java.util.ArrayList.forEach(Unknown Source)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.lambda$createModule$3(DefaultScriptRunModuleConfigurator.java:125)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.createNativeModule(ScriptRunner.java:137)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.lambda$gatherModules$2(ScriptRunner.java:121)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:124)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.createModule(DefaultScriptRunModuleConfigurator.java:105)
at com.blamejared.crafttweaker.impl.script.scriptrun.DefaultScriptRunModuleConfigurator.populateModules(DefaultScriptRunModuleConfigurator.java:42)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.gatherModules(ScriptRunner.java:118)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.populateModules(ScriptRunner.java:103)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.initializeEngine(ScriptRunner.java:76)
at com.blamejared.crafttweaker.impl.script.scriptrun.runner.ScriptRunner.run(ScriptRunner.java:67)
at com.blamejared.crafttweaker.impl.script.scriptrun.DecoratedRunKind$DecoratedScriptRunner.run(DecoratedRunKind.java:27)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.executeRun(ScriptRun.java:93)
at com.blamejared.crafttweaker.impl.script.scriptrun.ScriptRun.execute(ScriptRun.java:58)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.apply(ScriptReloadListener.java:80)
at com.blamejared.crafttweaker.impl.script.ScriptReloadListener.method_18788(ScriptReloadListener.java:38)
at net.minecraft.class_4080.method_18790(class_4080.java:13)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(Unknown Source)
at net.minecraft.class_4014.method_18365(class_4014.java:69)
at net.minecraft.class_156.method_43498(class_156.java:950)
at net.minecraft.class_156.method_43499(class_156.java:938)
at net.minecraft.server.Main.main(Main.java:160)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
mod
fabric-server-mc.1.20.1-loader.0.15.11-launcher.1.0.1.jar
carpetskyadditions-1.20.1-4.4.1.jar
cloth-config-11.1.118-fabric.jar
CraftTweaker-fabric-1.20.1-14.0.40.jar
fabric-api-0.92.2+1.20.1.jar
fabric-carpet-1.20-1.4.112+v230608.jar
ModernKeyBinding-Fabric-1.20-1.2.1.jar
sophisticatedcore-0.5.109+mc1.20.1-SNAPSHOT-build.81.jar
So I added CraftTweaker and it does not crash, also from your log (please next time put the log in a code block or pastebin or gist)
it looks like it crashes when running a script.
I would need your scripts and precise steps how to use them as I'm unfamiliar with CraftTweaker.
I'm unsure why this does not cause issues on its own, but you are adding a client only class in your common mixins:
BlockStateMixin implements SophisticatedBlockState
SophisticatedBlockState has a method with a parameter asking for a ParticleEngine
ParticleEngine is a client side only class, it doesn't exist in the server jar file
This also affects the BlockMixin class.
So I added CraftTweaker and it does not crash,
This only affects dedicated servers, not single player
I see, didn't even realise I added a client class that way. But that now makes me wonder too why does it not crash on it's own...
Thanks for letting me know, I'll fix that once home.
Yea, that one baffles me, it crashes with CraftTweaker because we loop through all the methods to determine what should be exposed to scripts, I wonder if mixin is doing "smart" to cause it not to crash on its own.
Not forgotten no, just taking a short break.
I recently noticed that I was not motivated to test the mod properly so I decided to do some other things and regain some energy.
I'm really looking forward to solving this problem, I'm creating a modpack with custom crafts and your port of this mod!