aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/overlay
diff options
context:
space:
mode:
authorTymanWasTaken <tyman@tyman.tech>2021-07-06 17:15:21 -0400
committerTymanWasTaken <tyman@tyman.tech>2021-07-06 17:17:22 -0400
commita8e475fa0a7977f64f072548459d592274169d66 (patch)
tree2f6e3c2fc4aa55c52b848adc493a9ecc842e53f8 /src/main/java/com/thatgravyboat/skyblockhud/overlay
parentbb75fd7b83b238f1f922ffc64b2a0a535c5524b7 (diff)
downloadSkyblockHud-Death-Defied-a8e475fa0a7977f64f072548459d592274169d66.tar.gz
SkyblockHud-Death-Defied-a8e475fa0a7977f64f072548459d592274169d66.tar.bz2
SkyblockHud-Death-Defied-a8e475fa0a7977f64f072548459d592274169d66.zip
Format v2
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/overlay')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java619
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java152
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java1350
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java349
4 files changed, 1268 insertions, 1202 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java b/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
index d5602ed..9d8556d 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
@@ -24,322 +24,335 @@ 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;
+ 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);
+ 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);
+ 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);
-
- 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++
+ @SubscribeEvent
+ public void renderOverlay(RenderGameOverlayEvent.Post event) {
+ Minecraft mc = Minecraft.getMinecraft();
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.hasSkyblockScoreboard(),
+ LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS)
+ )
) {
- 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
- );
+ 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
+ );
}
- }
- 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 8cff166..45fd243 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/GenericOverlays.java
@@ -10,75 +10,93 @@ 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 (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 1b0614d..cba60eb 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/OverlayHud.java
@@ -25,709 +25,731 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class OverlayHud extends Gui {
- private static final FontRenderer font = Minecraft.getMinecraft()
- .fontRendererObj;
+ private static final FontRenderer font = Minecraft.getMinecraft()
+ .fontRendererObj;
- //STATS
- private static boolean eventToggle;
+ //STATS
+ private static boolean eventToggle;
- public static boolean bossBarVisible = false;
+ 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(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");
-
- 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
- );
-
- //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()
- .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 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
- );
- }
+ 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");
- 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
- );
- }
- }
+ 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 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;
+ //PURSE
+ drawPurseAndBits(width, offset, mc);
- //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;
+ //SEASON/DATE
+ drawSeasonAndDate(width, offset, mc);
- //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(GuiTextures.overlay);
- xPos += font.getStringWidth(CurrencyHandler.getBitsFormatted()) + 11;
- }
+ //REDSTONE PERCENT
+ drawRedstone(width, offset, mc);
- drawTexturedModalRect(
- xPos,
- offset + (bossBarVisible ? 35 : 18),
- 252,
- 34,
- 4,
- 14
- );
- }
+ // LOCATION
+ drawLocation(width, offset, mc);
- 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(GuiTextures.overlay);
- 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
- );
+ //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 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(GuiTextures.overlay);
- 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 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 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) {
+ public void drawLocation(int width, int offset, Minecraft mc) {
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
mc.renderEngine.bindTexture(GuiTextures.overlay);
- 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
+ (width / 2) -
+ 33 -
+ (
+ font.getStringWidth(
+ LocationHandler.getCurrentLocation().getDisplayName()
+ )
+ ),
+ offset + (bossBarVisible ? 20 : 3),
+ 0,
+ 34,
+ 2,
+ 14
);
drawTexturedModalRect(
- ((width / 2) - 33 - (font.getStringWidth(text))) + 2,
- offset + (bossBarVisible ? 35 : 18),
- 2,
- 34,
- font.getStringWidth(text) + 14,
- 14
+ (
+ (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(text))) + 4,
- offset + (bossBarVisible ? 38 : 21),
- slayerType.getX(),
- 24,
- 8,
- 8
+ (
+ (width / 2) -
+ 33 -
+ (
+ font.getStringWidth(
+ LocationHandler.getCurrentLocation().getDisplayName()
+ )
+ )
+ ) +
+ 4,
+ offset + (bossBarVisible ? 23 : 6),
+ LocationHandler.getCurrentLocation().getCategory().getTexturePos(),
+ 8,
+ 8,
+ 8
);
drawString(
- font,
- text,
- (width / 2) - 19 - (font.getStringWidth(text)),
- offset + (bossBarVisible ? 38 : 21),
- 0xFFFFFF
+ font,
+ LocationHandler.getCurrentLocation().getDisplayName(),
+ (width / 2) -
+ 19 -
+ (
+ font.getStringWidth(
+ LocationHandler.getCurrentLocation().getDisplayName()
+ )
+ ),
+ offset + (bossBarVisible ? 23 : 6),
+ 0xFFFFFF
);
- }
}
- }
- public void drawMithril(int width, int offset, Minecraft mc) {
- if (
- LocationHandler
- .getCurrentLocation()
- .getCategory()
- .equals(LocationCategory.DWARVENMINES)
- ) {
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(GuiTextures.overlay);
- String mithril = DwarvenMineHandler.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
- );
+ 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
+ );
+ }
}
- }
- 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(GuiTextures.overlay);
- 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 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;
- public void drawDwarvenEvent(int width, int offset, Minecraft mc) {
- if (
- LocationHandler
- .getCurrentLocation()
- .getCategory()
- .equals(LocationCategory.DWARVENMINES)
- ) {
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
- mc.renderEngine.bindTexture(GuiTextures.overlay);
- if (DwarvenMineHandler.eventMax > 0) {
- String duration =
- DwarvenMineHandler.eventProgress + "/" + DwarvenMineHandler.eventMax;
+ //COINS
drawTexturedModalRect(
- (width / 2) - 33 - (font.getStringWidth(duration)),
- offset + (bossBarVisible ? 35 : 18),
- 0,
- 34,
- 2,
- 14
+ xPos,
+ offset + (bossBarVisible ? 35 : 18),
+ 2,
+ 34,
+ font.getStringWidth(CurrencyHandler.getCoinsFormatted()) + 11,
+ 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),
- DwarvenMineHandler.currentEvent.x,
- 0,
- 8,
- 8
+ xPos + 1,
+ offset + (bossBarVisible ? 37 : 20),
+ 34,
+ 0,
+ 8,
+ 8
);
drawString(
- font,
- duration,
- (width / 2) - 19 - (font.getStringWidth(duration)),
- offset + (bossBarVisible ? 38 : 21),
- 0xFFFFFF
- );
- } else {
- String text = DwarvenMineHandler.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
+ 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;
+
+ //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(GuiTextures.overlay);
+ xPos +=
+ font.getStringWidth(CurrencyHandler.getBitsFormatted()) + 11;
+ }
+
drawTexturedModalRect(
- ((width / 2) - 33 - (font.getStringWidth(text))) + 4,
- offset + (bossBarVisible ? 38 : 21),
- DwarvenMineHandler.currentEvent.x,
- 0,
- 8,
- 8
+ xPos,
+ offset + (bossBarVisible ? 35 : 18),
+ 252,
+ 34,
+ 4,
+ 14
);
- drawString(
- font,
- text,
- (width / 2) - 19 - (font.getStringWidth(text)),
- offset + (bossBarVisible ? 38 : 21),
- 0xFFFFFF
- );
- }
}
- }
- @SubscribeEvent
- public void renderOverlay(RenderGameOverlayEvent.Post event) {
- if (
- Utils.overlayShouldRender(event.type, SkyblockHud.hasSkyblockScoreboard())
+ 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(GuiTextures.overlay);
+ 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(GuiTextures.overlay);
+ 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(GuiTextures.overlay);
+ 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 drawMithril(int width, int offset, Minecraft mc) {
+ if (
+ LocationHandler
+ .getCurrentLocation()
+ .getCategory()
+ .equals(LocationCategory.DWARVENMINES)
+ ) {
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ String mithril = DwarvenMineHandler.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
+ );
+ }
+ }
+
+ 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(GuiTextures.overlay);
+ 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) {
+ if (
+ LocationHandler
+ .getCurrentLocation()
+ .getCategory()
+ .equals(LocationCategory.DWARVENMINES)
+ ) {
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ mc.renderEngine.bindTexture(GuiTextures.overlay);
+ if (DwarvenMineHandler.eventMax > 0) {
+ String duration =
+ DwarvenMineHandler.eventProgress +
+ "/" +
+ DwarvenMineHandler.eventMax;
+ 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),
+ DwarvenMineHandler.currentEvent.x,
+ 0,
+ 8,
+ 8
+ );
+ drawString(
+ font,
+ duration,
+ (width / 2) - 19 - (font.getStringWidth(duration)),
+ offset + (bossBarVisible ? 38 : 21),
+ 0xFFFFFF
+ );
+ } else {
+ String text = DwarvenMineHandler.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),
+ DwarvenMineHandler.currentEvent.x,
+ 0,
+ 8,
+ 8
+ );
+ drawString(
+ font,
+ text,
+ (width / 2) - 19 - (font.getStringWidth(text)),
+ offset + (bossBarVisible ? 38 : 21),
+ 0xFFFFFF
+ );
+ }
+ }
+ }
+
+ @SubscribeEvent
+ public void renderOverlay(RenderGameOverlayEvent.Post event) {
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.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) {
+ drawClock(
+ event.resolution.getScaledWidth(),
+ SkyblockHud.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
) {
- 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) {
- drawClock(
- event.resolution.getScaledWidth(),
- SkyblockHud.config.main.mainHudPos.getAbsY(event.resolution, 34),
- mc
+ GlStateManager.scale(factor, factor, 1);
+ drawCenteredString(
+ font,
+ text,
+ (int) (x / factor),
+ (int) (y / factor),
+ color
);
- }
- GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ GlStateManager.scale(1 / factor, 1 / factor, 1);
}
- }
-
- 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);
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java b/src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java
index 5a7409e..885ff7a 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/overlay/RPGHud.java
@@ -17,175 +17,188 @@ 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,
- SkyblockHud.hasSkyblockScoreboard(),
- SkyblockHud.config.renderer.hideXpBar
- )
- ) MinecraftForge.EVENT_BUS.post(
- new RenderGameOverlayEvent.Post(
- new RenderGameOverlayEvent(event.partialTicks, event.resolution),
- RenderGameOverlayEvent.ElementType.EXPERIENCE
- )
+ 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(
+ "#.##"
);
- if (
- Utils.overlayShouldRender(
- event.type,
- SkyblockHud.hasSkyblockScoreboard(),
- SkyblockHud.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(GuiTextures.playerStat);
- Position position = SkyblockHud.config.rpg.rpgHudPosition;
-
- int x = position.getAbsX(event.resolution, 120);
- int y = position.getAbsY(event.resolution, 47);
-
- boolean rightAligned = position.rightAligned(event.resolution, 120);
-
- drawTexturedModalRect(x, y, rightAligned ? 131 : 5, 6, 120, 47);
-
- float manaWidth = Math.min(57 * ((float) mana / (float) maxMana), 57);
- drawTexturedModalRect(
- rightAligned ? x + 16 : 47 + x,
- 17 + y,
- rightAligned ? 199 : 0,
- 64,
- (int) manaWidth,
- 4
- );
-
- float healthWidth = Math.min(
- 70 * ((float) health / (float) maxHealth),
- 70
- );
- drawTexturedModalRect(
- rightAligned ? x + 3 : 47 + x,
- 22 + y,
- rightAligned ? 186 : 0,
- 68,
- (int) healthWidth,
- 5
- );
-
- if (health > maxHealth) {
- float absorptionWidth = Math.min(
- 70 * ((float) (health - maxHealth) / (float) maxHealth),
- 70
- );
- drawTexturedModalRect(
- rightAligned ? x + 3 : 47 + x,
- 22 + y,
- rightAligned ? 186 : 0,
- 77,
- (int) absorptionWidth,
- 5
- );
- }
-
- float xpWidth = 67 * mc.thePlayer.experience;
- drawTexturedModalRect(
- rightAligned ? x + 7 : 45 + x,
- 28 + y,
- rightAligned ? 189 : 0,
- 73,
- (int) xpWidth,
- 4
- );
- //Air in water
- NumberFormat myFormat = NumberFormat.getInstance();
- myFormat.setGroupingUsed(true);
- if (mc.thePlayer.getAir() < 300) {
- float airWidth = 60 * ((float) 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,
- (int) airWidth,
- 4
+
+ static {
+ decimalFormat.setGroupingUsed(true);
+ decimalFormat.setGroupingSize(3);
+ }
+
+ @SubscribeEvent
+ public void renderOverlay(RenderGameOverlayEvent.Post event) {
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.hasSkyblockScoreboard(),
+ SkyblockHud.config.renderer.hideXpBar
+ )
+ ) MinecraftForge.EVENT_BUS.post(
+ new RenderGameOverlayEvent.Post(
+ new RenderGameOverlayEvent(
+ event.partialTicks,
+ event.resolution
+ ),
+ RenderGameOverlayEvent.ElementType.EXPERIENCE
+ )
);
- }
- GlStateManager.scale(0.75f, 0.75f, 1);
- drawCenteredString(
- mc.fontRendererObj,
- "" + mc.thePlayer.experienceLevel,
- (rightAligned ? 130 : 0) + (int) (15 + x / 0.75f),
- (int) (45 + y / 0.75f),
- 8453920
- );
- GlStateManager.scale(1 / 0.75f, 1 / 0.75f, 1);
- GlStateManager.scale(0.75f, 0.75f, 1);
- font.drawString(
- ChatFormatting.RED + " \u2764 " + health + "/" + maxHealth,
- (rightAligned ? -40 : 0) + (int) (64 + x / 0.75f),
- (int) (8 + y / 0.75f),
- 0xffffff,
- true
- );
- GlStateManager.scale(1 / 0.75f, 1 / 0.75f, 1);
- GlStateManager.color(255, 255, 255);
- GlStateManager.disableBlend();
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.hasSkyblockScoreboard(),
+ SkyblockHud.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(GuiTextures.playerStat);
+ Position position = SkyblockHud.config.rpg.rpgHudPosition;
+
+ int x = position.getAbsX(event.resolution, 120);
+ int y = position.getAbsY(event.resolution, 47);
+
+ boolean rightAligned = position.rightAligned(event.resolution, 120);
+
+ drawTexturedModalRect(x, y, rightAligned ? 131 : 5, 6, 120, 47);
+
+ float manaWidth = Math.min(
+ 57 * ((float) mana / (float) maxMana),
+ 57
+ );
+ drawTexturedModalRect(
+ rightAligned ? x + 16 : 47 + x,
+ 17 + y,
+ rightAligned ? 199 : 0,
+ 64,
+ (int) manaWidth,
+ 4
+ );
+
+ float healthWidth = Math.min(
+ 70 * ((float) health / (float) maxHealth),
+ 70
+ );
+ drawTexturedModalRect(
+ rightAligned ? x + 3 : 47 + x,
+ 22 + y,
+ rightAligned ? 186 : 0,
+ 68,
+ (int) healthWidth,
+ 5
+ );
+
+ if (health > maxHealth) {
+ float absorptionWidth = Math.min(
+ 70 * ((float) (health - maxHealth) / (float) maxHealth),
+ 70
+ );
+ drawTexturedModalRect(
+ rightAligned ? x + 3 : 47 + x,
+ 22 + y,
+ rightAligned ? 186 : 0,
+ 77,
+ (int) absorptionWidth,
+ 5
+ );
+ }
+
+ float xpWidth = 67 * mc.thePlayer.experience;
+ drawTexturedModalRect(
+ rightAligned ? x + 7 : 45 + x,
+ 28 + y,
+ rightAligned ? 189 : 0,
+ 73,
+ (int) xpWidth,
+ 4
+ );
+ //Air in water
+ NumberFormat myFormat = NumberFormat.getInstance();
+ myFormat.setGroupingUsed(true);
+ if (mc.thePlayer.getAir() < 300) {
+ float airWidth = 60 * ((float) 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,
+ (int) airWidth,
+ 4
+ );
+ }
+ GlStateManager.scale(0.75f, 0.75f, 1);
+ drawCenteredString(
+ mc.fontRendererObj,
+ "" + mc.thePlayer.experienceLevel,
+ (rightAligned ? 130 : 0) + (int) (15 + x / 0.75f),
+ (int) (45 + y / 0.75f),
+ 8453920
+ );
+ GlStateManager.scale(1 / 0.75f, 1 / 0.75f, 1);
+ GlStateManager.scale(0.75f, 0.75f, 1);
+ font.drawString(
+ ChatFormatting.RED + " \u2764 " + health + "/" + maxHealth,
+ (rightAligned ? -40 : 0) + (int) (64 + x / 0.75f),
+ (int) (8 + y / 0.75f),
+ 0xffffff,
+ true
+ );
+ GlStateManager.scale(1 / 0.75f, 1 / 0.75f, 1);
+ GlStateManager.color(255, 255, 255);
+ GlStateManager.disableBlend();
+ }
}
- }
}