aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/overlay/DungeonOverlay.java619
1 files changed, 316 insertions, 303 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
- );
}
- }
}