LeashedPlayer/src/main/java/com/r3944realms/leashedplayer/mixin/client/MixinEntityRenderer.java
2024-09-03 18:18:28 +08:00

30 lines
1.1 KiB
Java

package com.r3944realms.leashedplayer.mixin.client;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(EntityRenderer.class)
public abstract class MixinEntityRenderer {
@Redirect(
method = {"renderLeash"},
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/entity/Entity;getLeashOffset(F)Lnet/minecraft/world/phys/Vec3;"
)
)
private @NotNull Vec3 ret(Entity instance, float pPartialTick) {
if(instance instanceof AbstractClientPlayer) {
//为了使拴绳在在第三视角下位于玩家脖子处
return instance.getLeashOffset(pPartialTick).add(0, -0.2, -0.2);
}
return instance.getLeashOffset(pPartialTick);//非实现这个接口则不变
}
}