Lithium (Fabric/NeoForge)

Lithium (Fabric/NeoForge)

36M Downloads

Explosion Optimization Incompatible with Carpet

Spturate opened this issue · 5 comments

commented
commented

Another log

lithium ci build (e61bad1) and carpet 1.21 github release
[13:32:16] [main/INFO]: Loading Minecraft 1.21 with Fabric Loader 0.15.11
[13:32:17] [main/INFO]: Loading 6 mods:
	- carpet 1.4.147+v240613
	- fabricloader 0.15.11
	  \-- mixinextras 0.3.5
	- java 22
	- lithium 0.12.3+git.e61bad1
	- minecraft 1.21
[13:32:17] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/opt/mscs/worlds/jiving-jungi/libraries/net/fabricmc/sponge-mixin/0.13.3+mixin.0.8.5/sponge-mixin-0.13.3+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[13:32:17] [main/INFO]: Compatibility level set to JAVA_17
[13:32:17] [main/INFO]: Loaded configuration file for Lithium: 138 options available, 0 override(s) found
[13:32:18] [main/INFO]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.3.5).
[13:32:22] [main/WARN]: @Redirect conflict. Skipping carpet.mixins.json:Explosion_scarpetEventMixin from mod carpet->@Redirect::onExplosion(Lnet/minecraft/class_243;Lnet/minecraft/class_1297;)F with priority 990, already redirected by lithium.mixins.json:world.explosions.cache_exposure.ExplosionMixin from mod lithium->@Redirect::returnCachedExposure(Lnet/minecraft/class_243;Lnet/minecraft/class_1297;)F with priority 1000
[13:32:22] [main/ERROR]: Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.ExceptionInInitializerError
	at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:472) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) [fabric-loader-0.15.11.jar:?]
	at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) [fabric-server-mc.1.21-loader.0.15.11-launcher.1.0.1.jar:1.0.1]
Caused by: java.lang.ExceptionInInitializerError
	at net.minecraft.class_2358.method_10199(class_2358.java:336) ~[server-intermediary.jar:?]
	at net.minecraft.class_2966.method_12851(class_2966.java:52) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:108) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
	... 4 more
Caused by: net.minecraft.class_148: Lithium Class Analysis
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.hasMethodOverride(ReflectionUtil.java:46) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.isBlockStateEntityTouchable(ReflectionUtil.java:64) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:116) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:113) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at net.minecraft.class_4970$class_4971.initFlags(class_4970.java:2392) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.handler$zno001$lithium$init(class_4970.java:2381) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.method_26200(class_4970.java:872) ~[server-intermediary.jar:?]
	at net.minecraft.class_2246.<clinit>(class_2246.java:1259) ~[server-intermediary.jar:?]
	at net.minecraft.class_2358.method_10199(class_2358.java:336) ~[server-intermediary.jar:?]
	at net.minecraft.class_2966.method_12851(class_2966.java:52) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:108) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
	... 4 more
Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_1927 failed
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3601) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethod(Class.java:2856) ~[?:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.hasMethodOverride(ReflectionUtil.java:23) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.isBlockStateEntityTouchable(ReflectionUtil.java:64) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:116) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:113) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at net.minecraft.class_4970$class_4971.initFlags(class_4970.java:2392) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.handler$zno001$lithium$init(class_4970.java:2381) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.method_26200(class_4970.java:872) ~[server-intermediary.jar:?]
	at net.minecraft.class_2246.<clinit>(class_2246.java:1259) ~[server-intermediary.jar:?]
	at net.minecraft.class_2358.method_10199(class_2358.java:336) ~[server-intermediary.jar:?]
	at net.minecraft.class_2966.method_12851(class_2966.java:52) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:108) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
	... 4 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3601) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethod(Class.java:2856) ~[?:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.hasMethodOverride(ReflectionUtil.java:23) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.isBlockStateEntityTouchable(ReflectionUtil.java:64) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:116) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:113) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at net.minecraft.class_4970$class_4971.initFlags(class_4970.java:2392) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.handler$zno001$lithium$init(class_4970.java:2381) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.method_26200(class_4970.java:872) ~[server-intermediary.jar:?]
	at net.minecraft.class_2246.<clinit>(class_2246.java:1259) ~[server-intermediary.jar:?]
	at net.minecraft.class_2358.method_10199(class_2358.java:336) ~[server-intermediary.jar:?]
	at net.minecraft.class_2966.method_12851(class_2966.java:52) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:108) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
	... 4 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector onExplosion(Lnet/minecraft/class_243;Lnet/minecraft/class_1297;)F in carpet.mixins.json:Explosion_scarpetEventMixin from mod carpet failed injection check, (0/1) succeeded. Scanned 1 target(s). Using refmap fabric-carpet-refmap.json
	at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:468) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1384) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1062) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:402) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:422) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.13.3+mixin.0.8.5.jar:0.13.3+mixin.0.8.5]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.11.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.11.jar:?]
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[?:?]
	at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3601) ~[?:?]
	at java.base/java.lang.Class.getDeclaredMethod(Class.java:2856) ~[?:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.hasMethodOverride(ReflectionUtil.java:23) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.reflection.ReflectionUtil.isBlockStateEntityTouchable(ReflectionUtil.java:64) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:116) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at me.jellysquid.mods.lithium.common.block.BlockStateFlags$6.test(BlockStateFlags.java:113) ~[lithium-fabric-mc1.21-0.12.3+git.e61bad1.jar:?]
	at net.minecraft.class_4970$class_4971.initFlags(class_4970.java:2392) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.handler$zno001$lithium$init(class_4970.java:2381) ~[server-intermediary.jar:?]
	at net.minecraft.class_4970$class_4971.method_26200(class_4970.java:872) ~[server-intermediary.jar:?]
	at net.minecraft.class_2246.<clinit>(class_2246.java:1259) ~[server-intermediary.jar:?]
	at net.minecraft.class_2358.method_10199(class_2358.java:336) ~[server-intermediary.jar:?]
	at net.minecraft.class_2966.method_12851(class_2966.java:52) ~[server-intermediary.jar:?]
	at net.minecraft.server.Main.main(Main.java:108) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?]
	... 4 more
commented

Temporarily solved by disabling the setting in the relase

commented

Enabled the setting again, submitted a PR to carpet a while ago

commented
commented

Workaround: Manually disable lithium's optimization in the lithium.properties file in the config folder by adding the following line to it:
mixin.world.explosions.cache_exposure=false

This mod incompatibility should also be fixed by the above PR to carpet, but it is uncertain when it will be merged.