TechReborn / Energy

An Energy API
MIT License
78 stars 13 forks source link

Minecraft Crash With Energy Api #27

Closed mohamedLT closed 1 year ago

mohamedLT commented 1 year ago

I am trying to make a mod that uses this api but when I include it it makes the game crash at launch I have those versions

org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true

minecraft_version=1.19
loader_version=0.14.19

fabric_version=0.58.0+1.19
energy_version=2.3.0

I am using the official Mappings if that makes a difference

and this is what shows in the crash report


[21:25:22] [Render thread/ERROR] (FabricLoader) Minecraft has crashed!
net.fabricmc.loader.impl.FormattedException: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.client.Minecraft
    at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:63) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:464) ~[fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.19.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.19.jar:?]
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.client.Minecraft
    at net.minecraft.client.main.Main.main(Main.java:207) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.19.jar:?]
    ... 3 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NullPointerException [in thread "Render thread"]
    at net.fabricmc.loader.impl.FabricLoaderImpl.isDevelopmentEnvironment(FabricLoaderImpl.java:402) ~[fabric-loader-0.14.19.jar:?]
    at net.minecraft.client.Minecraft.<clinit>(Minecraft.java:250) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:198) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.14.19.jar:?]
    ... 3 more
[21:25:22] [Client Shutdown Thread/ERROR] (Minecraft) Caught previously unhandled exception :
java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.client.Minecraft
    at net.minecraft.client.main.Main$2.run(Main.java:177) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NullPointerException [in thread "Render thread"]
    at net.fabricmc.loader.impl.FabricLoaderImpl.isDevelopmentEnvironment(FabricLoaderImpl.java:402) ~[fabric-loader-0.12.12.jar:?]
    at net.minecraft.client.Minecraft.<clinit>(Minecraft.java:250) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:198) ~[minecraft-merged-project-root-1.19-loom.mappings.1_19.layered+hash.2198-v2.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) ~[fabric-loader-0.12.12.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.12.12.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.12.12.jar:?]
    at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) ~[dev-launch-injector-0.2.1+build.8.jar:?]
Technici4n commented 1 year ago

The error doesn't mention the Energy API, rather a problem with setting up Minecraft itself. You should ask for help on the official Fabric Discord server.

FakeDomi commented 1 year ago

You need to disable transitive dependency resolution if you want to develop with Reborn Energy in 1.19:

include modApi("teamreborn:energy:${project.reborn_energy_version}") {
    transitive = false
}
FakeDomi commented 1 year ago

@Technici4n maybe update the readme so the include snippet works for older versions too?

Technici4n commented 1 year ago

I don't see why the provided snippet doesn't work?

FakeDomi commented 1 year ago

There's a conflict with fabric loader as well. When I let Gradle handle your dependencies, I'm getting the same crash as OP.

Technici4n commented 1 year ago

Done, thanks