aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/overlay
diff options
context:
space:
mode:
authorTymanWasTaken <tyman@tyman.tech>2021-07-06 17:13:01 -0400
committerTymanWasTaken <tyman@tyman.tech>2021-07-06 17:13:01 -0400
commitbb75fd7b83b238f1f922ffc64b2a0a535c5524b7 (patch)
tree617c91cced71f672662bddea6c540939cb9a3953 /src/main/java/com/thatgravyboat/skyblockhud/overlay
parent91464c8f433e8bf323932ac956678971207b607e (diff)
downloadSkyblockHud-Death-Defied-bb75fd7b83b238f1f922ffc64b2a0a535c5524b7.tar.gz
SkyblockHud-Death-Defied-bb75fd7b83b238f1f922ffc64b2a0a535c5524b7.tar.bz2
SkyblockHud-Death-Defied-bb75fd7b83b238f1f922ffc64b2a0a535c5524b7.zip
Format
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/overlay')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java413
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java96
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java907
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java257
4 files changed, 1221 insertions, 452 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java b/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
index 4a3b36f..d5602ed 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
@@ -23,128 +23,323 @@ 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 (!SkyblockHud.config.dungeon.hideDeadDungeonPlayers || !isDead) {
- GlStateManager.enableBlend();
- Minecraft mc = Minecraft.getMinecraft();
- mc.renderEngine.bindTexture(GuiTextures.dungeon);
+ private static final FontRenderer font = Minecraft.getMinecraft()
+ .fontRendererObj;
+ private static boolean bossBarVisible = false;
- String healthString = isDead ? "DEAD" : Integer.toString(health);
- GlStateManager.color(1.0F, 1.0F, 1.0F, (float) SkyblockHud.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 drawDungeonPlayer(
+ String name,
+ int health,
+ boolean isDead,
+ Classes dungeonClass,
+ int x,
+ int y
+ ) {
+ if (!SkyblockHud.config.dungeon.hideDeadDungeonPlayers || !isDead) {
+ GlStateManager.enableBlend();
+ Minecraft mc = Minecraft.getMinecraft();
+ mc.renderEngine.bindTexture(GuiTextures.dungeon);
+
+ String healthString = isDead ? "DEAD" : Integer.toString(health);
+ GlStateManager.color(
+ 1.0F,
+ 1.0F,
+ 1.0F,
+ (float) SkyblockHud.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(GuiTextures.overlay);
- 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(GuiTextures.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(GuiTextures.overlay);
- 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);
+ public void drawDungeonClock(int width, int offset, Minecraft mc) {
+ GlStateManager.enableBlend();
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ 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(GuiTextures.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(GuiTextures.overlay);
+ 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(GuiTextures.overlay);
- 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);
+ //DEATHS
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ 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(GuiTextures.overlay);
- 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);
+ //SECRETS
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ 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(GuiTextures.overlay);
- 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);
- }
+ //CRYPTS
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ 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 (!SkyblockHud.config.dungeon.hideUltimateBar) {
- float percentage = mc.thePlayer.experience;
- SBHConfig.DungeonHud dungeonHud = SkyblockHud.config.dungeon;
- Position position = dungeonHud.barPosition;
+ public void drawUltimateBar(Minecraft mc, ScaledResolution resolution) {
+ if (!SkyblockHud.config.dungeon.hideUltimateBar) {
+ float percentage = mc.thePlayer.experience;
+ SBHConfig.DungeonHud dungeonHud = SkyblockHud.config.dungeon;
+ Position position = dungeonHud.barPosition;
- int x = position.getAbsX(resolution, 182);
- int y = position.getAbsY(resolution, 5);
+ 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);
- }
+ 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, SkyblockHud.hasSkyblockScoreboard(), LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS))) {
- bossBarVisible = BossStatus.statusBarTime > 0 && GuiIngameForge.renderBossHealth && BossbarHandler.bossBarRendered;
- GlStateManager.enableBlend();
- drawUltimateBar(mc, event.resolution);
+ @SubscribeEvent
+ public void renderOverlay(RenderGameOverlayEvent.Post event) {
+ Minecraft mc = Minecraft.getMinecraft();
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.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 (!SkyblockHud.config.dungeon.hideDungeonPlayers) {
- int[] hardCodedPos = new int[]{5, 42, 79, 116};
- Position[] positions = new Position[]{SkyblockHud.config.dungeon.dungeonPlayer1, SkyblockHud.config.dungeon.dungeonPlayer2, SkyblockHud.config.dungeon.dungeonPlayer3, SkyblockHud.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);
- }
- }
- drawDungeonClock(event.resolution.getScaledWidth(), SkyblockHud.config.main.mainHudPos.getAbsY(event.resolution, 34), mc);
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ if (!SkyblockHud.config.dungeon.hideDungeonPlayers) {
+ int[] hardCodedPos = new int[] { 5, 42, 79, 116 };
+ Position[] positions = new Position[] {
+ SkyblockHud.config.dungeon.dungeonPlayer1,
+ SkyblockHud.config.dungeon.dungeonPlayer2,
+ SkyblockHud.config.dungeon.dungeonPlayer3,
+ SkyblockHud.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
+ );
}
+ }
+ drawDungeonClock(
+ event.resolution.getScaledWidth(),
+ SkyblockHud.config.main.mainHudPos.getAbsY(event.resolution, 34),
+ mc
+ );
}
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java b/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java
index d987c86..8cff166 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java
@@ -3,42 +3,82 @@ package com.thatgravyboat.skyblockhud.overlay;
import com.thatgravyboat.skyblockhud.GuiTextures;
import com.thatgravyboat.skyblockhud.SkyblockHud;
import com.thatgravyboat.skyblockhud.core.util.render.RenderUtils;
+import java.awt.Color;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.renderer.GlStateManager;
-import java.awt.Color;
-
-
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 (SkyblockHud.hasSkyblockScoreboard()) {
- mc.renderEngine.bindTexture(GuiTextures.bars);
- Color color = new Color(percentage == max ? fullColor : loadingColor);
+ public static void drawLargeBar(
+ Minecraft mc,
+ int x,
+ int y,
+ float percentage,
+ float max,
+ int fullColor,
+ int loadingColor,
+ int barStyle
+ ) {
+ if (SkyblockHud.hasSkyblockScoreboard()) {
+ mc.renderEngine.bindTexture(GuiTextures.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);
- }
- }
+ 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 (SkyblockHud.hasSkyblockScoreboard()) {
- mc.renderEngine.bindTexture(GuiTextures.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);
- }
- }
+ public static void drawSmallBar(
+ Minecraft mc,
+ int x,
+ int y,
+ double percentage,
+ double max,
+ int fullColor,
+ int loadingColor,
+ int barStyle
+ ) {
+ if (SkyblockHud.hasSkyblockScoreboard()) {
+ mc.renderEngine.bindTexture(GuiTextures.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/overlay/OverlayHud.java b/src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java
index 8cdd44c..1b0614d 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java
@@ -8,8 +8,11 @@ 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.SeasonDateHandler;
import com.thatgravyboat.skyblockhud.seasons.Season;
+import com.thatgravyboat.skyblockhud.seasons.SeasonDateHandler;
+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;
@@ -20,267 +23,711 @@ import net.minecraftforge.client.GuiIngameForge;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.util.Locale;
-
public class OverlayHud extends Gui {
- private static final FontRenderer font = Minecraft.getMinecraft().fontRendererObj;
-
- //STATS
- private static boolean eventToggle;
- public static boolean bossBarVisible = false;
+ private static final FontRenderer font = Minecraft.getMinecraft()
+ .fontRendererObj;
- public void drawClock(int width, int offset, Minecraft mc){
- GlStateManager.enableBlend();
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(GuiTextures.overlay);
- //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 ? "00" : String.valueOf(time12Hour)) + ":" + (timeMin == 0 ? "00" : timeMin) + (timeHour >= 12 ? "pm" : "am");
+ //STATS
+ private static boolean eventToggle;
- drawTexturedModalRect((width/ 2) - 17, offset + (bossBarVisible ? 17 : 0), 0, 0, 34, 34);
- drawTexturedModalRect((width/ 2) - 4, offset + (bossBarVisible ? 24 : 7), (timeHour > 19 || timeHour < 4) ? 43 : 43 + 8, 0, 8, 8);
- if (SkyblockHud.config.main.twelveHourClock) drawScaledString(0.8f, width/ 2, offset + (bossBarVisible ? 38 : 21), normalTime, (timeHour > 19 || timeHour < 4) ? 0xAFB8CC : 0xFFFF55);
- else drawCenteredString(font, militaryTime, (width/ 2), offset + (bossBarVisible ? 38 : 21), (timeHour > 19 || timeHour < 4) ? 0xAFB8CC : 0xFFFF55);
+ public static boolean bossBarVisible = false;
- //PURSE
- drawPurseAndBits(width, offset, mc);
+ public void drawClock(int width, int offset, Minecraft mc) {
+ GlStateManager.enableBlend();
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ //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 ? "00" : String.valueOf(time12Hour)) +
+ ":" +
+ (timeMin == 0 ? "00" : timeMin) +
+ (timeHour >= 12 ? "pm" : "am");
- //SEASON/DATE
- drawSeasonAndDate(width, offset, mc);
+ drawTexturedModalRect(
+ (width / 2) - 17,
+ offset + (bossBarVisible ? 17 : 0),
+ 0,
+ 0,
+ 34,
+ 34
+ );
+ drawTexturedModalRect(
+ (width / 2) - 4,
+ offset + (bossBarVisible ? 24 : 7),
+ (timeHour > 19 || timeHour < 4) ? 43 : 43 + 8,
+ 0,
+ 8,
+ 8
+ );
+ if (SkyblockHud.config.main.twelveHourClock) drawScaledString(
+ 0.8f,
+ width / 2,
+ offset + (bossBarVisible ? 38 : 21),
+ normalTime,
+ (timeHour > 19 || timeHour < 4) ? 0xAFB8CC : 0xFFFF55
+ ); else drawCenteredString(
+ font,
+ militaryTime,
+ (width / 2),
+ offset + (bossBarVisible ? 38 : 21),
+ (timeHour > 19 || timeHour < 4) ? 0xAFB8CC : 0xFFFF55
+ );
- //REDSTONE PERCENT
- drawRedstone(width, offset, mc);
+ //PURSE
+ drawPurseAndBits(width, offset, mc);
- // LOCATION
- drawLocation(width, offset, mc);
+ //SEASON/DATE
+ drawSeasonAndDate(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().equals(LocationCategory.DWARVENMINES)) {
- if (DwarvenMineHandler.currentEvent != DwarvenMineHandler.Event.NONE){
- drawDwarvenEvent(width, offset, mc);
- }else {
- drawMithril(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 (SlayerHandler.isDoingSlayer){
- drawSlayer(width, offset, mc);
- }
- }
+ //REDSTONE PERCENT
+ drawRedstone(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(GuiTextures.overlay);
- 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(GuiTextures.overlay);
- 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
- );
- }
+ // LOCATION
+ drawLocation(width, offset, mc);
- public void drawRedstone(int width, int offset, Minecraft mc){
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(GuiTextures.overlay);
- 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);
- }
+ //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()
+ .equals(LocationCategory.DWARVENMINES)
+ ) {
+ if (DwarvenMineHandler.currentEvent != DwarvenMineHandler.Event.NONE) {
+ drawDwarvenEvent(width, offset, mc);
+ } else {
+ drawMithril(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 (SlayerHandler.isDoingSlayer) {
+ drawSlayer(width, offset, mc);
}
+ }
- public void drawPurseAndBits(int width, int offset, Minecraft mc){
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(GuiTextures.overlay);
- 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(GuiTextures.overlay);
- xPos += font.getStringWidth(CurrencyHandler.getCoinsFormatted()) + 11;
+ 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(GuiTextures.overlay);
+ 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
+ );
+ }
+ }
- //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);