diff --git a/src/main/java/io/github/cpearl0/ctnhcore/mixin/create/ChainConveyorRidingHandlerMixin.java b/src/main/java/io/github/cpearl0/ctnhcore/mixin/create/ChainConveyorRidingHandlerMixin.java new file mode 100644 index 00000000..23e1c227 --- /dev/null +++ b/src/main/java/io/github/cpearl0/ctnhcore/mixin/create/ChainConveyorRidingHandlerMixin.java @@ -0,0 +1,22 @@ +package io.github.cpearl0.ctnhcore.mixin.create; + +import com.simibubi.create.content.kinetics.chainConveyor.ChainConveyorRidingHandler; +import net.minecraft.world.phys.Vec3; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +@Mixin(ChainConveyorRidingHandler.class) +public class ChainConveyorRidingHandlerMixin { + + @Redirect( + method = "clientTick", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/world/phys/Vec3;length()D") + ) + private static double ctnhcore$lengthMixin(Vec3 vec3) { + // 等效于 diff.length() > 8. “5“ 这个数值并非最优值,更小值应该也能起到相似效果. + return vec3.length() - 5; + } +}