Heart-of-the-Machine/dimension-update-fixer

Incompatibility with various mods

Opened this issue · 2 comments

This mods seems to be incompatible with two important mods, namely VanillaFix and Hydrogen.

java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:228)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
	... 8 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	... 10 more
Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of net/fabricmc/loader/launch/knot/KnotClassLoader) previously initiated loading for a different type with name "com/mojang/serialization/MapLike"
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:163)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at com.mojang.serialization.Decoder.unit(Decoder.java:118)
	at net.minecraft.class_2689.<init>(class_2689.java:39)
	at net.minecraft.class_2689$class_2690.method_11668(class_2689.java:154)
	at net.minecraft.class_2248.<init>(class_2248.java:178)
	at net.minecraft.class_2189.<init>(class_2189.java:12)
	at net.minecraft.class_2246.<clinit>(class_2246.java:99)
	at net.minecraft.class_3523.<clinit>(class_3523.java:13)
	at net.minecraft.class_5471.<clinit>(class_5471.java:11)
	at net.minecraft.class_5458.method_30573(class_5458.java:44)
	at net.minecraft.class_5458.method_30566(class_5458.java:75)
	at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
	at net.minecraft.class_5458.<clinit>(class_5458.java:74)
	at net.minecraft.class_2378.<clinit>(class_2378.java:237)
	at net.minecraft.class_2966.method_12851(class_2966.java:42)
	at net.minecraft.client.main.Main.main(Main.java:137)
	... 15 more
Exiting with -1
Process exited with code 255.

Another mod is already fixing the dimension issue where removing a dimension also removes the Nether and the End. You probably don't need this mod in that case.

However, if two mods are attempting to fix this issue, one should get applied and the other shouldn't but the game shouldn't crash. So I'm not sure why this is happening.

Ah, I see. This is happening because VanillaFix is loading DFU while not on the KnotClassLoader, where as my mod must load DFU on the KnowClassLoader in order to apply the fix.