Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.polyfrost.frozen.features.misc;
- import cc.polyfrost.oneconfig.libs.universal.UGraphics;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.entity.EntityPlayerSP;
- import net.minecraft.client.model.ModelPlayer;
- import net.minecraft.client.renderer.GlStateManager;
- import net.minecraftforge.client.event.RenderPlayerEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import org.polyfrost.frozen.config.Config;
- public class PlayerRenderer {
- private void renderPlayer(RenderPlayerEvent e) {
- float pt = e.partialRenderTick;
- EntityPlayerSP player = Minecraft.getMinecraft().thePlayer;
- ModelPlayer model = e.renderer.getMainModel();
- float bodyYaw = lerp(player.prevRenderYawOffset, player.renderYawOffset, pt);
- float headYaw = clamp180(lerp(player.prevRotationYawHead, player.rotationYawHead, pt) - bodyYaw);
- float pitch = lerp(player.prevRotationPitch, player.rotationPitch, pt);
- GlStateManager.pushMatrix();
- GlStateManager.enableRescaleNormal();
- GlStateManager.enableAlpha();
- GlStateManager.disableLighting();
- GlStateManager.enableBlend();
- GlStateManager.scale(Config.playerScale, Config.playerScale, Config.playerScale);
- GlStateManager.translate(0, 0.24, 0);
- GlStateManager.rotate(-bodyYaw, 0, 1, 0);
- Minecraft.getMinecraft().getTextureManager().bindTexture(player.getLocationSkin());
- model.render(player, player.limbSwing, player.limbSwingAmount, player.getAge() + pt, -limit90(headYaw), pitch, -0.01F);
- GlStateManager.disableBlend();
- GlStateManager.disableAlpha();
- GlStateManager.enableLighting();
- GlStateManager.popMatrix();
- }
- @SubscribeEvent
- public void onEntityRenderPre(RenderPlayerEvent.Pre e) {
- if (!Config.customPlayerScale || e.entity != Minecraft.getMinecraft().thePlayer) return;
- GlStateManager.pushMatrix();
- GlStateManager.translate(0, -500, 0);
- }
- @SubscribeEvent
- public void onEntityRenderPost(RenderPlayerEvent.Post e) {
- if (!Config.customPlayerScale || e.entity != Minecraft.getMinecraft().thePlayer) return;
- GlStateManager.popMatrix();
- renderPlayer(e);
- }
- private float lerp (float a, float b, float t) {return a + (b - a) * t;}
- private float clamp180 (float a) { return ((a + 180) % 360 + 360) % 360 - 180;}
- private float limit90 (float a) { return Math.max(-90, Math.min(90, a));}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement