[Bug] Client attempts to classload Indium with Embeddium installed
Partonetrain opened this issue ยท 2 comments
Describe the bug
Embeddium natively integrates Sodium with Fabric Rendering API. Copycats+ expects Indium and Sodium and attempts to calll Indium classes even if it's not installed
To Reproduce
Steps to reproduce the behavior:
- Install Embeddium and Create Copycats+ (on Fabric)
- Place copycat stone button (possibly more blocks)
- Crash
Expected behavior
No crash
Desktop (please complete the following information):
- Minecraft Version: 1.20.1
- Mod Loader Version: Fabric 0.15.11
- Mod Version: both 2.0.4 and 2.0.5
Crashlog:
java.lang.NoClassDefFoundError: link/infra/indium/renderer/mesh/MutableQuadViewImpl
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.defineClassFwd(KnotClassLoader.java:160)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:355)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at com.copycatsplus.copycats.foundation.copycat.model.fabric.IntermediateMutableQuadView.lambda$create$0(IntermediateMutableQuadView.java:25)
at com.copycatsplus.copycats.compat.Mods.runIfInstalled(Mods.java:84)
at com.copycatsplus.copycats.foundation.copycat.model.fabric.IntermediateMutableQuadView.create(IntermediateMutableQuadView.java:25)
at com.copycatsplus.copycats.foundation.copycat.model.fabric.CopycatModelFabric.lambda$emitBlockQuads$3(CopycatModelFabric.java:183)
at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractRenderContext.lambda$new$1(AbstractRenderContext.java:43)
at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractRenderContext.transform(AbstractRenderContext.java:61)
at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext.renderQuad(AbstractBlockRenderContext.java:112)
at net.fabricmc.fabric.impl.client.indigo.renderer.render.AbstractBlockRenderContext$2.emitDirectly(AbstractBlockRenderContext.java:69)
at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:220)
at net.fabricmc.fabric.impl.client.indigo.renderer.mesh.MutableQuadViewImpl.emit(MutableQuadViewImpl.java:56)
at net.fabricmc.fabric.impl.renderer.VanillaModelEncoder.emitBlockQuads(VanillaModelEncoder.java:65)
at net.minecraft.class_1087.emitBlockQuads(class_1087.java:1041)
at net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel.emitBlockQuads(ForwardingBakedModel.java:51)
at me.pepperbell.continuity.client.model.EmissiveBakedModel.emitBlockQuads(EmissiveBakedModel.java:64)
at net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel.emitBlockQuads(ForwardingBakedModel.java:51)
at me.pepperbell.continuity.client.model.CtmBakedModel.emitBlockQuads(CtmBakedModel.java:46)
at net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel.emitBlockQuads(ForwardingBakedModel.java:51)
at me.pepperbell.continuity.client.model.EmissiveBakedModel.emitBlockQuads(EmissiveBakedModel.java:64)
at com.copycatsplus.copycats.foundation.copycat.model.fabric.CopycatModelFabric.emitBlockQuads(CopycatModelFabric.java:189)
at net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel.emitBlockQuads(ForwardingBakedModel.java:51)
at me.pepperbell.continuity.client.model.CtmBakedModel.emitBlockQuads(CtmBakedModel.java:53)
at net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel.emitBlockQuads(ForwardingBakedModel.java:51)
at me.pepperbell.continuity.client.model.EmissiveBakedModel.emitBlockQuads(EmissiveBakedModel.java:72)
at net.fabricmc.fabric.impl.client.indigo.renderer.render.BlockRenderContext.render(BlockRenderContext.java:79)
at org.embeddedt.embeddium.render.frapi.IndigoBlockRenderContext.renderEmbeddium(IndigoBlockRenderContext.java:156)
at me.jellysquid.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderer.renderModel(BlockRenderer.java:114)
at me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute(ChunkBuilderMeshingTask.java:122)
at me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute(ChunkBuilderMeshingTask.java:50)
at me.jellysquid.mods.sodium.client.render.chunk.compile.executor.ChunkJobTyped.execute(ChunkJobTyped.java:44)
at me.jellysquid.mods.sodium.client.render.chunk.compile.executor.ChunkBuilder$WorkerRunnable.run(ChunkBuilder.java:221)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.ClassNotFoundException: link.infra.indium.renderer.mesh.MutableQuadViewImpl
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
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(ClassLoader.java:525)
... 39 more
Theres a lot of issues between sodium and create so indium is almost a hard requirement for it to function properly and i believe create actually prompts you to install it