Reputation: 1
I have a minecraft mod that implements selenium and jsoup. It works perfectly fine when working in my IDE but when I export it as a shadowJar and ad it to my mod folder Minecraft crashes with exit code 1. I am new to Fabric mod development, so I would appreciate it if someone could help me out.
How I implemented the selenium and jsoup in my build.grandle:
plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'maven-publish'
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
}
dependencies {
implementation "org.jsoup:jsoup:1.15.4"
implementation "org.seleniumhq.selenium:selenium-java:4.8.1"
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:0.74.0+1.19.3"
// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
}
The error Minecraft gives me:
Error loading companion plugin class [net.fabricmc.fabric.impl.client.indigo.IndigoMixinConfigPlugin] for mixin config [fabric-renderer-indigo.mixins.json]. The plugin may be out of date: ClassCastException:class net.fabricmc.fabric.impl.client.indigo.IndigoMixinConfigPlugin cannot be cast to class org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin (net.fabricmc.fabric.impl.client.indigo.IndigoMixinConfigPlugin is in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @429bd883; org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin is in unnamed module of loader 'app')
java.lang.ClassCastException: class net.fabricmc.fabric.impl.client.indigo.IndigoMixinConfigPlugin cannot be cast to class org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin (net.fabricmc.fabric.impl.client.indigo.IndigoMixinConfigPlugin is in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @429bd883; org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin is in unnamed module of loader 'app')
at org.spongepowered.asm.mixin.transformer.PluginHandle.<init>(PluginHandle.java:97)
at org.spongepowered.asm.mixin.transformer.MixinConfig.onSelect(MixinConfig.java:708)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.selectConfigs(MixinProcessor.java:498)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:460)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:438)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:290)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:454)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
12:36:54.465
Mixin apply for mod fabric-crash-report-info-v1 failed fabric-crash-report-info-v1.mixins.json:SystemDetailsMixin from mod fabric-crash-report-info-v1 -> net.minecraft.util.SystemDetails: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException @Shadow method method_37123 in fabric-crash-report-info-v1.mixins.json:SystemDetailsMixin from mod fabric-crash-report-info-v1 was not located in the target class net.minecraft.util.SystemDetails. Using refmap fabric-crash-report-info-v1-refmap.json
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: @Shadow method method_37123 in fabric-crash-report-info-v1.mixins.json:SystemDetailsMixin from mod fabric-crash-report-info-v1 was not located in the target class net.minecraft.util.SystemDetails. Using refmap fabric-crash-report-info-v1-refmap.json
at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachSpecialMethod(MixinPreProcessorStandard.java:436)
at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachShadowMethod(MixinPreProcessorStandard.java:412)
at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attachMethods(MixinPreProcessorStandard.java:340)
at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:299)
at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:277)
at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1289)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:292)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at net.minecraft.util.crash.CrashReport.<init>(CrashReport.java:41)
at net.minecraft.util.crash.CrashReport.initCrashReport(CrashReport.java:227)
at net.minecraft.client.main.Main.main(Main.java:152)
at net.minecraft.client.main.Main.main(Main.java:56)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Upvotes: 0
Views: 1305
Reputation: 1
Ok Someone told me the answerer. Shadow dose some wired things. You can just use looms include implementation("yourDependencyHere");
Updated build.grandle :
plugins {
id 'fabric-loom' version '1.1-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
}
dependencies {
include implementation( "org.jsoup:jsoup:1.15.4")
include implementation( "org.seleniumhq.selenium:selenium-java:4.8.1")
// To change the versions see the gradle.properties file
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
// Fabric API. This is technically optional, but you probably want it anyway.
modImplementation "net.fabricmc.fabric-api:fabric-api:0.74.0+1.19.3"
// Uncomment the following line to enable the deprecated Fabric API modules.
// These are included in the Fabric API production distribution and allow you to update your mod to the latest modules at a later more convenient time.
modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
}
Upvotes: 0