diff --git a/src/main/java/WayofTime/bloodmagic/client/hud/HUDElement.java b/src/main/java/WayofTime/bloodmagic/client/hud/HUDElement.java index cb815f47..3bb369d7 100644 --- a/src/main/java/WayofTime/bloodmagic/client/hud/HUDElement.java +++ b/src/main/java/WayofTime/bloodmagic/client/hud/HUDElement.java @@ -47,7 +47,7 @@ public abstract class HUDElement this.yOffset = yOffsetDefault; } - public void drawTexturedModalRect(int x, int y, int textureX, int textureY, int width, int height) + public void drawTexturedModalRect(double x, double y, double textureX, double textureY, double width, double height) { float f = 0.00390625F; float f1 = 0.00390625F; diff --git a/src/main/java/WayofTime/bloodmagic/client/hud/HUDElementDemonWillAura.java b/src/main/java/WayofTime/bloodmagic/client/hud/HUDElementDemonWillAura.java index 5af58b1d..f8fba873 100644 --- a/src/main/java/WayofTime/bloodmagic/client/hud/HUDElementDemonWillAura.java +++ b/src/main/java/WayofTime/bloodmagic/client/hud/HUDElementDemonWillAura.java @@ -1,16 +1,13 @@ package WayofTime.bloodmagic.client.hud; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; @@ -21,19 +18,12 @@ import WayofTime.bloodmagic.util.Utils; public class HUDElementDemonWillAura extends HUDElement { - protected Map crystalTextures = new HashMap(); protected List barOrder = new ArrayList(); -// private double maxBarSize = 54; - public HUDElementDemonWillAura() { super(5, 5, RenderGameOverlayEvent.ElementType.HOTBAR); - crystalTextures.put(EnumDemonWillType.DEFAULT, new ResourceLocation(Constants.Mod.MODID, "textures/models/DefaultCrystal.png")); - crystalTextures.put(EnumDemonWillType.CORROSIVE, new ResourceLocation(Constants.Mod.MODID, "textures/models/CorrosiveCrystal.png")); - crystalTextures.put(EnumDemonWillType.DESTRUCTIVE, new ResourceLocation(Constants.Mod.MODID, "textures/models/DestructiveCrystal.png")); - crystalTextures.put(EnumDemonWillType.VENGEFUL, new ResourceLocation(Constants.Mod.MODID, "textures/models/VengefulCrystal.png")); - crystalTextures.put(EnumDemonWillType.STEADFAST, new ResourceLocation(Constants.Mod.MODID, "textures/models/SteadfastCrystal.png")); + barOrder.add(EnumDemonWillType.DEFAULT); barOrder.add(EnumDemonWillType.CORROSIVE); barOrder.add(EnumDemonWillType.STEADFAST); @@ -51,52 +41,44 @@ public class HUDElementDemonWillAura extends HUDElement return; } - Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexBuffer = tessellator.getBuffer(); - minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/hud/bars.png")); GlStateManager.color(1.0F, 1.0F, 1.0F); this.drawTexturedModalRect(getXOffset(), getYOffset(), 0, 105 * 2, 80, 46); double maxAmount = Utils.getDemonWillResolution(player); + int i = 0; for (EnumDemonWillType type : barOrder) { + i++; GlStateManager.color(1.0F, 1.0F, 1.0F); -// minecraft.getTextureManager().bindTexture(crystalTextures.get(type)); - double maxBarSize = 26; + minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/hud/bars.png")); + int textureXOffset = (i > 3) ? (i - 3) : (3 - i); + int maxBarSize = 30 - 2 * textureXOffset; double amount = ClientProxy.currentAura == null ? 0 : ClientProxy.currentAura.getWill(type); double ratio = Math.max(Math.min(amount / maxAmount, 1), 0); - double x = getXOffset() + 8 + type.ordinal() * 6; - double y = getYOffset() + 5 + (1 - ratio) * maxBarSize; - double height = maxBarSize * ratio; - double width = 5; + double width = maxBarSize * ratio * 2; + double height = 2; + double x = getXOffset() + 2 * textureXOffset + 10; + double y = getYOffset() + 4 * i + 10; -// vertexBuffer.begin(7, DefaultVertexFormats.POSITION_TEX); -// vertexBuffer.pos((double) (x), (double) (y + height), 0).tex(0, 1).endVertex(); -// vertexBuffer.pos((double) (x + width), (double) (y + height), 0).tex(5d / 16d, 1).endVertex(); -// vertexBuffer.pos((double) (x + width), (double) (y), 0).tex(5d / 16d, 1 - ratio).endVertex(); -// vertexBuffer.pos((double) (x), (double) (y), 0).tex(0, 1 - ratio).endVertex(); -// tessellator.draw(); + double textureX = 2 * textureXOffset + 2 * 42; + double textureY = 4 * i + 220; -// if (player.isSneaking()) -// { -// GlStateManager.pushMatrix(); -// String value = "" + (int) amount; -// GlStateManager.translate(x, (y + height + 4 + value.length() * 3), 0); -// GlStateManager.scale(0.5, 0.5, 1); -// GlStateManager.rotate(-90, 0, 0, 1); -// minecraft.fontRendererObj.drawStringWithShadow("" + (int) amount, 0, 2, 0xffffff); -// GlStateManager.popMatrix(); -// } + this.drawTexturedModalRect(x, y, textureX, textureY, width, height); + + if (player.isSneaking()) + { + GlStateManager.pushMatrix(); + String value = "" + (int) amount; + GlStateManager.translate(x - 2 * textureXOffset - value.length() * 0 + 70, (y - 1), 0); + GlStateManager.scale(0.5, 0.5, 1); + minecraft.fontRendererObj.drawStringWithShadow("" + (int) amount, 0, 2, 0xffffff); + GlStateManager.popMatrix(); + } } - -// minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/gui/demonWillBar.png")); - minecraft.getTextureManager().bindTexture(new ResourceLocation(Constants.Mod.MODID, "textures/hud/bars.png")); - GlStateManager.color(1.0F, 1.0F, 1.0F, 1f); - this.drawTexturedModalRect(getXOffset() + 10, getYOffset() + 14, 42 * 2, 112 * 2, 60, 20); } @Override