diff --git a/src/main/java/noppes/npcs/DataDisplay.java b/src/main/java/noppes/npcs/DataDisplay.java index a9459b6ff..f82845bca 100644 --- a/src/main/java/noppes/npcs/DataDisplay.java +++ b/src/main/java/noppes/npcs/DataDisplay.java @@ -43,6 +43,11 @@ public class DataDisplay { public float poweredTranslateY = 0.01F; public float poweredTranslateZ = 0.0F; + public float poweredRed = 1.0F; + public float poweredGreen = 1.0F; + public float poweredBlue = 1.0F; + public float poweredAlpha = 1.0F; + public int visible = 0; //0:visible 1:Invisible 2:semi-invisible public int modelSize = 5; @@ -114,6 +119,11 @@ public class DataDisplay { nbttagcompound.setFloat("PoweredY",poweredTranslateY); nbttagcompound.setFloat("PoweredZ",poweredTranslateZ); + nbttagcompound.setFloat("PoweredRed",poweredRed); + nbttagcompound.setFloat("PoweredGreen",poweredGreen); + nbttagcompound.setFloat("PoweredBlue",poweredBlue); + nbttagcompound.setFloat("PoweredAlpha",poweredAlpha); + if (this.playerProfile != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); @@ -171,6 +181,10 @@ public class DataDisplay { poweredTranslateX = nbttagcompound.getFloat("PoweredX"); poweredTranslateY = nbttagcompound.getFloat("PoweredY"); poweredTranslateZ = nbttagcompound.getFloat("PoweredZ"); + poweredRed = nbttagcompound.getFloat("PoweredRed"); + poweredGreen = nbttagcompound.getFloat("PoweredGreen"); + poweredBlue = nbttagcompound.getFloat("PoweredBlue"); + poweredAlpha = nbttagcompound.getFloat("PoweredAlpha"); modelSize = ValueUtil.CorrectInt(nbttagcompound.getInteger("Size"), 1, Integer.MAX_VALUE); modelType = nbttagcompound.getInteger("modelType"); diff --git a/src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java b/src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java index c7c82f5d4..965475a82 100644 --- a/src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java +++ b/src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java @@ -117,8 +117,13 @@ public class RenderCustomNpc extends RenderNPCHumanMale{ this.setRenderPassModel(this.originalModel); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glEnable(GL11.GL_BLEND); - float f5 = 0.5F; - GL11.glColor4f(f5, f5, f5, 1.0F); + + float f5 = npc.display.poweredRed; + float f6 = npc.display.poweredGreen; + float f7 = npc.display.poweredBlue; + float f8 = npc.display.poweredAlpha; + GL11.glColor4f(f5, f6, f7, f8); + GL11.glDisable(GL11.GL_LIGHTING); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); return 1; diff --git a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java index 355fece03..f3e554d8e 100644 --- a/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java +++ b/src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java @@ -267,8 +267,13 @@ public class RenderNPCInterface extends RenderLiving{ this.setRenderPassModel(this.originalModel); GL11.glMatrixMode(GL11.GL_MODELVIEW); GL11.glEnable(GL11.GL_BLEND); - float f5 = 0.5F; - GL11.glColor4f(f5, f5, f5, 1.0F); + + float f5 = npc.display.poweredRed; + float f6 = npc.display.poweredGreen; + float f7 = npc.display.poweredBlue; + float f8 = npc.display.poweredAlpha; + GL11.glColor4f(f5, f6, f7, f8); + GL11.glDisable(GL11.GL_LIGHTING); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java index 60bd1d225..63f8b32e4 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java @@ -1032,4 +1032,25 @@ public class ScriptNpc extends ScriptLiving imp public float getPoweredZ() { return npc.display.poweredTranslateZ; } + + public void setPoweredRGBA(float r, float g, float b, float alpha) { + npc.display.poweredRed = r; + npc.display.poweredGreen = g; + npc.display.poweredBlue = b; + npc.display.poweredAlpha = alpha; + npc.updateClient = true; + } + + public float getPoweredR() { + return npc.display.poweredRed; + } + public float getPoweredG() { + return npc.display.poweredGreen; + } + public float getPoweredB() { + return npc.display.poweredBlue; + } + public float getPoweredAlpha() { + return npc.display.poweredAlpha; + } } diff --git a/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java b/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java index 0e36e9253..920e7d418 100644 --- a/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/ICustomNpc.java @@ -713,4 +713,11 @@ public interface ICustomNpc extends IEntityLiving { public float getPoweredX(); public float getPoweredY(); public float getPoweredZ(); + + public void setPoweredRGBA(float r, float g, float b, float alpha); + + public float getPoweredR(); + public float getPoweredG(); + public float getPoweredB(); + public float getPoweredAlpha(); }