BetterEnd

BetterEnd

27M Downloads

[Bug] [Server] BetterEnd crashes on Fabric Loader 0.15.0

pavog opened this issue ยท 8 comments

commented

What happened?

On my server with Fabric 1.20.1 (Loader 0.15.0) I installed:

  • BetterEnd 4.0.10
  • Fabric API 0.91.0 1.20.1
  • Bclib 3.0.13

The server crashes on startup with the following error message:
Suppressed: java.lang.NoSuchFieldError: CLENT_CONFIG

Here is the full server log: https://mclo.gs/AEOrhiK

The problem is that the mod tries to load the variable CLENT_CONFIG which is annotated with @Environment(value = EnvType.CLIENT). See here. This means that it should only be available if the mod is running in a client environment.
However, BetterEnd also loads this variable when running on a server.
With older versions of Fabric loader (0.14.25 for example) this was not a problem.
But in 0.15.0 a bug with this annotation has been fixed that makes this variable now only available in a client environment.
See:

BetterEnd

4.0.10

BCLib

3.0.13

Fabric API

0.91.0

Fabric Loader

0.15.0

Minecraft

1.20.1

Relevant log output

[00:30:43] [main/ERROR]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'bclib'!
	at net.fabricmc.loader.impl.FabricLoaderImpl.lambda$invokeEntrypoints$2(FabricLoaderImpl.java:388) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:386) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.15.0.jar:?]
	at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.15.0.jar:?]
	at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.15.0.jar:?]
	Suppressed: java.lang.NoSuchFieldError: CLENT_CONFIG
		at org.betterx.betterend.config.Configs.<clinit>(Configs.java:22) ~[better-end-4.0.10.jar:?]
		at org.betterx.betterend.registry.EndBlocks.<clinit>(EndBlocks.java:29) ~[better-end-4.0.10.jar:?]
		at org.betterx.betterend.registry.EndBlockEntities.<clinit>(EndBlockEntities.java:17) ~[better-end-4.0.10.jar:?]
		at org.betterx.betterend.BetterEnd.onInitialize(BetterEnd.java:46) ~[better-end-4.0.10.jar:?]
		at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384) ~[fabric-loader-0.15.0.jar:?]
		at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.15.0.jar:?]
		at net.minecraft.server.Main.main(Main.java:112) ~[server-intermediary.jar:?]
		at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.0.jar:?]
		at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.0.jar:?]
		at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.15.0.jar:?]
		at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.15.0.jar:?]
Caused by: java.lang.NoSuchFieldError: CLIENT_CONFIG
	at org.betterx.bclib.registry.PresetsRegistry.register(PresetsRegistry.java:17) ~[bclib-3.0.13.jar:?]
	at org.betterx.bclib.BCLib.onInitialize(BCLib.java:73) ~[bclib-3.0.13.jar:?]
	at net.fabricmc.loader.impl.FabricLoaderImpl.invokeEntrypoints(FabricLoaderImpl.java:384) ~[fabric-loader-0.15.0.jar:?]
	... 6 more

Other Mods

None. Only:
 - bclib-3.0.13.jar
 - better-end-4.0.10.jar
 - fabric-api-0.91.0+1.20.1.jar
commented

+1 to this, this is a occurring issue for multiple server owners.

commented

after "fixing" the issue by commenting out the @Environment(Envtype.CLIENT) in bclib's Configs.java, betterend is not able to find net.minecraft.client.resources.model.UnbakedModel while launching on a server

commented

same

commented

same issue but for me it says CLENT_CONFIG

commented

bump

commented

This seems to be a duplicate of quiqueck/BCLib#136 (comment)

commented

Duplicate of quiqueck/BCLib#136.
Downgrade your Fabric Loader (Fabric Loader is NOT Fabric API) to 0.14.25.

BCLib, which is what Better End / Better Nether depends on (as a library) is currently incompatible with Fabric Loader versions 0.15 and up.
You may either downgrade until fixed officially or make use of a fork that claims to fix the issue so far (use at your own risk)

commented

Duplicate of quiqueck/BCLib#136