Fluidlogged API

Fluidlogged API

356k Downloads

Incompatible with chiseled me

freopt opened this issue ยท 6 comments

commented

Describe the bug
Game crashes on startup with both Fluidlogged API and chiseled me installed

Logs
https://gist.github.com/freopt/f6b4dcc8660642d197438a6d69a82f8d

commented

The problem is Fluidlogging API overwriting World#rayTraceBlocks when Chiseled me is just performing a @ModifyVariable

commented

The fix has to be done from their side I believe

commented

just learned that @Mixins have a priority system, so now I'm pretty sure I can just embed its fix into mine & set mine to happen after chiseled me, which should fix the problem

commented

I'm pretty sure I can just embed its fix into mine & set mine to happen after chiseled me, which should fix the problem

I encountered the same crash even when my mixin has a later priority, error in case anyone's curious:

[main/FATAL] [mixin]: Mixin apply failed chiseled-me.mixins.json:WorldMixin -> net.minecraft.world.World: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException @At("STORE" ordinal=-1 index=-1) on net/minecraft/world/World::rayTraceBlocks with priority 1000 cannot inject into net/minecraft/world/World::func_147447_a(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;ZZZ)Lnet/minecraft/util/math/RayTraceResult; merged by git.jbredwards.fluidlogged_api.mod.asm.mixins.vanilla.world.MixinWorld with priority 10000 [PREINJECT Applicator Phase -> chiseled-me.mixins.json:WorldMixin -> Prepare Injections ->  -> localvar$zzg000$rayTraceBlocks(Lnet/minecraft/util/math/RayTraceResult;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;ZZZ)Lnet/minecraft/util/math/RayTraceResult; -> Prepare]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @At("STORE" ordinal=-1 index=-1) on net/minecraft/world/World::rayTraceBlocks with priority 1000 cannot inject into net/minecraft/world/World::func_147447_a(Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;ZZZ)Lnet/minecraft/util/math/RayTraceResult; merged by git.jbredwards.fluidlogged_api.mod.asm.mixins.vanilla.world.MixinWorld with priority 10000 [PREINJECT Applicator Phase -> chiseled-me.mixins.json:WorldMixin -> Prepare Injections ->  -> localvar$zzg000$rayTraceBlocks(Lnet/minecraft/util/math/RayTraceResult;Lnet/minecraft/util/math/Vec3d;Lnet/minecraft/util/math/Vec3d;ZZZ)Lnet/minecraft/util/math/RayTraceResult; -> Prepare]

Closing this, as it seems that the fix does have to applied from chiseled me's side after all

commented

It's just mixin straight up doesn't support several mixins for the same methods if someone with a higher/same priority does an @Overwrite, @Redirect or @ModifyConstant

commented

fixed in v1.8.0