|
| 1 | +package com.rappytv.nametagresizer.v1_12_2.mixins; |
| 2 | + |
| 3 | +import com.rappytv.nametagresizer.event.NametagSizeEvent; |
| 4 | +import net.labymod.api.Laby; |
| 5 | +import net.minecraft.client.renderer.EntityRenderer; |
| 6 | +import net.minecraft.client.renderer.GlStateManager; |
| 7 | +import org.spongepowered.asm.mixin.Mixin; |
| 8 | +import org.spongepowered.asm.mixin.Unique; |
| 9 | +import org.spongepowered.asm.mixin.injection.At; |
| 10 | +import org.spongepowered.asm.mixin.injection.Redirect; |
| 11 | + |
| 12 | +@Mixin(EntityRenderer.class) |
| 13 | +public class MixinEntityRenderer { |
| 14 | + |
| 15 | + @Unique |
| 16 | + private static boolean sandbox$isPlayer; |
| 17 | + |
| 18 | + // TODO: Fix isPlayer boolean |
| 19 | +// @Inject(method = "renderNameTag", at = @At("HEAD")) |
| 20 | +// public void renderNameTag(T entity, Component component, PoseStack stack, |
| 21 | +// MultiBufferSource buffer, int light, CallbackInfo ci) { |
| 22 | +// sandbox$isPlayer = entity instanceof Player; |
| 23 | +// } |
| 24 | + |
| 25 | + @Redirect(method = "drawNameplate", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/GlStateManager;scale(FFF)V")) |
| 26 | + private static void scale(float x, float y, float z) { |
| 27 | + NametagSizeEvent event = new NametagSizeEvent(sandbox$isPlayer, x, y, z); |
| 28 | + Laby.fireEvent(event); |
| 29 | + GlStateManager.scale(event.getX(), event.getY(), event.getZ()); |
| 30 | + } |
| 31 | +} |
0 commit comments