From c132bd2fe2913bb7d0f3e8134168430f34787c68 Mon Sep 17 00:00:00 2001 From: "Luis C.M" Date: Sun, 3 Jul 2022 15:06:37 -0500 Subject: [PATCH] Skin overlays only render if a player has one now. --- .../npcs/client/ClientEventHandler.java | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/main/java/noppes/npcs/client/ClientEventHandler.java b/src/main/java/noppes/npcs/client/ClientEventHandler.java index 9a51c3870..711977ceb 100644 --- a/src/main/java/noppes/npcs/client/ClientEventHandler.java +++ b/src/main/java/noppes/npcs/client/ClientEventHandler.java @@ -58,26 +58,28 @@ public class ClientEventHandler { @SubscribeEvent public void onRenderPlayer(RenderPlayerEvent.Post event) { - try { - Class renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA"); - if (renderPlayerJBRA.isInstance(event.renderer)) - return; - } catch (Exception ignored) {} + if (hasOverlays(event.entityPlayer)) { + try { + Class renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA"); + if (renderPlayerJBRA.isInstance(event.renderer)) + return; + } catch (Exception ignored) {} - if (!(event.renderer instanceof RenderCNPCPlayer)) { - renderCNPCPlayer.tempRenderPartialTicks = event.partialRenderTick; - double d0 = event.entityPlayer.lastTickPosX + (event.entityPlayer.posX - event.entityPlayer.lastTickPosX) * (double)event.partialRenderTick - RenderManager.renderPosX; - double d1 = event.entityPlayer.lastTickPosY + (event.entityPlayer.posY - event.entityPlayer.lastTickPosY) * (double)event.partialRenderTick - RenderManager.renderPosY; - double d2 = event.entityPlayer.lastTickPosZ + (event.entityPlayer.posZ - event.entityPlayer.lastTickPosZ) * (double)event.partialRenderTick - RenderManager.renderPosZ; - float f1 = event.entityPlayer.prevRotationYaw + (event.entityPlayer.rotationYaw - event.entityPlayer.prevRotationYaw) * event.partialRenderTick; + if (!(event.renderer instanceof RenderCNPCPlayer)) { + renderCNPCPlayer.tempRenderPartialTicks = event.partialRenderTick; + double d0 = event.entityPlayer.lastTickPosX + (event.entityPlayer.posX - event.entityPlayer.lastTickPosX) * (double) event.partialRenderTick - RenderManager.renderPosX; + double d1 = event.entityPlayer.lastTickPosY + (event.entityPlayer.posY - event.entityPlayer.lastTickPosY) * (double) event.partialRenderTick - RenderManager.renderPosY; + double d2 = event.entityPlayer.lastTickPosZ + (event.entityPlayer.posZ - event.entityPlayer.lastTickPosZ) * (double) event.partialRenderTick - RenderManager.renderPosZ; + float f1 = event.entityPlayer.prevRotationYaw + (event.entityPlayer.rotationYaw - event.entityPlayer.prevRotationYaw) * event.partialRenderTick; - if (Minecraft.getMinecraft().thePlayer.equals(event.entityPlayer)) { - d0 = 0; - d1 = 0; - d2 = 0; + if (Minecraft.getMinecraft().thePlayer.equals(event.entityPlayer)) { + d0 = 0; + d1 = 0; + d2 = 0; + } + + renderCNPCPlayer.doRender(event.entityPlayer, d0, d1, d2, f1, event.partialRenderTick); } - - renderCNPCPlayer.doRender(event.entityPlayer, d0, d1, d2, f1, event.partialRenderTick); } } @@ -90,19 +92,21 @@ public class ClientEventHandler { @SubscribeEvent public void tryRenderDBC(RenderPlayerEvent.Specials.Post event) { - try { - Class renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA"); - if (!renderPlayerJBRA.isInstance(event.renderer)) - return; - } catch (Exception ignored) {} + if (hasOverlays(event.entityPlayer)) { + try { + Class renderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA"); + if (!renderPlayerJBRA.isInstance(event.renderer)) + return; + } catch (Exception ignored) {} - renderCNPCPlayer.renderDBCModel(event); + renderCNPCPlayer.renderDBCModel(event); + } } @SubscribeEvent public void onClientTick(TickEvent.ClientTickEvent event) { Minecraft mc = Minecraft.getMinecraft(); - if (Client.skinOverlays.containsKey(mc.thePlayer.getUniqueID()) && Client.skinOverlays.get(mc.thePlayer.getUniqueID()).values().size() > 0) { + if (hasOverlays(mc.thePlayer)) { if (mc.thePlayer != null && mc.theWorld != null && !mc.isGamePaused() && event.phase == TickEvent.Phase.END) { renderCNPCPlayer.itemRenderer.updateEquippedItem(); renderCNPCPlayer.updateFovModifierHand(); @@ -112,7 +116,7 @@ public class ClientEventHandler { @SubscribeEvent public void onRenderHand(RenderHandEvent event) { - if (Client.skinOverlays.containsKey(Minecraft.getMinecraft().thePlayer.getUniqueID()) && Client.skinOverlays.get(Minecraft.getMinecraft().thePlayer.getUniqueID()).values().size() > 0) { + if (hasOverlays(Minecraft.getMinecraft().thePlayer)) { GL11.glPushMatrix(); event.setCanceled(true); GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT); @@ -120,4 +124,8 @@ public class ClientEventHandler { GL11.glPopMatrix(); } } + + private boolean hasOverlays(EntityPlayer player) { + return Client.skinOverlays.containsKey(player.getUniqueID()) && Client.skinOverlays.get(player.getUniqueID()).values().size() > 0; + } }