mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-03-25 13:01:30 +01:00
34 lines
1.3 KiB
Java
34 lines
1.3 KiB
Java
package com.minelittlepony.client.mixin;
|
|
|
|
import net.minecraft.entity.*;
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
|
|
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.CallbackInfo;
|
|
|
|
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
|
|
import com.minelittlepony.client.render.EquineRenderManager.RegistrationHandler;
|
|
import com.minelittlepony.client.render.EquineRenderManager.SyncedPony;
|
|
|
|
@Mixin(PlayerEntity.class)
|
|
abstract class MixinPlayerEntity implements RegistrationHandler {
|
|
private final SyncedPony syncedPony = new SyncedPony();
|
|
|
|
@Override
|
|
public SyncedPony getSyncedPony() {
|
|
return syncedPony;
|
|
}
|
|
|
|
@ModifyReturnValue(method = "getBaseDimensions(Lnet/minecraft/entity/EntityPose;)Lnet/minecraft/entity/EntityDimensions;",
|
|
at = @At("RETURN"))
|
|
private EntityDimensions modifyEyeHeight(EntityDimensions dimensions, EntityPose pose) {
|
|
return getSyncedPony().modifyEyeHeight((PlayerEntity)(Object)this, dimensions, pose);
|
|
}
|
|
|
|
@Inject(method = "tick()V", at = @At("TAIL"))
|
|
private void onTick(CallbackInfo info) {
|
|
getSyncedPony().synchronize((PlayerEntity)(Object)this);
|
|
}
|
|
}
|