AlexModGuy / Citadel

A Library containing shared code used throughout most of my projects. Can be considered a continuation of LLibrary, of which this borrows the majority of its source code from.
25 stars 29 forks source link

Using AdvancedModelBox server-side causes crashes with Canary #162

Open GAsplund opened 5 months ago

GAsplund commented 5 months ago

(This issue was found specifically in Rats, but it seems to apply more to Citadel)

Recently, we've been having issues with spawning the rat baron on our server, as it produces the following crash report when spawned/loaded: https://mclo.gs/HHAA7ca

From this report, the following lines are probably the most relevant:

Description: Canary Class Analysis

java.lang.RuntimeException: Attempted to load class com/github/alexthe666/citadel/client/model/AdvancedModelBox for invalid dist DEDICATED_SERVER
[...]
Analyzed class: com.github.alexthe666.rats.server.entity.monster.boss.RatBaronPlane
Analyzed method name: m_5829_
Analyzed method args: [Ljava.lang.Class;@37082eb0

Not having looked too close at the source code, it seems that Canary (Forge port of Lithium) does not like when a class implementing the AdjustsRatTail interface is loaded, due to in turn depending on AdvancedModelBox which it probably thinks is client-only.

Relevant versions: Forge: 47.2.21 Citadel: 2.5.4-1.20.1 Rats: 1.20.1-8.1.2 Canary: mc1.20.1-0.3.3