Fabric Shield Lib

Fabric Shield Lib

3M Downloads

Incompatibility with Requiem

DavidLokison opened this issue ยท 5 comments

commented

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);
}
commented

should close

commented

Included in 1.4.0

commented

Could you post a Pastebin of the full crash report?

commented

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...

commented

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.