diff --git a/src/main/java/noppes/npcs/client/model/part/ModelLegs.java b/src/main/java/noppes/npcs/client/model/part/ModelLegs.java index 068b35e99..191833e04 100644 --- a/src/main/java/noppes/npcs/client/model/part/ModelLegs.java +++ b/src/main/java/noppes/npcs/client/model/part/ModelLegs.java @@ -388,16 +388,15 @@ public class ModelLegs extends ModelScaleRenderer{ } } TintData tintData = entity.display.tintData; - boolean bo = entity.hurtTime <= 0 && entity.deathTime <= 0 && !base.isArmor && - !(tintData.isTintEnabled() && tintData.isGeneralTintEnabled()); - if(bo){ + boolean showColor = !base.isArmor && tintData.processColor(entity.hurtTime > 0 || entity.deathTime > 0); + if(showColor){ float red = (entity.modelData.legParts.color >> 16 & 255) / 255f; float green = (entity.modelData.legParts.color >> 8 & 255) / 255f; float blue = (entity.modelData.legParts.color & 255) / 255f; GL11.glColor4f(red, green, blue, base.alpha); } super.render(par1); - if(bo){ + if(showColor){ GL11.glColor4f(1, 1, 1, base.alpha); } GL11.glPopMatrix(); diff --git a/src/main/java/noppes/npcs/client/model/part/ModelTail.java b/src/main/java/noppes/npcs/client/model/part/ModelTail.java index b18e985e3..2d6a5493e 100644 --- a/src/main/java/noppes/npcs/client/model/part/ModelTail.java +++ b/src/main/java/noppes/npcs/client/model/part/ModelTail.java @@ -183,16 +183,15 @@ public class ModelTail extends ModelScaleRenderer { } } TintData tintData = entity.display.tintData; - boolean bo = entity.hurtTime <= 0 && entity.deathTime <= 0 && !base.isArmor && - !(tintData.isTintEnabled() && tintData.isGeneralTintEnabled()); - if(bo){ + boolean showColor = !base.isArmor && tintData.processColor(entity.hurtTime > 0 || entity.deathTime > 0); + if(showColor){ float red = (color >> 16 & 255) / 255f; float green = (color >> 8 & 255) / 255f; float blue = (color & 255) / 255f; GL11.glColor4f(red, green, blue, base.alpha); } super.render(par1); - if(bo){ + if(showColor){ GL11.glColor4f(1, 1, 1, base.alpha); } } diff --git a/src/main/java/noppes/npcs/client/model/util/ModelPartInterface.java b/src/main/java/noppes/npcs/client/model/util/ModelPartInterface.java index a6913f740..8fffe075a 100644 --- a/src/main/java/noppes/npcs/client/model/util/ModelPartInterface.java +++ b/src/main/java/noppes/npcs/client/model/util/ModelPartInterface.java @@ -61,16 +61,15 @@ public abstract class ModelPartInterface extends ModelRenderer { } } TintData tintData = entity.display.tintData; - boolean bo = entity.hurtTime <= 0 && entity.deathTime <= 0 && !base.isArmor && - !(tintData.isTintEnabled() && tintData.isGeneralTintEnabled()); - if(bo){ + boolean showColor = !base.isArmor && tintData.processColor(entity.hurtTime > 0 || entity.deathTime > 0); + if(showColor){ float red = (color >> 16 & 255) / 255f; float green = (color >> 8 & 255) / 255f; float blue = (color & 255) / 255f; GL11.glColor4f(red, green, blue, base.alpha); } super.render(par1); - if(bo){ + if(showColor){ GL11.glColor4f(1, 1, 1, base.alpha); } } diff --git a/src/main/java/noppes/npcs/controllers/data/TintData.java b/src/main/java/noppes/npcs/controllers/data/TintData.java index 2a109e4d6..b72c867fd 100644 --- a/src/main/java/noppes/npcs/controllers/data/TintData.java +++ b/src/main/java/noppes/npcs/controllers/data/TintData.java @@ -80,4 +80,12 @@ public class TintData { public void setGeneralAlpha(int generalAlpha) { this.generalAlpha = generalAlpha; } + + public boolean processColor(boolean isHurt){ + if(isHurt){ + return (isTintEnabled() && (!isHurtTintEnabled() && !isGeneralTintEnabled())); + } else { + return !(isTintEnabled() && isGeneralTintEnabled()); + } + } }