package com.smithy.faithful.mixin; import io.github.apace100.apoli.component.PowerHolderComponent; import net.minecraft.block.PowderSnowBlock; import net.minecraft.entity.Entity; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import com.smithy.faithful.power.CanStandOnPowderSnow; @Mixin(PowderSnowBlock.class) public class PowderSnowBlockMixin { @Inject(method = "canWalkOnPowderSnow", at = @At("HEAD"), cancellable = true) private static void terraoriginum$canStandOnPowderSnow(Entity entity, CallbackInfoReturnable cir) { for (CanStandOnPowderSnow canStandOnPowderSnowPower : PowerHolderComponent.getPowers(entity, CanStandOnPowderSnow.class)) { if (canStandOnPowderSnowPower.isActive()) { cir.setReturnValue(true); return; } } } }