aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud_2/overlay
diff options
context:
space:
mode:
authorLorenz <ESs95s3P5z8Pheb>2022-07-08 16:12:55 +0200
committerLorenz <ESs95s3P5z8Pheb>2022-07-08 16:12:55 +0200
commit4463c7fa78f886a8abc09e867dd17cde2a685ad4 (patch)
tree9245b4eed7f410f1c168688a77eeda6bfd55c994 /src/main/java/com/thatgravyboat/skyblockhud_2/overlay
parent9e08dbf2baa9819abd281ad285df7462c99491e2 (diff)
downloadskyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.tar.gz
skyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.tar.bz2
skyhanni-4463c7fa78f886a8abc09e867dd17cde2a685ad4.zip
code cleanup
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud_2/overlay')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud_2/overlay/DungeonOverlay.java149
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud_2/overlay/GenericOverlays.java42
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud_2/overlay/MiningHud.java76
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud_2/overlay/OverlayHud.java331
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud_2/overlay/RPGHud.java112
5 files changed, 710 insertions, 0 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/DungeonOverlay.java b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/DungeonOverlay.java
new file mode 100644
index 000000000..b158b004c
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/DungeonOverlay.java
@@ -0,0 +1,149 @@
+//package com.thatgravyboat.skyblockhud.overlay;
+//
+//import at.lorenz.mod.LorenzMod;
+//import com.thatgravyboat.skyblockhud.config.SBHConfig;
+//import com.thatgravyboat.skyblockhud.core.config.Position;
+//import com.thatgravyboat.skyblockhud.dungeons.Classes;
+//import com.thatgravyboat.skyblockhud.dungeons.DungeonHandler;
+//import com.thatgravyboat.skyblockhud.dungeons.DungeonPlayer;
+//import com.thatgravyboat.skyblockhud.handlers.BossbarHandler;
+//import com.thatgravyboat.skyblockhud.location.LocationHandler;
+//import com.thatgravyboat.skyblockhud.location.Locations;
+//import com.thatgravyboat.skyblockhud.textures.Textures;
+//import com.thatgravyboat.skyblockhud.utils.SpecialColour;
+//import com.thatgravyboat.skyblockhud.utils.Utils;
+//import net.minecraft.client.Minecraft;
+//import net.minecraft.client.gui.FontRenderer;
+//import net.minecraft.client.gui.Gui;
+//import net.minecraft.client.gui.ScaledResolution;
+//import net.minecraft.client.renderer.GlStateManager;
+//import net.minecraft.entity.boss.BossStatus;
+//import net.minecraftforge.client.GuiIngameForge;
+//import net.minecraftforge.client.event.RenderGameOverlayEvent;
+//import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+//
+//public class DungeonOverlay extends Gui {
+//
+// private static final FontRenderer font = Minecraft.getMinecraft().fontRendererObj;
+// private static boolean bossBarVisible = false;
+//
+// public void drawDungeonPlayer(String name, int health, boolean isDead, Classes dungeonClass, int x, int y) {
+// if (!LorenzMod.config.dungeon.hideDeadDungeonPlayers || !isDead) {
+// GlStateManager.enableBlend();
+// Minecraft mc = Minecraft.getMinecraft();
+// mc.renderEngine.bindTexture(Textures.texture.dungeon);
+//
+// String healthString = isDead ? "DEAD" : Integer.toString(health);
+// GlStateManager.color(1.0F, 1.0F, 1.0F, (float) LorenzMod.config.dungeon.dungeonPlayerOpacity / 100);
+// drawTexturedModalRect(x, y, 0, dungeonClass.getTextureY(), 120, 32);
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// drawString(font, name, x + 50, y + 6, 0xFFFFFF);
+// drawString(font, healthString, x + 50, y + font.FONT_HEIGHT + 9, 0xFF2B2B);
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// }
+// }
+//
+// public void drawDungeonClock(int width, int offset, Minecraft mc) {
+// GlStateManager.enableBlend();
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int dungeonTime = DungeonHandler.getDungeonTime();
+// int dungeonTimeMin = dungeonTime / 60;
+// int dungeonTimeSec = dungeonTime - dungeonTimeMin * 60;
+// drawTexturedModalRect((width / 2) - 17, offset + (bossBarVisible ? 17 : 0), 0, 0, 34, 34);
+// mc.renderEngine.bindTexture(Textures.texture.dungeon);
+// drawTexturedModalRect((width / 2) - 7, offset + (bossBarVisible ? 20 : 3), 16, 50, 3, 8);
+// drawTexturedModalRect((width / 2) - 7, offset + (bossBarVisible ? 30 : 13), 19, 50, 3, 8);
+// String dungeonTimeElapsed = (dungeonTimeMin > 9 ? String.valueOf(dungeonTimeMin) : "0" + dungeonTimeMin) + ":" + (dungeonTimeSec > 9 ? String.valueOf(dungeonTimeSec) : "0" + dungeonTimeSec);
+// drawCenteredString(font, dungeonTimeElapsed, (width / 2), offset + (bossBarVisible ? 40 : 23), 0xFFFF55);
+// //KEYS
+// drawString(font, (DungeonHandler.hasBloodkey() ? "\u2714" : "x"), (width / 2), offset + (bossBarVisible ? 19 : 2), (DungeonHandler.hasBloodkey() ? 0x55FF55 : 0xAA0000));
+// drawString(font, DungeonHandler.getWitherKeys() + "x", (width / 2), offset + (bossBarVisible ? 30 : 13), 0x555555);
+// //CLEARED PERCENTAGE
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int clearPercent = DungeonHandler.getDungeonCleared();
+// String clearPercentage = "Dungeon Cleared: \u00A7" + (clearPercent <= 20 ? "4" : clearPercent <= 50 ? "6" : clearPercent <= 80 ? "e" : "a") + clearPercent + "%";
+// drawTexturedModalRect((width / 2) + 17, offset + (bossBarVisible ? 20 : 3), 2, 34, font.getStringWidth(clearPercentage) + 3, 14);
+// drawTexturedModalRect(((width / 2) + 17) + font.getStringWidth(clearPercentage) + 3, offset + (bossBarVisible ? 20 : 3), 252, 34, 4, 14);
+// drawString(font, clearPercentage, (width / 2) + 18, offset + (bossBarVisible ? 23 : 6), 0xAAAAAA);
+//
+// //DEATHS
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int deaths = DungeonHandler.getDeaths();
+// String deathText = "Deaths: " + deaths;
+// drawTexturedModalRect((width / 2) + 17, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(deathText) + 3, 14);
+// drawTexturedModalRect(((width / 2) + 17) + font.getStringWidth(deathText) + 3, offset + (bossBarVisible ? 35 : 18), 252, 34, 4, 14);
+// drawString(font, deathText, (width / 2) + 18, offset + (bossBarVisible ? 38 : 21), 0xAAAAAA);
+//
+// //SECRETS
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int maxSecrets = DungeonHandler.getMaxSecrets();
+// int secrets = DungeonHandler.getSecrets();
+// int totalSecrets = DungeonHandler.getTotalSecrets();
+// String secretsText = "Secrets: " + secrets + "/" + maxSecrets + " (" + totalSecrets + ")";
+// drawTexturedModalRect((width / 2) - 17 - (font.getStringWidth(secretsText)) - 4, offset + (bossBarVisible ? 20 : 3), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 17 - (font.getStringWidth(secretsText))) - 2, offset + (bossBarVisible ? 20 : 3), 2, 34, font.getStringWidth(secretsText) + 2, 14);
+// drawString(font, secretsText, (width / 2) - 17 - (font.getStringWidth(secretsText)), offset + (bossBarVisible ? 23 : 6), 0xAAAAAA);
+//
+// //CRYPTS
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int crypts = DungeonHandler.getCrypts();
+// String cryptText = "Crypts: " + crypts;
+// drawTexturedModalRect((width / 2) - 17 - (font.getStringWidth(cryptText)) - 4, offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 17 - (font.getStringWidth(cryptText))) - 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(cryptText) + 2, 14);
+// drawString(font, cryptText, (width / 2) - 17 - (font.getStringWidth(cryptText)), offset + (bossBarVisible ? 38 : 21), 0xAAAAAA);
+// }
+//
+// public void drawUltimateBar(Minecraft mc, ScaledResolution resolution) {
+// if (!LorenzMod.config.dungeon.hideUltimateBar) {
+// float percentage = mc.thePlayer.experience;
+// SBHConfig.DungeonHud dungeonHud = LorenzMod.config.dungeon;
+// Position position = dungeonHud.barPosition;
+//
+// int x = position.getAbsX(resolution, 182);
+// int y = position.getAbsY(resolution, 5);
+//
+// GenericOverlays.drawLargeBar(mc, x - 91, y, percentage, 0.999f, SpecialColour.specialToChromaRGB(dungeonHud.barLoadColor), SpecialColour.specialToChromaRGB(dungeonHud.barFullColor), dungeonHud.barStyle);
+// }
+// }
+//
+// @SubscribeEvent
+// public void renderOverlay(RenderGameOverlayEvent.Post event) {
+// Minecraft mc = Minecraft.getMinecraft();
+// if (Utils.overlayShouldRender(event.type, LorenzMod.hasSkyblockScoreboard(), LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS))) {
+// bossBarVisible = BossStatus.statusBarTime > 0 && GuiIngameForge.renderBossHealth && BossbarHandler.bossBarRendered;
+// GlStateManager.enableBlend();
+// drawUltimateBar(mc, event.resolution);
+//
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// if (!LorenzMod.config.dungeon.hideDungeonPlayers) {
+// int[] hardCodedPos = new int[] { 5, 42, 79, 116 };
+// Position[] positions = new Position[] { LorenzMod.config.dungeon.dungeonPlayer1, LorenzMod.config.dungeon.dungeonPlayer2, LorenzMod.config.dungeon.dungeonPlayer3, LorenzMod.config.dungeon.dungeonPlayer4 };
+// for (int i = 0; i < Math.min(DungeonHandler.getDungeonPlayers().values().size(), 4); i++) {
+// DungeonPlayer player = (DungeonPlayer) DungeonHandler.getDungeonPlayers().values().toArray()[i];
+// int posX;
+// int posY;
+// try {
+// posX = positions[i].getAbsX(event.resolution, 120);
+// } catch (ArrayIndexOutOfBoundsException ignored) {
+// posX = hardCodedPos[i];
+// }
+// try {
+// posY = positions[i].getAbsY(event.resolution, 120);
+// } catch (ArrayIndexOutOfBoundsException ignored) {
+// posY = 0;
+// }
+// drawDungeonPlayer(player.getName(), player.getHealth(), player.isDead(), player.getDungeonClass(), posX, posY);
+// }
+// }
+//
+// if (!LorenzMod.config.main.disaleMainHud) {
+// drawDungeonClock(event.resolution.getScaledWidth(), LorenzMod.config.main.mainHudPos.getAbsY(event.resolution, 34), mc);
+// }
+// }
+// }
+//}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/GenericOverlays.java b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/GenericOverlays.java
new file mode 100644
index 000000000..db773024a
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/GenericOverlays.java
@@ -0,0 +1,42 @@
+//package com.thatgravyboat.skyblockhud.overlay;
+//
+//import at.lorenz.mod.LorenzMod;
+//import com.thatgravyboat.skyblockhud.core.util.render.RenderUtils;
+//import com.thatgravyboat.skyblockhud.textures.Textures;
+//import java.awt.*;
+//import net.minecraft.client.Minecraft;
+//import net.minecraft.client.gui.Gui;
+//import net.minecraft.client.renderer.GlStateManager;
+//
+//public class GenericOverlays extends Gui {
+//
+// public static void drawLargeBar(Minecraft mc, int x, int y, float percentage, float max, int fullColor, int loadingColor, int barStyle) {
+// if (LorenzMod.hasSkyblockScoreboard()) {
+// mc.renderEngine.bindTexture(Textures.texture.bars);
+// Color color = new Color(percentage == max ? fullColor : loadingColor);
+//
+// RenderUtils.drawTexturedModalRect(x, y, 0, 0, 182, 5);
+// GlStateManager.color(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, color.getAlpha() / 255f);
+// RenderUtils.drawTexturedModalRect(x, y, 0, 30, 182, 5);
+// RenderUtils.drawTexturedModalRect(x, y, 0, 5, (int) (182 * percentage), 5);
+// if (barStyle != 0) {
+// RenderUtils.drawTexturedModalRect(x, y, 0, 5 + (barStyle * 5), 182, 5);
+// }
+// }
+// }
+//
+// public static void drawSmallBar(Minecraft mc, int x, int y, double percentage, double max, int fullColor, int loadingColor, int barStyle) {
+// if (LorenzMod.hasSkyblockScoreboard()) {
+// mc.renderEngine.bindTexture(Textures.texture.bars);
+// Color color = new Color(percentage == max ? fullColor : loadingColor);
+// GlStateManager.enableBlend();
+// RenderUtils.drawTexturedModalRect(x, y, 0, 35, 62, 5);
+// GlStateManager.color(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, color.getAlpha() / 255f);
+// RenderUtils.drawTexturedModalRect(x, y, 0, 65, 62, 5);
+// RenderUtils.drawTexturedModalRect(x, y, 0, 40, (int) (62 * percentage), 5);
+// if (barStyle != 0) {
+// RenderUtils.drawTexturedModalRect(x, y, 0, 45 + (barStyle * 5), 62, 5);
+// }
+// }
+// }
+//}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/MiningHud.java b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/MiningHud.java
new file mode 100644
index 000000000..65e4f7eb1
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/MiningHud.java
@@ -0,0 +1,76 @@
+//package com.thatgravyboat.skyblockhud.overlay;
+//
+//import at.lorenz.mod.LorenzMod;
+//import com.thatgravyboat.skyblockhud.core.config.Position;
+//import com.thatgravyboat.skyblockhud.textures.Textures;
+//import com.thatgravyboat.skyblockhud.utils.Utils;
+//import net.minecraft.client.Minecraft;
+//import net.minecraft.client.gui.Gui;
+//import net.minecraft.client.renderer.GlStateManager;
+//import net.minecraftforge.client.event.RenderGameOverlayEvent;
+//import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+//
+//public class MiningHud extends Gui {
+//
+// private static int fuel, maxFuel;
+// private static int heat;
+//
+// public static void setFuel(int fuel, int maxFuel) {
+// MiningHud.fuel = fuel;
+// MiningHud.maxFuel = maxFuel;
+// }
+//
+// public static void setHeat(int heat) {
+// MiningHud.heat = heat;
+// }
+//
+// public static int getHeat() {
+// return heat;
+// }
+//
+// @SubscribeEvent
+// public void renderOverlay(RenderGameOverlayEvent.Post event) {
+// if (Utils.overlayShouldRender(event.type, LorenzMod.hasSkyblockScoreboard(), LorenzMod.config.mining.showDrillBar || LorenzMod.config.mining.showHeatBar)) {
+// Minecraft mc = Minecraft.getMinecraft();
+//
+// if (LorenzMod.config.mining.barMode == 1) {
+// if (heat > 0 && Utils.isDrill(mc.thePlayer.getHeldItem()) && LorenzMod.config.mining.showDrillBar && LorenzMod.config.mining.showHeatBar) {
+// renderFuelBar(mc, (event.resolution.getScaledWidth() / 2) - 91, event.resolution.getScaledHeight() - 31);
+// renderHeatBar(mc, (event.resolution.getScaledWidth() / 2) + 46, event.resolution.getScaledHeight() - 31);
+// } else if (Utils.isDrill(mc.thePlayer.getHeldItem()) && LorenzMod.config.mining.showDrillBar) {
+// renderFuelBar(mc, (event.resolution.getScaledWidth() / 2) - 68, event.resolution.getScaledHeight() - 31);
+// } else if (heat > 0 && LorenzMod.config.mining.showHeatBar) {
+// renderHeatBar(mc, (event.resolution.getScaledWidth() / 2) - 22, event.resolution.getScaledHeight() - 31);
+// }
+// } else if (LorenzMod.config.mining.barMode == 0) {
+// if (heat > 0 && LorenzMod.config.mining.showHeatBar) {
+// Position position = LorenzMod.config.mining.heatBar;
+// renderHeatBar(mc, position.getAbsX(event.resolution, 45), position.getAbsY(event.resolution, 7));
+// }
+// if (Utils.isDrill(mc.thePlayer.getHeldItem()) && LorenzMod.config.mining.showDrillBar) {
+// Position position = LorenzMod.config.mining.drillBar;
+// renderFuelBar(mc, position.getAbsX(event.resolution, 136), position.getAbsY(event.resolution, 7));
+// }
+// }
+// }
+// }
+//
+// private void renderFuelBar(Minecraft mc, int x, int y) {
+// if (maxFuel == 0) return;
+// GlStateManager.enableBlend();
+// GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+// mc.renderEngine.bindTexture(Textures.texture.mines);
+// drawTexturedModalRect(x, y, 0, 0, 136, 7);
+// drawTexturedModalRect(x, y, 0, 7, Utils.lerp((float) fuel / (float) maxFuel, 0, 136), 7);
+// String percentageText = Math.round(((float) fuel / (float) maxFuel) * 100) + "%";
+// this.drawCenteredString(mc.fontRendererObj, percentageText, x + 68, y - 2, 0xffffff);
+// }
+//
+// private void renderHeatBar(Minecraft mc, int x, int y) {
+// GlStateManager.enableBlend();
+// GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+// mc.renderEngine.bindTexture(Textures.texture.mines);
+// drawTexturedModalRect(x, y, 137, 0, 45, 7);
+// drawTexturedModalRect(x, y, 137, 7, Utils.lerp(heat / 100f, 0, 45), 7);
+// }
+//}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/OverlayHud.java b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/OverlayHud.java
new file mode 100644
index 000000000..f815afaa7
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/OverlayHud.java
@@ -0,0 +1,331 @@
+//package com.thatgravyboat.skyblockhud.overlay;
+//
+//import at.lorenz.mod.LorenzMod;
+//import com.thatgravyboat.skyblockhud.handlers.BossbarHandler;
+//import com.thatgravyboat.skyblockhud.handlers.CurrencyHandler;
+//import com.thatgravyboat.skyblockhud.handlers.SlayerHandler;
+//import com.thatgravyboat.skyblockhud.handlers.TimeHandler;
+//import com.thatgravyboat.skyblockhud.location.*;
+//import com.thatgravyboat.skyblockhud.seasons.Season;
+//import com.thatgravyboat.skyblockhud.seasons.SeasonDateHandler;
+//import com.thatgravyboat.skyblockhud.textures.Textures;
+//import com.thatgravyboat.skyblockhud.utils.Utils;
+//import java.text.DecimalFormat;
+//import java.text.DecimalFormatSymbols;
+//import java.util.Locale;
+//import net.minecraft.client.Minecraft;
+//import net.minecraft.client.gui.FontRenderer;
+//import net.minecraft.client.gui.Gui;
+//import net.minecraft.client.renderer.GlStateManager;
+//import net.minecraft.entity.boss.BossStatus;
+//import net.minecraft.util.EnumChatFormatting;
+//import net.minecraftforge.client.GuiIngameForge;
+//import net.minecraftforge.client.event.RenderGameOverlayEvent;
+//import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+//
+//public class OverlayHud extends Gui {
+//
+// private static final FontRenderer font = Minecraft.getMinecraft().fontRendererObj;
+//
+// //STATS
+// private static boolean eventToggle;
+//
+// public static boolean bossBarVisible = false;
+//
+// public void drawClock(int width, int offset, Minecraft mc) {
+// GlStateManager.enableBlend();
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// //CLOCK
+// int timeMin = (int) (TimeHandler.time / 60);
+// int timeHour = timeMin / 60;
+// timeMin = timeMin - (timeHour * 60);
+// String militaryTime = timeHour + ":" + (timeMin == 0 ? timeMin + "0" : timeMin);
+// int time12Hour = timeHour >= 12 ? timeHour - 12 : timeHour;
+// String normalTime = (time12Hour == 0 ? "12" : String.valueOf(time12Hour)) + ":" + (timeMin == 0 ? "00" : timeMin) + (timeHour >= 12 ? "pm" : "am");
+//
+// drawTexturedModalRect((width / 2) - 17, offset + (bossBarVisible ? 17 : 0), 0, 0, 34, 34);
+// drawTexturedModalRect((width / 2) - 4, offset + (bossBarVisible ? 24 : 7), (timeHour > 19 || timeHour < 6) ? 43 : 43 + 8, 0, 8, 8);
+// if (LorenzMod.config.main.twelveHourClock) drawScaledString(0.8f, width / 2, offset + (bossBarVisible ? 38 : 21), normalTime, (timeHour > 19 || timeHour < 6) ? 0xAFB8CC : 0xFFFF55); else drawCenteredString(font, militaryTime, (width / 2), offset + (bossBarVisible ? 38 : 21), (timeHour > 19 || timeHour < 4) ? 0xAFB8CC : 0xFFFF55);
+//
+// //PURSE
+// drawPurseAndBits(width, offset, mc);
+//
+// //SEASON/DATE
+// drawSeasonAndDate(width, offset, mc);
+//
+// //REDSTONE PERCENT
+// drawRedstone(width, offset, mc);
+//
+// // LOCATION
+// drawLocation(width, offset, mc);
+//
+// //EXTRA SLOT
+// if (LocationHandler.getCurrentLocation().equals(Locations.YOURISLAND)) {
+// if (IslandHandler.flightTime > 0) drawFlightDuration(width, offset, mc);
+// } else if (LocationHandler.getCurrentLocation().getCategory().equals(LocationCategory.MUSHROOMDESERT)) {
+// drawTrapperOrPelts(width, offset, mc);
+// } else if (LocationHandler.getCurrentLocation().getCategory().isMiningCategory()) {
+// if (MinesHandler.currentEvent.display) {
+// drawDwarvenEvent(width, offset, mc);
+// } else {
+// drawMiningPowders(width, offset, mc);
+// }
+// } else if (LocationHandler.getCurrentLocation().getCategory().equals(LocationCategory.PARK) && ParkIslandHandler.isRaining()) {
+// if (LocationHandler.getCurrentLocation().equals(Locations.HOWLINGCAVE)) {
+// drawSlayer(width, offset, mc);
+// } else drawRainDuration(width, offset, mc);
+// } else if (LocationHandler.getCurrentLocation().equals(Locations.FARMHOUSE)) {
+// drawFarmHouseMedals(width, offset, mc);
+// } else if (SlayerHandler.isDoingSlayer) {
+// drawSlayer(width, offset, mc);
+// }
+// }
+//
+// public void drawSeasonAndDate(int width, int offset, Minecraft mc) {
+// if (SeasonDateHandler.getCurrentSeason() != Season.ERROR) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// if (mc.thePlayer.ticksExisted % 100 == 0 && eventToggle) eventToggle = false;
+// if (mc.thePlayer.ticksExisted % 600 == 0) eventToggle = true;
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// String dateText = SeasonDateHandler.getFancySeasonAndDate();
+// if (eventToggle && !SeasonDateHandler.getCurrentEvent().isEmpty() && !SeasonDateHandler.getCurrentEventTime().isEmpty()) dateText = SeasonDateHandler.getCurrentEvent().trim() + " " + SeasonDateHandler.getCurrentEventTime().trim();
+// drawTexturedModalRect((width / 2) + 17, offset + (bossBarVisible ? 20 : 3), 2, 34, font.getStringWidth(dateText) + 9, 14);
+// drawTexturedModalRect(((width / 2) + 17) + font.getStringWidth(dateText) + 9, offset + (bossBarVisible ? 20 : 3), 252, 34, 4, 14);
+// drawTexturedModalRect(((width / 2) + 17) + font.getStringWidth(dateText) + 2, offset + (bossBarVisible ? 23 : 6), SeasonDateHandler.getCurrentSeason().getTextureX(), 16, 8, 8);
+// drawString(font, dateText, (width / 2) + 18, offset + (bossBarVisible ? 23 : 6), 0xffffff);
+// }
+// }
+//
+// public void drawLocation(int width, int offset, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(LocationHandler.getCurrentLocation().getDisplayName())), offset + (bossBarVisible ? 20 : 3), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(LocationHandler.getCurrentLocation().getDisplayName()))) + 2, offset + (bossBarVisible ? 20 : 3), 2, 34, font.getStringWidth(LocationHandler.getCurrentLocation().getDisplayName()) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(LocationHandler.getCurrentLocation().getDisplayName()))) + 4, offset + (bossBarVisible ? 23 : 6), LocationHandler.getCurrentLocation().getCategory().getTexturePos(), 8, 8, 8);
+// drawString(font, LocationHandler.getCurrentLocation().getDisplayName(), (width / 2) - 19 - (font.getStringWidth(LocationHandler.getCurrentLocation().getDisplayName())), offset + (bossBarVisible ? 23 : 6), 0xFFFFFF);
+// }
+//
+// public void drawRedstone(int width, int offset, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int redstoneColor = IslandHandler.redstone > 90 ? 0xFF0000 : IslandHandler.redstone > 75 ? 0xC45B00 : IslandHandler.redstone > 50 ? 0xFFFF55 : 0x55FF55;
+// if (IslandHandler.redstone > 0 && Utils.isPlayerHoldingRedstone(mc.thePlayer)) {
+// drawTexturedModalRect((width / 2) - 15, offset + (bossBarVisible ? 51 : 34), 0, 48, 30, 18);
+// drawTexturedModalRect((width / 2) - 4, offset + (bossBarVisible ? 51 : 34), 59, 0, 8, 8);
+// drawCenteredString(mc.fontRendererObj, IslandHandler.redstone + "%", (width / 2), offset + (bossBarVisible ? 58 : 41), redstoneColor);
+// }
+// }
+//
+// public void drawPurseAndBits(int width, int offset, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int xPos = (width / 2) + 17;
+//
+// //COINS
+// drawTexturedModalRect(xPos, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(CurrencyHandler.getCoinsFormatted()) + 11, 14);
+// drawTexturedModalRect(xPos + 1, offset + (bossBarVisible ? 37 : 20), 34, 0, 8, 8);
+// drawString(font, CurrencyHandler.getCoinsFormatted(), xPos + 10, offset + (bossBarVisible ? 38 : 21), 0xFFAA00);
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// xPos += font.getStringWidth(CurrencyHandler.getCoinsFormatted()) + 11;
+//
+// //BITS
+// if (CurrencyHandler.getBits() > 0) {
+// drawTexturedModalRect(xPos, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(CurrencyHandler.getBitsFormatted()) + 11, 14);
+// drawTexturedModalRect(xPos + 1, offset + (bossBarVisible ? 37 : 20), 75, 0, 8, 8);
+// drawString(font, CurrencyHandler.getBitsFormatted(), xPos + 10, offset + (bossBarVisible ? 38 : 21), 0x55FFFF);
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// xPos += font.getStringWidth(CurrencyHandler.getBitsFormatted()) + 11;
+// }
+//
+// drawTexturedModalRect(xPos, offset + (bossBarVisible ? 35 : 18), 252, 34, 4, 14);
+// }
+//
+// public void drawFlightDuration(int width, int offset, Minecraft mc) {
+// if (LocationHandler.getCurrentLocation().equals(Locations.YOURISLAND)) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// DecimalFormat flightFormat = new DecimalFormat("#.#", DecimalFormatSymbols.getInstance(Locale.CANADA));
+// String duration;
+// if (IslandHandler.flightTime < 60) duration = IslandHandler.flightTime + "s"; else if (IslandHandler.flightTime < 3600) duration = flightFormat.format((double) IslandHandler.flightTime / 60) + "m"; else if (IslandHandler.flightTime < 86400) duration = flightFormat.format((double) IslandHandler.flightTime / 3600) + "hr"; else if (IslandHandler.flightTime < 86460) duration = flightFormat.format((double) IslandHandler.flightTime / 86400) + "day"; else duration = flightFormat.format((double) IslandHandler.flightTime / 86400) + "days";
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(duration) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 4, offset + (bossBarVisible ? 38 : 21), 67, 0, 8, 8);
+// drawString(font, duration, (width / 2) - 19 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// }
+// }
+//
+// public void drawRainDuration(int width, int offset, Minecraft mc) {
+// if (LocationHandler.getCurrentLocation().getCategory().equals(LocationCategory.PARK)) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// String duration = "Rain: " + ParkIslandHandler.getRainTime();
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(duration) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 4, offset + (bossBarVisible ? 38 : 21), 83, 0, 8, 8);
+// drawString(font, duration, (width / 2) - 19 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// }
+// }
+//
+// public void drawSlayer(int width, int offset, Minecraft mc) {
+// if (SlayerHandler.isDoingSlayer) {
+// int kills = SlayerHandler.progress;
+// int maxKills = SlayerHandler.maxKills;
+// int tier = SlayerHandler.slayerTier;
+// SlayerHandler.slayerTypes slayerType = SlayerHandler.currentSlayer;
+// if (slayerType != SlayerHandler.slayerTypes.NONE) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// StringBuilder stringBuilder = new StringBuilder();
+// stringBuilder.append(EnumChatFormatting.GREEN);
+// stringBuilder.append(Utils.intToRomanNumeral(tier));
+// stringBuilder.append(" ");
+// if (SlayerHandler.isKillingBoss) {
+// stringBuilder.append(EnumChatFormatting.RED);
+// stringBuilder.append("Slay Boss!");
+// } else if (SlayerHandler.bossSlain) {
+// stringBuilder.append(EnumChatFormatting.RED);
+// stringBuilder.append("Boss Slain!");
+// } else if (kills == 0 && maxKills == 0) {
+// stringBuilder.append(EnumChatFormatting.RED);
+// stringBuilder.append("Not Slaying!");
+// } else {
+// stringBuilder.append(EnumChatFormatting.YELLOW);
+// stringBuilder.append(kills);
+// stringBuilder.append(EnumChatFormatting.GRAY);
+// stringBuilder.append("/");
+// stringBuilder.append(EnumChatFormatting.RED);
+// stringBuilder.append(maxKills);
+// }
+// String text = stringBuilder.toString();
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(text)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(text))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(text) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(text))) + 4, offset + (bossBarVisible ? 38 : 21), slayerType.getX(), 24, 8, 8);
+// drawString(font, text, (width / 2) - 19 - (font.getStringWidth(text)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// }
+// }
+// }
+//
+// public void drawMiningPowders(int width, int offset, Minecraft mc) {
+// if (MinesHandler.gemstone == 0) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// String mithril = MinesHandler.getMithrilFormatted();
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(mithril)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(mithril))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(mithril) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(mithril))) + 4, offset + (bossBarVisible ? 38 : 21), 91, 0, 8, 8);
+// drawString(font, mithril, (width / 2) - 19 - (font.getStringWidth(mithril)), offset + (bossBarVisible ? 38 : 21), 0x00C896);
+// } else {
+// LocationCategory locationCategory = LocationHandler.getCurrentLocation().getCategory();
+// String mithril = locationCategory == LocationCategory.DWARVENMINES ? MinesHandler.getMithrilFormatted() : MinesHandler.getMithrilShortFormatted();
+// String gemstone = locationCategory == LocationCategory.CRYSTALHOLLOWS ? MinesHandler.getGemstoneFormatted() : MinesHandler.getGemstoneShortFormatted();
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+//
+// int edge = (width / 2) - 33;
+//
+// int barWidth = font.getStringWidth(mithril) + 12 + font.getStringWidth(gemstone);
+//
+// int firstText = locationCategory == LocationCategory.DWARVENMINES ? font.getStringWidth(mithril) : font.getStringWidth(gemstone);
+//
+// //Bar
+// drawTexturedModalRect(edge - barWidth, offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(edge - barWidth + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, barWidth + 14, 14);
+//
+// //Icons
+// drawTexturedModalRect(edge - barWidth + 4, offset + (bossBarVisible ? 38 : 21), locationCategory == LocationCategory.DWARVENMINES ? 91 : 131, 0, 8, 8);
+// drawTexturedModalRect(edge - barWidth + 16 + firstText, offset + (bossBarVisible ? 38 : 21), locationCategory == LocationCategory.DWARVENMINES ? 131 : 91, 0, 8, 8);
+//
+// drawString(font, locationCategory == LocationCategory.DWARVENMINES ? mithril : gemstone, edge - barWidth + 14, offset + (bossBarVisible ? 38 : 21), locationCategory == LocationCategory.DWARVENMINES ? 0x00C896 : 0xFF55FF);
+// drawString(font, locationCategory == LocationCategory.DWARVENMINES ? gemstone : mithril, edge - barWidth + 26 + firstText, offset + (bossBarVisible ? 38 : 21), locationCategory == LocationCategory.DWARVENMINES ? 0xFF55FF : 0x00C896);
+// }
+// }
+//
+// public void drawTrapperOrPelts(int width, int offset, Minecraft mc) {
+// if (LocationHandler.getCurrentLocation().getCategory().equals(LocationCategory.MUSHROOMDESERT)) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// String duration = FarmingIslandHandler.location != Locations.NONE ? FarmingIslandHandler.location.getDisplayName() : "" + FarmingIslandHandler.pelts;
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(duration) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 4, offset + (bossBarVisible ? 38 : 21), FarmingIslandHandler.location != Locations.NONE ? 123 : 115, 0, 8, 8);
+// drawString(font, duration, (width / 2) - 19 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// }
+// }
+//
+// public void drawDwarvenEvent(int width, int offset, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// if (MinesHandler.eventMax > 0) {
+// String duration = MinesHandler.currentEvent.needsMax ? MinesHandler.eventProgress + "/" + MinesHandler.eventMax : String.valueOf(MinesHandler.eventProgress);
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(duration) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(duration))) + 4, offset + (bossBarVisible ? 38 : 21), MinesHandler.currentEvent.x, 0, 8, 8);
+// drawString(font, duration, (width / 2) - 19 - (font.getStringWidth(duration)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// } else if (!MinesHandler.currentEvent.needsMax) {
+// drawSingleEvent(width, offset, mc);
+// } else {
+// String text = MinesHandler.currentEvent.displayName;
+// drawTexturedModalRect((width / 2) - 33 - (font.getStringWidth(text)), offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(text))) + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, font.getStringWidth(text) + 14, 14);
+// drawTexturedModalRect(((width / 2) - 33 - (font.getStringWidth(text))) + 4, offset + (bossBarVisible ? 38 : 21), MinesHandler.currentEvent.x, 0, 8, 8);
+// drawString(font, text, (width / 2) - 19 - (font.getStringWidth(text)), offset + (bossBarVisible ? 38 : 21), 0xFFFFFF);
+// }
+// }
+//
+// public void drawSingleEvent(int width, int offset, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// drawTexturedModalRect((width / 2) - 15, offset + (bossBarVisible ? 51 : 34), 0, 52, 30, 14);
+// drawTexturedModalRect((width / 2) - 10, offset + (bossBarVisible ? 53 : 36), MinesHandler.currentEvent.x, 0, 8, 8);
+// drawString(mc.fontRendererObj, MinesHandler.eventProgress + "", (width / 2), offset + (bossBarVisible ? 53 : 36), 0xffffff);
+// }
+//
+// public void drawFarmHouseMedals(int width, int offset, Minecraft mc) {
+// if (LocationHandler.getCurrentLocation().equals(Locations.FARMHOUSE)) {
+// int bronze = font.getStringWidth(FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.BRONZE));
+// int silver = font.getStringWidth(FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.SILVER));
+// int gold = font.getStringWidth(FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.GOLD));
+//
+// int end = drawLeftBottomBar(width, offset, 40 + bronze + silver + gold, mc);
+// drawTexturedModalRect(end + 2, offset + (bossBarVisible ? 38 : 21), 139, 0, 8, 8);
+// drawTexturedModalRect(end + 14 + gold, offset + (bossBarVisible ? 38 : 21), 147, 0, 8, 8);
+// drawTexturedModalRect(end + 26 + gold + silver, offset + (bossBarVisible ? 38 : 21), 155, 0, 8, 8);
+//
+// drawString(font, FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.GOLD), end + 12, offset + (bossBarVisible ? 38 : 21), 0xffffff);
+// drawString(font, FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.SILVER), end + gold + 24, offset + (bossBarVisible ? 38 : 21), 0xffffff);
+// drawString(font, FarmHouseHandler.getFormattedMedals(FarmHouseHandler.Medal.BRONZE), end + gold + silver + 36, offset + (bossBarVisible ? 38 : 21), 0xffffff);
+// }
+// }
+//
+// @SubscribeEvent
+// public void renderOverlay(RenderGameOverlayEvent.Post event) {
+// if (Utils.overlayShouldRender(event.type, LorenzMod.hasSkyblockScoreboard())) {
+// bossBarVisible = BossStatus.statusBarTime > 0 && GuiIngameForge.renderBossHealth && BossbarHandler.bossBarRendered;
+// Minecraft mc = Minecraft.getMinecraft();
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// if (LocationHandler.getCurrentLocation() != Locations.CATACOMBS && !LorenzMod.config.main.disaleMainHud) {
+// drawClock(event.resolution.getScaledWidth(), LorenzMod.config.main.mainHudPos.getAbsY(event.resolution, 34), mc);
+// }
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// }
+// }
+//
+// public void drawScaledString(float factor, int x, int y, String text, int color) {
+// GlStateManager.scale(factor, factor, 1);
+// drawCenteredString(font, text, (int) (x / factor), (int) (y / factor), color);
+// GlStateManager.scale(1 / factor, 1 / factor, 1);
+// }
+//
+// public int drawLeftBottomBar(int width, int offset, int barWidth, Minecraft mc) {
+// GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+// mc.renderEngine.bindTexture(Textures.texture.stats);
+// int edge = (width / 2) - 17;
+//
+// drawTexturedModalRect(edge - barWidth, offset + (bossBarVisible ? 35 : 18), 0, 34, 2, 14);
+// drawTexturedModalRect(edge - barWidth + 2, offset + (bossBarVisible ? 35 : 18), 2, 34, barWidth - 2, 14);
+// return edge - barWidth + 2;
+// }
+//}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/RPGHud.java b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/RPGHud.java
new file mode 100644
index 000000000..69501b89f
--- /dev/null
+++ b/src/main/java/com/thatgravyboat/skyblockhud_2/overlay/RPGHud.java
@@ -0,0 +1,112 @@
+//package com.thatgravyboat.skyblockhud.overlay;
+//
+//import com.mojang.realmsclient.gui.ChatFormatting;
+//import at.lorenz.mod.LorenzMod;
+//import com.thatgravyboat.skyblockhud.core.config.Position;
+//import com.thatgravyboat.skyblockhud.handlers.HeldItemHandler;
+//import com.thatgravyboat.skyblockhud.textures.Textures;
+//import com.thatgravyboat.skyblockhud.utils.Utils;
+//import java.text.DecimalFormat;
+//import java.text.NumberFormat;
+//import net.minecraft.client.Minecraft;
+//import net.minecraft.client.gui.FontRenderer;
+//import net.minecraft.client.gui.Gui;
+//import net.minecraft.client.renderer.GlStateManager;
+//import net.minecraftforge.client.event.RenderGameOverlayEvent;
+//import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+//
+//public class RPGHud extends Gui {
+//
+// private static int mana, maxMana, overflow = 0;
+// private static int health, maxHealth = 0;
+// private static int defense = 0;
+//
+// public static void updateMana(int current, int max) {
+// mana = current;
+// maxMana = max;
+// }
+//
+// public static void updateOverflow(int current) {
+// overflow = current;
+// }
+//
+// public static void updateHealth(int current, int max) {
+// health = current;
+// maxHealth = max;
+// }
+//
+// public static void updateDefense(int input) {
+// defense = input;
+// }
+//
+// public static void manaPredictionUpdate(boolean isIncrease, int decrease) {
+// mana = isIncrease ? Math.min(mana + (maxMana / 50), maxMana) : mana - decrease;
+// }
+//
+// private static final DecimalFormat decimalFormat = new DecimalFormat("#.##");
+//
+// static {
+// decimalFormat.setGroupingUsed(true);
+// decimalFormat.setGroupingSize(3);
+// }
+//
+// @SubscribeEvent
+// public void renderOverlay(RenderGameOverlayEvent.Post event) {
+// if (Utils.overlayShouldRender(event.type, LorenzMod.hasSkyblockScoreboard(), LorenzMod.config.rpg.showRpgHud)) {
+// Minecraft mc = Minecraft.getMinecraft();
+// GlStateManager.enableBlend();
+// GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+// FontRenderer font = mc.fontRendererObj;
+// if (mc.thePlayer.getHealth() < mc.thePlayer.getMaxHealth()) {
+// health = Math.max((int) (maxHealth * (mc.thePlayer.getHealth() / mc.thePlayer.getMaxHealth())), health);
+// }
+//
+// mc.renderEngine.bindTexture(Textures.texture.playerStats);
+// Position position = LorenzMod.config.rpg.rpgHudPosition;
+//
+// int x = position.getAbsX(event.resolution, 120);
+// int y = position.getAbsY(event.resolution, 47);
+//
+// boolean rightAligned = position.rightAligned(event.resolution, 120) && LorenzMod.config.rpg.flipHud;
+//
+// drawTexturedModalRect(x, y, rightAligned ? 131 : 5, 6, 120, 47);
+//
+// float manaWidth = Math.min(57 * ((float) mana / (float) maxMana), 57);
+// int manaX = rightAligned ? x + 16 : 47 + x;
+// if (HeldItemHandler.hasManaCost(mc.thePlayer.getHeldItem())) {
+// int manaCost = HeldItemHandler.getManaCost(mc.thePlayer.getHeldItem());
+// drawTexturedModalRect(manaX, 17 + y, rightAligned ? 199 : 0, manaCost > mana ? 96 : 64, (int) manaWidth, 4);
+// if (manaCost <= mana) {
+// drawTexturedModalRect(manaX, 17 + y, rightAligned ? 199 : 0, 92, Utils.lerp((float) manaCost / (float) maxMana, 0, 57), 4);
+// }
+// } else {
+// drawTexturedModalRect(manaX, 17 + y, rightAligned ? 199 : 0, 64, (int) manaWidth, 4);
+// }
+//
+// float healthWidth = Math.min(70 * ((float) health / (float) maxHealth), 70);
+// int healthX = rightAligned ? x + 3 : 47 + x;
+// drawTexturedModalRect(healthX, 22 + y, rightAligned ? 186 : 0, 68, (int) healthWidth, 5);
+//
+// if (health > maxHealth) {
+// float absorptionWidth = Math.min(70 * ((float) (health - maxHealth) / (float) maxHealth), 70);
+// drawTexturedModalRect(healthX, 22 + y, rightAligned ? 186 : 0, 77, (int) absorptionWidth, 5);
+// }
+//
+// drawTexturedModalRect(rightAligned ? x + 7 : 45 + x, 28 + y, rightAligned ? 189 : 0, 73, Utils.lerp(mc.thePlayer.experience, 0, 67), 4);
+// //Air in water
+// NumberFormat myFormat = NumberFormat.getInstance();
+// myFormat.setGroupingUsed(true);
+// if (mc.thePlayer.getAir() < 300) {
+// drawTexturedModalRect(rightAligned ? x + 17 : 39 + x, 33 + y, rightAligned ? 192 : 0, 82, 64, 6);
+// drawTexturedModalRect(rightAligned ? x + 19 : 41 + x, 33 + y, rightAligned ? 196 : 0, 88, Utils.lerp(mc.thePlayer.getAir() / 300f, 0, 60), 4);
+// }
+//
+// Utils.drawStringScaled("" + mc.thePlayer.experienceLevel, font, (rightAligned ? 112 : 14) + x - (font.getStringWidth("" + mc.thePlayer.experienceLevel) / 2f), 34 + y, false, 8453920, 0.75f);
+//
+// Utils.drawStringScaled(ChatFormatting.RED + " \u2764 " + health + "/" + maxHealth, font, (rightAligned ? 10 : 42) + x, 8 + y, true, 0xffffff, 0.75f);
+//
+// GlStateManager.color(255, 255, 255);
+// GlStateManager.disableBlend();
+// }
+// }
+//}