KxmischesDomi / MoreAxolotls

Adds many new realistic axolotl types
https://www.curseforge.com/minecraft/mc-mods/more-axolotls
Other
2 stars 0 forks source link

Incompatible with MAVM #15

Closed m0thknight closed 1 year ago

m0thknight commented 1 year ago

Game crashes when loading in a mavm axolotl. When I went to the issues page on mavm i found someone had already made a report of this and the owner of mavm said it was an incompatibility with more axolotls. heres my crash report: crash-2023-03-07_12.22.46-client.txt And heres the link to the issue being posted on mavm: https://github.com/AkashiiKun/MoreAxolotlVariantsMod-Common/issues/20

KxmischesDomi commented 1 year ago

‏‎‍‌‌‏‏‏‌‏‏‌‎‍‎‌‌‏‍‏‍‏‍‌‏‌‏‏‏‍‍‍‍‎‍‌‎‍‌‎‌‎‏‌‏‌‍‏‏‏‏‌‏‍‍‌‏‍‏‎‌‎‏‏‏‎‌‍‍‌‎‍‌‌‎‎‍‎‍‍‎‍‌‍‏‌‍‎‍‌‎‌‎‎‌‌‍ image This doesn't look like a incompability on my side tho

KxmischesDomi commented 1 year ago

What code part of my mod exactly is meant to cause this issue? I would like to have some more information about the specific problem

m0thknight commented 1 year ago

I have no idea. creator of mavm was the person who said it was caused by more axolotls. check the comments on the link i sent in my report.

AkashiiKun commented 1 year ago

What code part of my mod exactly is meant to cause this issue? I would like to have some more information about the specific problem

Basically i made an API that changes how variants are handled, you can check out how i do it here: https://github.com/AkashiiKun/MoreAxolotlVariantsAPI-Common/blob/master/Fabric/src/main/java/io/github/akashiikun/mavapi/v1/impl/mixin/AxolotlEntityMixin.java

AkashiiKun commented 1 year ago

Simply i did an API that handles how variants are registered. Instead of using a name, it uses an identifier to prevent different mods adding the same variant name. So, vanilla variants are registered as "minecraft:variantname", mods would register their own names as "namespace:variantname". The issue is that your mod injects at head the texture location method, so basically crashes with my mod due to making the return method on head.

https://github.com/AkashiiKun/MoreAxolotlVariantsAPI-Common/blob/8a15678453281dbbae58c6a5a9622db8f81a7174/Fabric/src/main/java/io/github/akashiikun/mavapi/v1/impl/mixin/AxolotlEntityRendererMixin.java#L43

Meanwhile i inject an tail. Clearly the incompatibility is on MoreAxolotls side.

AkashiiKun commented 1 year ago

Also, pointing out, Modmuss (one of the fabric devs) highly recommended to not use the vanilla namespace for modded variants, reason why i made the API apart of preventing mod incompatibilities due of using the same variant name.

KxmischesDomi commented 1 year ago

Simply i did an API that handles how variants are registered. Instead of using a name, it uses an identifier to prevent different mods adding the same variant name. So, vanilla variants are registered as "minecraft:variantname", mods would register their own names as "namespace:variantname". The issue is that your mod injects at head the texture location method, so basically crashes with my mod due to making the return method on head.

https://github.com/AkashiiKun/MoreAxolotlVariantsAPI-Common/blob/8a15678453281dbbae58c6a5a9622db8f81a7174/Fabric/src/main/java/io/github/akashiikun/mavapi/v1/impl/mixin/AxolotlEntityRendererMixin.java#L43

Meanwhile i inject an tail. Clearly the incompatibility is on MoreAxolotls side.

Imma see what I can do there. I see that completely overwriting the texture as I do now does only create incompabilities. I will see that I only return a texture when I work with one of my axolotls.

I guess that means I will have to touch java and fabric again :/

droodgit commented 1 year ago

I am also experiencing this issue, I'd love to see the two best axolotl mods work together again but I understand it might require some rewriting. Thanks for all the hard work guys!

KxmischesDomi commented 1 year ago

So it should be fixed in the newest changes. I just checked if the axolotl is one of mine and only then set the texture. If that fixes it?

KxmischesDomi commented 1 year ago

Fixed in next release.