From ecbfd7dab0eb18f0a4d9e01bafc63a248aa487dc Mon Sep 17 00:00:00 2001 From: luisc Date: Tue, 23 Nov 2021 15:08:35 -0600 Subject: [PATCH] Fixed some console spam caused by a NullPointerException when checking scriptVisibleToPlayer(player) in ModelMPM --- src/main/java/noppes/npcs/client/model/ModelMPM.java | 8 ++++---- src/main/java/noppes/npcs/entity/EntityNPCInterface.java | 5 +---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/main/java/noppes/npcs/client/model/ModelMPM.java b/src/main/java/noppes/npcs/client/model/ModelMPM.java index f24822fa7..58f35c2bb 100644 --- a/src/main/java/noppes/npcs/client/model/ModelMPM.java +++ b/src/main/java/noppes/npcs/client/model/ModelMPM.java @@ -8,6 +8,7 @@ import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.MathHelper; import noppes.npcs.CustomItems; import noppes.npcs.ModelPartConfig; @@ -295,7 +296,8 @@ public class ModelMPM extends ModelNPCMale{ @Override public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7){ EntityCustomNpc npc = (EntityCustomNpc) par1Entity; - if(npc.scriptInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && Minecraft.getMinecraft().thePlayer.getHeldItem().getItem() != CustomItems.wand) + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + if(npc.scriptInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && (player.getHeldItem() == null || player.getHeldItem().getItem() != CustomItems.wand)) return; if(entityModel != null){ @@ -314,9 +316,7 @@ public class ModelMPM extends ModelNPCMale{ } } else{ - alpha = npc.isInvisible() && !npc.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) ? 0.15f : 1; - if(npc.scriptInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && Minecraft.getMinecraft().thePlayer.getHeldItem().getItem() == CustomItems.wand) - alpha = 0.15f; + alpha = npc.isInvisible() && !npc.isInvisibleToPlayer(player) ? 0.15f : 1; setPlayerData(npc); currentlyPlayerTexture = true; diff --git a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java index 9077b722a..4f674cbe5 100644 --- a/src/main/java/noppes/npcs/entity/EntityNPCInterface.java +++ b/src/main/java/noppes/npcs/entity/EntityNPCInterface.java @@ -1597,10 +1597,7 @@ public abstract class EntityNPCInterface extends EntityCreature implements IEnti @Override public boolean isInvisibleToPlayer(EntityPlayer player){ - if(display.invisibleToList != null && display.invisibleToList.contains(player.getPersistentID())) - return true; - - return display.visible == 1 && (player.getHeldItem() == null || player.getHeldItem().getItem() != CustomItems.wand); + return (scriptInvisibleToPlayer(player) || display.visible == 1) && (player.getHeldItem() == null || player.getHeldItem().getItem() != CustomItems.wand); } public boolean scriptInvisibleToPlayer(EntityPlayer player){