Null Checks

This commit is contained in:
Kam committed 2025-02-10 22:00:50 -05:00
1 parent 097f1f9d1d
commit 88790cd207
2 files changed
+46 -24

No files matched your search

@@ -26,6 +26,8 @@ import org.lwjgl.util.glu.Project;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Map;
import java.util.UUID;
public class RenderCNPCPlayer extends RenderPlayer {
public static boolean hasMPM = false;
@@ -286,36 +288,56 @@ public class RenderCNPCPlayer extends RenderPlayer {
}
}
public void renderFirstPersonArmOverlay(EntityPlayer player)
{
float gender = -1;
public void renderFirstPersonArmOverlay(EntityPlayer player) {
// Check if player or model is null
if (player == null || this.modelBipedMain == null) {
return;
}
float gender = -1F;
try {
Class<?> RenderPlayerJBRA = Class.forName("JinRyuu.JBRA.RenderPlayerJBRA");
gender = (float) RenderPlayerJBRA.getMethod("genGet").invoke(null);
} catch (Exception ignored) {}
if (ClientCacheHandler.skinOverlays.containsKey(player.getUniqueID())) {
for (SkinOverlay overlayData : ClientCacheHandler.skinOverlays.get(player.getUniqueID()).values()) {
if (((SkinOverlay)overlayData).texture.isEmpty())
continue;
// Check if the skinOverlays map exists for this player's UUID
UUID uuid = player.getUniqueID();
if (uuid == null || !ClientCacheHandler.skinOverlays.containsKey(uuid)) {
return;
}
ImageData imageData = ClientCacheHandler.getImageData(((SkinOverlay)overlayData).texture);
if (!imageData.imageLoaded())
continue;
if (!this.preRenderOverlay(overlayData, player))
continue;
if (gender >= 2.0F) {
GL11.glRotatef(7F, 0, 0, 1);
GL11.glTranslatef(0.015F, 0.0375F, -0.0025F);
}
this.modelBipedMain.onGround = 0.0F;
this.modelBipedMain.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, player);
this.modelBipedMain.bipedRightArm.render(0.0625F);
postRenderOverlay();
Map<Integer, SkinOverlay> overlayMap = ClientCacheHandler.skinOverlays.get(uuid);
if (overlayMap == null || overlayMap.isEmpty()) {
return;
}
// Iterate through each SkinOverlay safely
for (SkinOverlay overlayData : overlayMap.values()) {
if (overlayData == null || overlayData.texture == null || overlayData.texture.isEmpty()) {
continue;
}
ImageData imageData = ClientCacheHandler.getImageData(overlayData.texture);
if (imageData == null || !imageData.imageLoaded()) {
continue;
}
// Check your preRenderOverlay return
if (!this.preRenderOverlay(overlayData, player)) {
continue;
}
// Adjust arm rendering for gender if needed
if (gender >= 2.0F) {
GL11.glRotatef(7F, 0, 0, 1);
GL11.glTranslatef(0.015F, 0.0375F, -0.0025F);
}
// Render the arm
this.modelBipedMain.onGround = 0.0F;
this.modelBipedMain.setRotationAngles(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, player);
this.modelBipedMain.bipedRightArm.render(0.0625F);
postRenderOverlay();
}
}