Hud color changes depending on current charge
This commit is contained in:
parent
22d018efb3
commit
1b20c3fcb0
1 changed files with 25 additions and 2 deletions
|
@ -2,7 +2,9 @@ package techreborn.client.hud;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import codechicken.lib.colour.ColourARGB;
|
||||||
import techreborn.config.ConfigTechReborn;
|
import techreborn.config.ConfigTechReborn;
|
||||||
|
import techreborn.util.Color;
|
||||||
import ic2.api.item.ElectricItem;
|
import ic2.api.item.ElectricItem;
|
||||||
import ic2.api.item.IElectricItem;
|
import ic2.api.item.IElectricItem;
|
||||||
import ic2.api.item.IElectricItemManager;
|
import ic2.api.item.IElectricItemManager;
|
||||||
|
@ -14,6 +16,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.gui.ScaledResolution;
|
import net.minecraft.client.gui.ScaledResolution;
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
import net.minecraft.client.renderer.RenderHelper;
|
||||||
|
import net.minecraft.client.renderer.entity.RenderItem;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
@ -39,18 +42,38 @@ public class ChargeHud
|
||||||
public void drawChargeHud(ScaledResolution res)
|
public void drawChargeHud(ScaledResolution res)
|
||||||
{
|
{
|
||||||
EntityPlayer player = mc.thePlayer;
|
EntityPlayer player = mc.thePlayer;
|
||||||
ItemStack stack = player.getCurrentArmor(2);;
|
ItemStack stack = player.getCurrentArmor(2);
|
||||||
if(stack != null)
|
if(stack != null)
|
||||||
{
|
{
|
||||||
if((stack.getItem() instanceof IElectricItem) && ConfigTechReborn.ShowChargeHud)
|
if((stack.getItem() instanceof IElectricItem) && ConfigTechReborn.ShowChargeHud)
|
||||||
{
|
{
|
||||||
double MaxCharge = ((IElectricItem) stack.getItem()).getMaxCharge(stack);
|
double MaxCharge = ((IElectricItem) stack.getItem()).getMaxCharge(stack);
|
||||||
double CurrentCharge = ElectricItem.manager.getCharge(stack);
|
double CurrentCharge = ElectricItem.manager.getCharge(stack);
|
||||||
|
Color color = Color.GREEN;
|
||||||
|
double quarter = MaxCharge / 4;
|
||||||
|
double half = MaxCharge / 2;
|
||||||
|
double threeQuarters = MaxCharge / 4 * 3;
|
||||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
GL11.glEnable(32826);
|
GL11.glEnable(32826);
|
||||||
RenderHelper.enableStandardItemLighting();
|
RenderHelper.enableStandardItemLighting();
|
||||||
RenderHelper.enableGUIStandardItemLighting();
|
RenderHelper.enableGUIStandardItemLighting();
|
||||||
mc.fontRenderer.drawString(Double.toString(CurrentCharge) + "/" + Double.toString(MaxCharge), 0, 0, 0);
|
//Render the stack
|
||||||
|
RenderItem.getInstance().renderItemAndEffectIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, 0);
|
||||||
|
RenderItem.getInstance().renderItemOverlayIntoGUI(mc.fontRenderer, mc.renderEngine, stack, 0, 0);
|
||||||
|
//Render Overlay
|
||||||
|
if(CurrentCharge <= threeQuarters)
|
||||||
|
{
|
||||||
|
color = Color.YELLOW;
|
||||||
|
}
|
||||||
|
if(CurrentCharge <= half)
|
||||||
|
{
|
||||||
|
color = Color.RED;
|
||||||
|
}
|
||||||
|
if(CurrentCharge <= quarter)
|
||||||
|
{
|
||||||
|
color = Color.DARK_RED;
|
||||||
|
}
|
||||||
|
mc.fontRenderer.drawString(color + Double.toString(CurrentCharge) + "/" + Double.toString(MaxCharge), 20, 5, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue