Update to 1.21.5!
WifiRouterYT opened this issue · 5 comments
Minecraft version.
1.21.5
Emotecraft version.
2.6.0
Online Emotes version.
3.3.3.1
What happened?
Online emotes unfortunately doesn't launch with 1.21.5. Would love to use this mod :)
Relevant logs
---- Minecraft Crash Report ----
// You're mean.
Time: 2025-05-22 17:09:33
Description: Initializing game
java.lang.RuntimeException: Could not execute entrypoint stage 'client' due to errors, provided by 'online_emotes' at 'org.redlance.dima_dencep.mods.online_emotes.fabric.FabricOnlineEmotes'!
at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:403)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:401)
at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53)
at knot//fudge.notenoughcrashes.fabric.mixinhandlers.ModLoaders.fabricEntrypoints(ModLoaders.java:9)
at knot//net.minecraft.class_310.redirect$cpo000$notenoughcrashes$catchFabricInit(class_310.java:14545)
at knot//net.minecraft.class_310.<init>(class_310.java:473)
at knot//net.minecraft.client.main.Main.main(Main.java:249)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.NoClassDefFoundError: fuzs/forgeconfigapiport/fabric/api/neoforge/v4/NeoForgeConfigRegistry
at knot//org.redlance.dima_dencep.mods.online_emotes.fabric.FabricOnlineEmotes.onInitializeClient(FabricOnlineEmotes.java:25)
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:399)
... 8 more
Caused by: java.lang.ClassNotFoundException: fuzs.forgeconfigapiport.fabric.api.neoforge.v4.NeoForgeConfigRegistry
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
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(Unknown Source)
... 10 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Stacktrace:
at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:403)
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33)
at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:401)
at net.fabricmc.loader.impl.game.minecraft.Hooks.startClient(Hooks.java:53)
at knot//fudge.notenoughcrashes.fabric.mixinhandlers.ModLoaders.fabricEntrypoints(ModLoaders.java:9)
at knot//net.minecraft.class_310.redirect$cpo000$notenoughcrashes$catchFabricInit(class_310.java:14545)
at knot//net.minecraft.class_310.<init>(class_310.java:473)
Additional information
Forge Config API Port is installed so i'm not quite sure why it's crashing with a class not found error
(edit: fixed formatting)
I need a MacBook so I can pass the website the mod was downloaded from in the headers (referer).
This will be implemented in about a week.
If you didn’t get why I need a Mac: Java doesn’t provide that kind of api, so I need to write platform-specific code for both platforms (fuck Linux)
Ah I see, and yes I figured. This was just the way I managed to get it to work for now until a proper fix is available.
I managed to get it compiled and launching with the following changes:
Line 4 of build.gradle from
id "dev.architectury.loom" version "1.9-SNAPSHOT" apply false to id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false (emotecraft is compiled with a newer loom version and the build will fail on an older version)
and changing gradle.properties to look like this:
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx4G
org.gradle.parallel=true
# Properties
minecraft_version = 1.21.5
parchment_version = 2025.04.19
loader_version = 0.16.14
forge_version = 21.5.67-beta
# Mod Properties
mod_version = 3.3.3.2
maven_group = org.redlance.dima_dencep.mods
archives_base_name = online-emotes
# Dependencies
emotecraft_version = 2.6.0-b.build.96
fcapip_version = 21.4.1
velocity_version = 3.4.0-SNAPSHOT
netty_version = 4.1.121.Final
fabric_version = 0.124.2+1.21.5
The only issue I really ran across was that a library that this new version of Emotecraft uses is a snapshot / not released yet, so I had to add it to a local maven repository and add mavenLocal() to build.gradle repositories. I got the latest snapshot jar that it was looking for from this GitHub Actions page: https://github.com/RaphiMC/NoteBlockLib/actions/runs/15190063027 (3.0.1-SNAPSHOT, while the only public release in the maven repo is 3.0.0)
Dirty hack but hey it works! (at least it launches)
NoteBlockLib on a separate maven repository
In addition I plan to make some other changes as you have realized