First-person Model (Forge/Fabric)

First-person Model (Forge/Fabric)

4M Downloads

Compatibility with another mod

ColdIce1605 opened this issue ยท 16 comments

commented

I've tracked the issue down to this mod.
The problem seems to be because this mod doesn't allow the other mod to edit the overzealousness of minecraft skin loader.
Comment from the mod creator:
Another mod is conflicting with Ears' patches to the skin loader that prevent vanilla from overzealously forcing opacity on the skin. (See the wiki for more info)

Please send your client log.

unascribed/Ears#10

commented

This entire code path was removed from this mod, so it's fixed either way.

commented
commented

This mod (the indev/alpha builds) also adds the optional Deadmau5 ears and also removes the too big transparency. Since the other mod seems to do the same, it might cause some issues with the texture. I need to compare how the two mods interact with that to maybe be able to fix this.

commented

Thanks

commented

yep its broken on master just wanted to check that

commented

any news?

commented

Currently stuck with exams. Since the other mod kinda does the same(just in a not vanilla valid way) as this mod it's kinda low prio compared to #86 and cleaning up some other forge issues. So far didn't have time to look into why the 2 mods fix the head layer in incompatible ways.

commented

Since the other mod kinda does the same(just in a not vanilla valid way)

...No. You're the one that is outright overwriting the relevant method with an unconditionally-cancelled @Inject. I have a carefully considered patch that accomplishes something similar, but doesn't conflict with literally anyone else injecting on the same method. You even copy-pasted the implementations of stripAlpha and stripColor meaning that your patch is a total override that is incompatible with everyone.

An acceptable fix that doesn't require a MixinConfigPlugin or weird runtime checks is to just... fix all the overspill. Here's the rectangles for a careful stripAlpha that leaves all unused space available.

This mod (the indev/alpha builds) also adds the optional Deadmau5 ears and also removes the too big transparency. Since the other mod seems to do the same

Ears does not add Deadmau5 ears; it adds custom ears. Unfortunately it uses the same skin region, but this is because I assumed that nobody would want (or indeed, would have at all) the Deadmau5 ears. They're pretty Deadmau5-specific.

commented

As I said, didn't yet look into it(and so far it only created an issue with this one mod). Also the just in a not vanilla valid way was to the fact that the Ears mod uses the skin part reserved for the Deadmau5 ears for "Ears front", making skins/mods incompatible with each other. I will look into making it less destructive/incompatible, but like I said it's a lower priority right now(since it works with all other common mods as far as I know) and I'm busy with exams.

commented

the Ears mod uses the skin part reserved for the Deadmau5 ears for "Ears front", making skins/mods incompatible with each other

...If you add the magic blue pixels to the right place in the skin. The assumption was only Deadmau5 would have the Deadmau5 ears and therefore he just... wouldn't add the pixels. He probably wouldn't even be aware of my mod.

Any mod unconditionally making use of unused regions is going to conflict. It's how it is, there is only so much space in the skin. So you can't do it unconditionally... A lot of skins put palettes, credit, etc in the unused areas too.

commented

I fixed this on my side by suppressing your mixin by class name. If you need a non-transparency-related mixin on the same class, create a new mixin with a different name. Ears removes all overspill in current versions so it will work fine for your usage too. If you're okay with that this can be closed. Also means you don't have to do anything.

commented

I'll test that.

commented

It works on 1.3.0, tho it doesn't seem to work on a self compiled version good enough for me tho.(2.0.0)
@unascribed

commented

It works on 1.3.0, tho it doesn't seem to work on a self compiled version good enough for me tho.(2.0.0)

I don't recommend anyone using the 1.3.0 anymore and honestly, I'll make the 2.0.0 the default probably next week. So it working with 1.3.0 and not 2.0.0 doesn't fix anything.

commented

I only tested this with the latest 2.0.0 alpha on Curse and it works there.

commented

Ok. I'll keep this open since it's still something that should be looked into. Next week I have time again to work on stuff and then I can look into making it more future proof.