
Incompatibility with Requiem
DavidLokison opened this issue ยท 5 comments
I recently tested FabricShieldLib along with another mod that depends on it in my modded minecraft play. I condensed a crash to an incompatibility between Requiem and FabricShieldLib. The Crash report states an MixinError "Encountered undecorated Accessor [somethingsomething]".
I looked through the source code of both mods and I found a possible source of the problem: both mods are using an LivingEntityAccessor with partially the same invoker methods. This collides with the mixin system.
I recommend managing all Accessors and Invokers with Prefixes like
@Mixin(LivingEntity.class)
public interface LivingEntityAccessor {
@Accessor("activeItemStack")
void fabricshieldlib$setActiveItemStack(ItemStack stack);
@Invoker("blockedByShield")
boolean fabricshieldlib$invokeBlockedByShield(DamageSource source);
@Invoker("damageShield")
void fabricshieldlib$invokeDamageShield(float amount);
@Invoker("takeShieldHit")
void fabricshieldlib$invokeTakeShieldHit(LivingEntity attacker);
}
Unfortunally my minecraft log isn't able to dump the crash report into a file while this error happens. So I have no crash report to share... Don't know why, although it isn't logical that this is related to the problem, when the error doesn't happen, the log dump works just fine...
That's fine I was just hoping I could read through it to get more insight. Thank you for doing the work of coming up with a possible solution. From everything you said when you opened the issue, I imagine adding those prefixes will probably work. Hopefully, I can get this fixed and roll out a bug fix update soon.