Skin overlays only render if a player has one now.

This commit is contained in:
Luis C.M committed 2022-07-03 15:06:37 -05:00
1 parent ac93394983
commit c132bd2fe2
1 file changed
+33 -25
@@ -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;
}
}