From a8e475fa0a7977f64f072548459d592274169d66 Mon Sep 17 00:00:00 2001 From: TymanWasTaken Date: Tue, 6 Jul 2021 17:15:21 -0400 Subject: Format v2 --- .../skyblockhud/ComponentBuilder.java | 108 +- .../skyblockhud/ComponentHandler.java | 398 +++-- .../com/thatgravyboat/skyblockhud/GuiTextures.java | 144 +- .../com/thatgravyboat/skyblockhud/SkyblockHud.java | 301 ++-- .../thatgravyboat/skyblockhud/SpecialColour.java | 205 +-- .../java/com/thatgravyboat/skyblockhud/Utils.java | 772 ++++----- .../skyblockhud/api/LeaderboardGetter.java | 145 +- .../api/events/SidebarLineUpdateEvent.java | 38 +- .../skyblockhud/api/events/SidebarPostEvent.java | 28 +- .../skyblockhud/api/events/SidebarPreGetEvent.java | 12 +- .../skyblockhud/commands/Commands.java | 91 +- .../skyblockhud/commands/SimpleCommand.java | 101 +- .../skyblockhud/config/KeyBindings.java | 10 +- .../skyblockhud/config/SBHConfig.java | 756 +++++---- .../skyblockhud/config/SBHConfigEditor.java | 1745 ++++++++++---------- .../skyblockhud/core/BackgroundBlur.java | 491 +++--- .../skyblockhud/core/ChromaColour.java | 205 +-- .../skyblockhud/core/GlScissorStack.java | 152 +- .../thatgravyboat/skyblockhud/core/GuiElement.java | 6 +- .../skyblockhud/core/GuiElementBoolean.java | 222 +-- .../skyblockhud/core/GuiElementColour.java | 1147 +++++++------ .../skyblockhud/core/GuiElementTextField.java | 1351 +++++++-------- .../skyblockhud/core/GuiScreenElementWrapper.java | 48 +- .../skyblockhud/core/config/Config.java | 2 +- .../skyblockhud/core/config/Position.java | 335 ++-- .../core/config/annotations/Category.java | 4 +- .../core/config/annotations/ConfigAccordionId.java | 2 +- .../config/annotations/ConfigEditorAccordion.java | 2 +- .../config/annotations/ConfigEditorButton.java | 4 +- .../annotations/ConfigEditorDraggableList.java | 2 +- .../config/annotations/ConfigEditorDropdown.java | 4 +- .../config/annotations/ConfigEditorSlider.java | 6 +- .../core/config/annotations/ConfigOption.java | 6 +- .../core/config/gui/GuiOptionEditor.java | 160 +- .../core/config/gui/GuiOptionEditorAccordion.java | 152 +- .../core/config/gui/GuiOptionEditorBoolean.java | 65 +- .../core/config/gui/GuiOptionEditorButton.java | 119 +- .../core/config/gui/GuiOptionEditorColour.java | 134 +- .../config/gui/GuiOptionEditorDraggableList.java | 694 ++++---- .../core/config/gui/GuiOptionEditorDropdown.java | 428 ++--- .../core/config/gui/GuiOptionEditorSlider.java | 302 ++-- .../core/config/gui/GuiOptionEditorText.java | 159 +- .../core/config/gui/GuiPositionEditor.java | 454 ++--- .../core/config/struct/ConfigProcessor.java | 476 +++--- .../skyblockhud/core/util/GuiElementSlider.java | 317 ++-- .../skyblockhud/core/util/MiscUtils.java | 182 +- .../skyblockhud/core/util/Splitters.java | 2 +- .../skyblockhud/core/util/StringUtils.java | 53 +- .../skyblockhud/core/util/lerp/LerpUtils.java | 35 +- .../skyblockhud/core/util/lerp/LerpingFloat.java | 97 +- .../skyblockhud/core/util/lerp/LerpingInteger.java | 109 +- .../skyblockhud/core/util/render/RenderUtils.java | 580 +++---- .../core/util/render/TextRenderUtils.java | 685 ++++---- .../skyblockhud/dungeons/Classes.java | 78 +- .../skyblockhud/dungeons/DungeonHandler.java | 451 ++--- .../skyblockhud/dungeons/DungeonPlayer.java | 54 +- .../skyblockhud/handlers/BossbarHandler.java | 55 +- .../skyblockhud/handlers/CurrencyHandler.java | 208 +-- .../skyblockhud/handlers/HeldItemHandler.java | 86 +- .../skyblockhud/handlers/MapHandler.java | 821 ++++----- .../skyblockhud/handlers/SlayerHandler.java | 270 +-- .../skyblockhud/handlers/TimeHandler.java | 61 +- .../handlers/mapicons/DwarvenIcons.java | 171 +- .../skyblockhud/handlers/mapicons/HubIcons.java | 631 +++---- .../handlers/sbentities/EntityTypeHelper.java | 46 +- .../handlers/sbentities/EntityTypeRegistry.java | 30 +- .../handlers/sbentities/SkyBlockEntity.java | 30 +- .../skyblockhud/location/DwarvenMineHandler.java | 229 +-- .../skyblockhud/location/EndIslandHandler.java | 94 +- .../skyblockhud/location/FarmingIslandHandler.java | 42 +- .../skyblockhud/location/IslandHandler.java | 136 +- .../skyblockhud/location/LocationCategory.java | 82 +- .../skyblockhud/location/LocationHandler.java | 86 +- .../skyblockhud/location/Locations.java | 522 +++--- .../skyblockhud/location/ParkIslandHandler.java | 38 +- .../skyblockhud/mixins/MixinEndermanRenderer.java | 48 +- .../skyblockhud/mixins/MixinEntityArrow.java | 32 +- .../skyblockhud/mixins/MixinGuiIngameForge.java | 233 +-- .../mixins/MixinNetHandlerPlayClient.java | 46 +- .../skyblockhud/overlay/DungeonOverlay.java | 619 +++---- .../skyblockhud/overlay/GenericOverlays.java | 152 +- .../skyblockhud/overlay/OverlayHud.java | 1350 +++++++-------- .../thatgravyboat/skyblockhud/overlay/RPGHud.java | 349 ++-- .../skyblockhud/playerstats/ActionBarParsing.java | 296 ++-- .../thatgravyboat/skyblockhud/seasons/Season.java | 96 +- .../skyblockhud/seasons/SeasonDateHandler.java | 166 +- .../skyblockhud/tracker/KillTrackerHandler.java | 124 +- .../skyblockhud/tracker/TrackerFileLoader.java | 435 ++--- .../skyblockhud/tracker/TrackerHandler.java | 307 ++-- 89 files changed, 11642 insertions(+), 10878 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/thatgravyboat/skyblockhud/ComponentBuilder.java b/src/main/java/com/thatgravyboat/skyblockhud/ComponentBuilder.java index 4e6f398..28c5485 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/ComponentBuilder.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/ComponentBuilder.java @@ -2,58 +2,58 @@ package com.thatgravyboat.skyblockhud; public class ComponentBuilder { - public StringBuilder builder; - - public ComponentBuilder() { - this.builder = new StringBuilder(); - } - - public ComponentBuilder apd(String text) { - return apd(text, '7'); - } - - public ComponentBuilder apd(String text, char[] colors) { - for (char color : colors) { - builder.append("\u00A7").append(color); - } - builder.append(text).append("\u00A7").append('r'); - return this; - } - - public ComponentBuilder apd(String text, char color) { - builder - .append("\u00A7") - .append(color) - .append(text) - .append("\u00A7") - .append('r'); - return this; - } - - public ComponentBuilder nl() { - builder.append("\n"); - return this; - } - - public ComponentBuilder nl(String text, char color) { - apd(text, color); - builder.append("\n"); - return this; - } - - public ComponentBuilder nl(String text, char[] colors) { - apd(text, colors); - builder.append("\n"); - return this; - } - - public ComponentBuilder nl(String text) { - apd(text); - builder.append("\n"); - return this; - } - - public String build() { - return builder.toString(); - } + public StringBuilder builder; + + public ComponentBuilder() { + this.builder = new StringBuilder(); + } + + public ComponentBuilder apd(String text) { + return apd(text, '7'); + } + + public ComponentBuilder apd(String text, char[] colors) { + for (char color : colors) { + builder.append("\u00A7").append(color); + } + builder.append(text).append("\u00A7").append('r'); + return this; + } + + public ComponentBuilder apd(String text, char color) { + builder + .append("\u00A7") + .append(color) + .append(text) + .append("\u00A7") + .append('r'); + return this; + } + + public ComponentBuilder nl() { + builder.append("\n"); + return this; + } + + public ComponentBuilder nl(String text, char color) { + apd(text, color); + builder.append("\n"); + return this; + } + + public ComponentBuilder nl(String text, char[] colors) { + apd(text, colors); + builder.append("\n"); + return this; + } + + public ComponentBuilder nl(String text) { + apd(text); + builder.append("\n"); + return this; + } + + public String build() { + return builder.toString(); + } } diff --git a/src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java index 03bfe04..ef2028d 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java @@ -22,193 +22,243 @@ import net.minecraftforge.fml.relauncher.SideOnly; public class ComponentHandler { - public static final Pattern SCOREBOARD_CHARACTERS = Pattern.compile( - "[^]\\[a-z A-Z:0-9/'.()+\\d-§?]" - ); - private static final Ordering sortingList = Ordering.from( - new PlayerComparator() - ); - private static int ticksExisted = 0; + public static final Pattern SCOREBOARD_CHARACTERS = Pattern.compile( + "[^]\\[a-z A-Z:0-9/'.()+\\d-§?]" + ); + private static final Ordering sortingList = Ordering.from( + new PlayerComparator() + ); + private static int ticksExisted = 0; - @SubscribeEvent - public void onClientTick(TickEvent.ClientTickEvent event) { - Minecraft mc = Minecraft.getMinecraft(); - ticksExisted++; - boolean eventPass = false; - if (mc.theWorld != null) { - List players = sortingList.sortedCopy( - mc.thePlayer.sendQueue.getPlayerInfoMap() - ); - GuiIngameForge.renderObjective = - !SkyblockHud.hasSkyblockScoreboard() || - !SkyblockHud.config.misc.hideScoreboard; - if (players != null && SkyblockHud.hasSkyblockScoreboard()) { - if (ticksExisted % 60 == 0) { - for (NetworkPlayerInfo player : players) { - if (player.getDisplayName() != null) { - String formattedTabListPlayer = SCOREBOARD_CHARACTERS - .matcher( - Utils.removeColor(player.getDisplayName().getFormattedText()) - ) - .replaceAll(""); - if ( - LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS) - ) { - if ( - formattedTabListPlayer - .toLowerCase() - .contains("secrets found:") - ) DungeonHandler.parseTotalSecrets(formattedTabListPlayer); - if ( - formattedTabListPlayer.toLowerCase().contains("deaths:") - ) DungeonHandler.parseDeaths(formattedTabListPlayer); - if ( - formattedTabListPlayer.toLowerCase().contains("crypts:") - ) DungeonHandler.parseCrypts(formattedTabListPlayer); - } else if ( - LocationHandler - .getCurrentLocation() - .getCategory() - .equals(LocationCategory.DWARVENMINES) - ) { - if ( - formattedTabListPlayer - .toLowerCase() - .contains("mithril powder:") - ) { - DwarvenMineHandler.parseMithril(formattedTabListPlayer); - } - } else if ( - LocationHandler - .getCurrentLocation() - .getCategory() - .equals(LocationCategory.MUSHROOMDESERT) - ) { - if (formattedTabListPlayer.toLowerCase().contains("pelts:")) { - try { - FarmingIslandHandler.pelts = - Integer.parseInt( - formattedTabListPlayer - .toLowerCase() - .replace("pelts:", "") - .trim() - ); - } catch (Exception ignored) {} - } - } - } - } - if (players.size() > 80) { - for (int i = 61; i <= 80; i++) { - if (players.get(i).getDisplayName() != null) { - String formattedTabListPlayer = SCOREBOARD_CHARACTERS - .matcher( - Utils.removeColor( - players.get(i).getDisplayName().getFormattedText() - ) - ) - .replaceAll(""); - if (formattedTabListPlayer.toLowerCase().contains("event:")) { - if (i < 80) { - if (players.get(i + 1).getDisplayName() != null) { - String secondLine = SCOREBOARD_CHARACTERS - .matcher( - Utils.removeColor( - players - .get(i + 1) - .getDisplayName() - .getFormattedText() - ) - ) - .replaceAll(""); - SeasonDateHandler.setCurrentEvent( - formattedTabListPlayer.replace("Event:", ""), - secondLine - ); - eventPass = true; + @SubscribeEvent + public void onClientTick(TickEvent.ClientTickEvent event) { + Minecraft mc = Minecraft.getMinecraft(); + ticksExisted++; + boolean eventPass = false; + if (mc.theWorld != null) { + List players = sortingList.sortedCopy( + mc.thePlayer.sendQueue.getPlayerInfoMap() + ); + GuiIngameForge.renderObjective = + !SkyblockHud.hasSkyblockScoreboard() || + !SkyblockHud.config.misc.hideScoreboard; + if (players != null && SkyblockHud.hasSkyblockScoreboard()) { + if (ticksExisted % 60 == 0) { + for (NetworkPlayerInfo player : players) { + if (player.getDisplayName() != null) { + String formattedTabListPlayer = SCOREBOARD_CHARACTERS + .matcher( + Utils.removeColor( + player + .getDisplayName() + .getFormattedText() + ) + ) + .replaceAll(""); + if ( + LocationHandler + .getCurrentLocation() + .equals(Locations.CATACOMBS) + ) { + if ( + formattedTabListPlayer + .toLowerCase() + .contains("secrets found:") + ) DungeonHandler.parseTotalSecrets( + formattedTabListPlayer + ); + if ( + formattedTabListPlayer + .toLowerCase() + .contains("deaths:") + ) DungeonHandler.parseDeaths( + formattedTabListPlayer + ); + if ( + formattedTabListPlayer + .toLowerCase() + .contains("crypts:") + ) DungeonHandler.parseCrypts( + formattedTabListPlayer + ); + } else if ( + LocationHandler + .getCurrentLocation() + .getCategory() + .equals(LocationCategory.DWARVENMINES) + ) { + if ( + formattedTabListPlayer + .toLowerCase() + .contains("mithril powder:") + ) { + DwarvenMineHandler.parseMithril( + formattedTabListPlayer + ); + } + } else if ( + LocationHandler + .getCurrentLocation() + .getCategory() + .equals(LocationCategory.MUSHROOMDESERT) + ) { + if ( + formattedTabListPlayer + .toLowerCase() + .contains("pelts:") + ) { + try { + FarmingIslandHandler.pelts = + Integer.parseInt( + formattedTabListPlayer + .toLowerCase() + .replace("pelts:", "") + .trim() + ); + } catch (Exception ignored) {} + } + } + } + } + if (players.size() > 80) { + for (int i = 61; i <= 80; i++) { + if (players.get(i).getDisplayName() != null) { + String formattedTabListPlayer = SCOREBOARD_CHARACTERS + .matcher( + Utils.removeColor( + players + .get(i) + .getDisplayName() + .getFormattedText() + ) + ) + .replaceAll(""); + if ( + formattedTabListPlayer + .toLowerCase() + .contains("event:") + ) { + if (i < 80) { + if ( + players + .get(i + 1) + .getDisplayName() != + null + ) { + String secondLine = SCOREBOARD_CHARACTERS + .matcher( + Utils.removeColor( + players + .get(i + 1) + .getDisplayName() + .getFormattedText() + ) + ) + .replaceAll(""); + SeasonDateHandler.setCurrentEvent( + formattedTabListPlayer.replace( + "Event:", + "" + ), + secondLine + ); + eventPass = true; + } + } + } + } + if (i == 80 && !eventPass) { + SeasonDateHandler.setCurrentEvent("", ""); + } + } } - } } - } - if (i == 80 && !eventPass) { - SeasonDateHandler.setCurrentEvent("", ""); - } - } - } - } - if ( - LocationHandler - .getCurrentLocation() - .getCategory() - .equals(LocationCategory.PARK) - ) { - if (players.size() >= 80) { - for (int i = 41; i <= 60; i++) { - if (players.get(i).getDisplayName() != null) { - String formattedTabListPlayer = SCOREBOARD_CHARACTERS - .matcher( - Utils.removeColor( - players.get(i).getDisplayName().getFormattedText() - ) - ) - .replaceAll(""); if ( - LocationHandler - .getCurrentLocation() - .getCategory() - .equals(LocationCategory.PARK) + LocationHandler + .getCurrentLocation() + .getCategory() + .equals(LocationCategory.PARK) ) { - if (formattedTabListPlayer.toLowerCase().contains("rain:")) { - ParkIslandHandler.parseRain( - formattedTabListPlayer.toLowerCase() - ); - } + if (players.size() >= 80) { + for (int i = 41; i <= 60; i++) { + if (players.get(i).getDisplayName() != null) { + String formattedTabListPlayer = SCOREBOARD_CHARACTERS + .matcher( + Utils.removeColor( + players + .get(i) + .getDisplayName() + .getFormattedText() + ) + ) + .replaceAll(""); + if ( + LocationHandler + .getCurrentLocation() + .getCategory() + .equals(LocationCategory.PARK) + ) { + if ( + formattedTabListPlayer + .toLowerCase() + .contains("rain:") + ) { + ParkIslandHandler.parseRain( + formattedTabListPlayer.toLowerCase() + ); + } + } + } + } + } + } else if (ParkIslandHandler.isRaining()) { + ParkIslandHandler.parseRain(null); } - } } - } - } else if (ParkIslandHandler.isRaining()) { - ParkIslandHandler.parseRain(null); } - } } - } - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onStatusBar(ClientChatReceivedEvent event) { - if (event.type == 2) { - if ( - LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS) - ) DungeonHandler.parseSecrets(event.message.getFormattedText()); + @SubscribeEvent(priority = EventPriority.HIGHEST) + public void onStatusBar(ClientChatReceivedEvent event) { + if (event.type == 2) { + if ( + LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS) + ) DungeonHandler.parseSecrets(event.message.getFormattedText()); + } } - } - @SideOnly(Side.CLIENT) - static class PlayerComparator implements Comparator { + @SideOnly(Side.CLIENT) + static class PlayerComparator implements Comparator { - private PlayerComparator() {} + private PlayerComparator() {} - public int compare( - NetworkPlayerInfo p_compare_1_, - NetworkPlayerInfo p_compare_2_ - ) { - ScorePlayerTeam scoreplayerteam = p_compare_1_.getPlayerTeam(); - ScorePlayerTeam scoreplayerteam1 = p_compare_2_.getPlayerTeam(); - return ComparisonChain - .start() - .compareTrueFirst( - p_compare_1_.getGameType() != WorldSettings.GameType.SPECTATOR, - p_compare_2_.getGameType() != WorldSettings.GameType.SPECTATOR - ) - .compare( - scoreplayerteam != null ? scoreplayerteam.getRegisteredName() : "", - scoreplayerteam1 != null ? scoreplayerteam1.getRegisteredName() : "" - ) - .compare( - p_compare_1_.getGameProfile().getName(), - p_compare_2_.getGameProfile().getName() - ) - .result(); + public int compare( + NetworkPlayerInfo p_compare_1_, + NetworkPlayerInfo p_compare_2_ + ) { + ScorePlayerTeam scoreplayerteam = p_compare_1_.getPlayerTeam(); + ScorePlayerTeam scoreplayerteam1 = p_compare_2_.getPlayerTeam(); + return ComparisonChain + .start() + .compareTrueFirst( + p_compare_1_.getGameType() != + WorldSettings.GameType.SPECTATOR, + p_compare_2_.getGameType() != + WorldSettings.GameType.SPECTATOR + ) + .compare( + scoreplayerteam != null + ? scoreplayerteam.getRegisteredName() + : "", + scoreplayerteam1 != null + ? scoreplayerteam1.getRegisteredName() + : "" + ) + .compare( + p_compare_1_.getGameProfile().getName(), + p_compare_2_.getGameProfile().getName() + ) + .result(); + } } - } } diff --git a/src/main/java/com/thatgravyboat/skyblockhud/GuiTextures.java b/src/main/java/com/thatgravyboat/skyblockhud/GuiTextures.java index 927b7c0..d7c2513 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/GuiTextures.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/GuiTextures.java @@ -4,82 +4,82 @@ import net.minecraft.util.ResourceLocation; public class GuiTextures { - private GuiTextures() {} + private GuiTextures() {} - public static final ResourceLocation DISCORD = new ResourceLocation( - "skyblockhud:discord.png" - ); - public static final ResourceLocation TWITTER = new ResourceLocation( - "skyblockhud:twitter.png" - ); + public static final ResourceLocation DISCORD = new ResourceLocation( + "skyblockhud:discord.png" + ); + public static final ResourceLocation TWITTER = new ResourceLocation( + "skyblockhud:twitter.png" + ); - public static final ResourceLocation button_tex = new ResourceLocation( - "skyblockhud:button.png" - ); + public static final ResourceLocation button_tex = new ResourceLocation( + "skyblockhud:button.png" + ); - public static final ResourceLocation button_white = new ResourceLocation( - "skyblockhud:button_white.png" - ); + public static final ResourceLocation button_white = new ResourceLocation( + "skyblockhud:button_white.png" + ); - public static final ResourceLocation BAR = new ResourceLocation( - "skyblockhud:core/bar.png" - ); - public static final ResourceLocation OFF = new ResourceLocation( - "skyblockhud:core/toggle_off.png" - ); - public static final ResourceLocation ONE = new ResourceLocation( - "skyblockhud:core/toggle_1.png" - ); - public static final ResourceLocation TWO = new ResourceLocation( - "skyblockhud:core/toggle_2.png" - ); - public static final ResourceLocation THREE = new ResourceLocation( - "skyblockhud:core/toggle_3.png" - ); - public static final ResourceLocation ON = new ResourceLocation( - "skyblockhud:core/toggle_on.png" - ); + public static final ResourceLocation BAR = new ResourceLocation( + "skyblockhud:core/bar.png" + ); + public static final ResourceLocation OFF = new ResourceLocation( + "skyblockhud:core/toggle_off.png" + ); + public static final ResourceLocation ONE = new ResourceLocation( + "skyblockhud:core/toggle_1.png" + ); + public static final ResourceLocation TWO = new ResourceLocation( + "skyblockhud:core/toggle_2.png" + ); + public static final ResourceLocation THREE = new ResourceLocation( + "skyblockhud:core/toggle_3.png" + ); + public static final ResourceLocation ON = new ResourceLocation( + "skyblockhud:core/toggle_on.png" + ); - public static final ResourceLocation slider_off_cap = new ResourceLocation( - "skyblockhud:core/slider/slider_off_cap.png" - ); - public static final ResourceLocation slider_off_notch = new ResourceLocation( - "skyblockhud:core/slider/slider_off_notch.png" - ); - public static final ResourceLocation slider_off_segment = new ResourceLocation( - "skyblockhud:core/slider/slider_off_segment.png" - ); - public static final ResourceLocation slider_on_cap = new ResourceLocation( - "skyblockhud:core/slider/slider_on_cap.png" - ); - public static final ResourceLocation slider_on_notch = new ResourceLocation( - "skyblockhud:core/slider/slider_on_notch.png" - ); - public static final ResourceLocation slider_on_segment = new ResourceLocation( - "skyblockhud:core/slider/slider_on_segment.png" - ); - public static final ResourceLocation slider_button_new = new ResourceLocation( - "skyblockhud:core/slider/slider_button.png" - ); + public static final ResourceLocation slider_off_cap = new ResourceLocation( + "skyblockhud:core/slider/slider_off_cap.png" + ); + public static final ResourceLocation slider_off_notch = new ResourceLocation( + "skyblockhud:core/slider/slider_off_notch.png" + ); + public static final ResourceLocation slider_off_segment = new ResourceLocation( + "skyblockhud:core/slider/slider_off_segment.png" + ); + public static final ResourceLocation slider_on_cap = new ResourceLocation( + "skyblockhud:core/slider/slider_on_cap.png" + ); + public static final ResourceLocation slider_on_notch = new ResourceLocation( + "skyblockhud:core/slider/slider_on_notch.png" + ); + public static final ResourceLocation slider_on_segment = new ResourceLocation( + "skyblockhud:core/slider/slider_on_segment.png" + ); + public static final ResourceLocation slider_button_new = new ResourceLocation( + "skyblockhud:core/slider/slider_button.png" + ); - public static final ResourceLocation overlay = new ResourceLocation( - "skyblockhud", - "stats.png" - ); - public static final ResourceLocation dungeon = new ResourceLocation( - "skyblockhud", - "dungeon.png" - ); - public static final ResourceLocation playerStat = new ResourceLocation( - "skyblockhud", - "playerstats.png" - ); - public static final ResourceLocation bars = new ResourceLocation( - "skyblockhud", - "bars.png" - ); - public static final ResourceLocation mapOverlay = new ResourceLocation( - "skyblockhud", - "maps/map_overlay.png" - ); + public static final ResourceLocation overlay = new ResourceLocation( + "skyblockhud", + "stats.png" + ); + public static final ResourceLocation dungeon = new ResourceLocation( + "skyblockhud", + "dungeon.png" + ); + public static final ResourceLocation playerStat = new ResourceLocation( + "skyblockhud", + "playerstats.png" + ); + public static final ResourceLocation bars = new ResourceLocation( + "skyblockhud", + "bars.png" + ); + public static final ResourceLocation mapOverlay = new ResourceLocation( + "skyblockhud", + "maps/map_overlay.png" + ); } diff --git a/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java b/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java index 7d06d99..dae040c 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/SkyblockHud.java @@ -44,105 +44,105 @@ import org.lwjgl.input.Keyboard; @Mod(modid = SkyblockHud.MODID, version = SkyblockHud.VERSION) public class SkyblockHud { - public static final String MODID = "skyblockhud"; - public static final String VERSION = "1.12"; - - public static SBHConfig config; - - private File configFile; - - private static final Set SKYBLOCK_IN_ALL_LANGUAGES = Sets.newHashSet( - "SKYBLOCK", - "\u7A7A\u5C9B\u751F\u5B58" - ); - - private final Gson gson = new GsonBuilder() - .setPrettyPrinting() - .excludeFieldsWithoutExposeAnnotation() - .create(); - - private static File configDirectory; - - @EventHandler - public void preInit(FMLPreInitializationEvent event) { - MinecraftForge.EVENT_BUS.register(this); - MinecraftForge.EVENT_BUS.register(new LeaderboardGetter()); - MinecraftForge.EVENT_BUS.register(new SeasonDateHandler()); - MinecraftForge.EVENT_BUS.register(new LocationHandler()); - MinecraftForge.EVENT_BUS.register(new IslandHandler()); - MinecraftForge.EVENT_BUS.register(new TimeHandler()); - MinecraftForge.EVENT_BUS.register(new CurrencyHandler()); - MinecraftForge.EVENT_BUS.register(new SlayerHandler()); - MinecraftForge.EVENT_BUS.register(new DungeonHandler()); - MinecraftForge.EVENT_BUS.register(new DwarvenMineHandler()); - MinecraftForge.EVENT_BUS.register(new FarmingIslandHandler()); + public static final String MODID = "skyblockhud"; + public static final String VERSION = "1.12"; - /* DISABLE UNTIL NEW SYSTEM + public static SBHConfig config; + + private File configFile; + + private static final Set SKYBLOCK_IN_ALL_LANGUAGES = Sets.newHashSet( + "SKYBLOCK", + "\u7A7A\u5C9B\u751F\u5B58" + ); + + private final Gson gson = new GsonBuilder() + .setPrettyPrinting() + .excludeFieldsWithoutExposeAnnotation() + .create(); + + private static File configDirectory; + + @EventHandler + public void preInit(FMLPreInitializationEvent event) { + MinecraftForge.EVENT_BUS.register(this); + MinecraftForge.EVENT_BUS.register(new LeaderboardGetter()); + MinecraftForge.EVENT_BUS.register(new SeasonDateHandler()); + MinecraftForge.EVENT_BUS.register(new LocationHandler()); + MinecraftForge.EVENT_BUS.register(new IslandHandler()); + MinecraftForge.EVENT_BUS.register(new TimeHandler()); + MinecraftForge.EVENT_BUS.register(new CurrencyHandler()); + MinecraftForge.EVENT_BUS.register(new SlayerHandler()); + MinecraftForge.EVENT_BUS.register(new DungeonHandler()); + MinecraftForge.EVENT_BUS.register(new DwarvenMineHandler()); + MinecraftForge.EVENT_BUS.register(new FarmingIslandHandler()); + + /* DISABLE UNTIL NEW SYSTEM MinecraftForge.EVENT_BUS.register(new TrackerHandler()); MinecraftForge.EVENT_BUS.register(new KillTrackerHandler()); */ - MinecraftForge.EVENT_BUS.register(new HeldItemHandler()); - - ClientRegistry.registerKeyBinding(KeyBindings.map); - - MinecraftForge.EVENT_BUS.register(new ComponentHandler()); - MinecraftForge.EVENT_BUS.register(new ActionBarParsing()); - Commands.init(); - - configFile = - new File(event.getModConfigurationDirectory(), "sbh-config.json"); - - if (configFile.exists()) { - try ( - BufferedReader reader = new BufferedReader( - new InputStreamReader( - new FileInputStream(configFile), - StandardCharsets.UTF_8 - ) - ) - ) { - config = gson.fromJson(reader, SBHConfig.class); - } catch (Exception ignored) {} + MinecraftForge.EVENT_BUS.register(new HeldItemHandler()); + + ClientRegistry.registerKeyBinding(KeyBindings.map); + + MinecraftForge.EVENT_BUS.register(new ComponentHandler()); + MinecraftForge.EVENT_BUS.register(new ActionBarParsing()); + Commands.init(); + + configFile = + new File(event.getModConfigurationDirectory(), "sbh-config.json"); + + if (configFile.exists()) { + try ( + BufferedReader reader = new BufferedReader( + new InputStreamReader( + new FileInputStream(configFile), + StandardCharsets.UTF_8 + ) + ) + ) { + config = gson.fromJson(reader, SBHConfig.class); + } catch (Exception ignored) {} + } + + if (config == null) { + config = new SBHConfig(); + saveConfig(); + } + + configDirectory = event.getModConfigurationDirectory(); + + Runtime.getRuntime().addShutdownHook(new Thread(this::saveConfig)); + //Runtime.getRuntime().addShutdownHook(new Thread(() -> TrackerFileLoader.saveTrackerStatsFile(event.getModConfigurationDirectory()))); } - if (config == null) { - config = new SBHConfig(); - saveConfig(); + public void saveConfig() { + try { + configFile.createNewFile(); + + try ( + BufferedWriter writer = new BufferedWriter( + new OutputStreamWriter( + new FileOutputStream(configFile), + StandardCharsets.UTF_8 + ) + ) + ) { + writer.write(gson.toJson(config)); + } + } catch (IOException ignored) {} } - configDirectory = event.getModConfigurationDirectory(); - - Runtime.getRuntime().addShutdownHook(new Thread(this::saveConfig)); - //Runtime.getRuntime().addShutdownHook(new Thread(() -> TrackerFileLoader.saveTrackerStatsFile(event.getModConfigurationDirectory()))); - } - - public void saveConfig() { - try { - configFile.createNewFile(); - - try ( - BufferedWriter writer = new BufferedWriter( - new OutputStreamWriter( - new FileOutputStream(configFile), - StandardCharsets.UTF_8 - ) - ) - ) { - writer.write(gson.toJson(config)); - } - } catch (IOException ignored) {} - } - - @EventHandler - public void postInit(FMLPostInitializationEvent event) { - MinecraftForge.EVENT_BUS.register(new OverlayHud()); - MinecraftForge.EVENT_BUS.register(new RPGHud()); - MinecraftForge.EVENT_BUS.register(new DungeonOverlay()); - MinecraftForge.EVENT_BUS.register(new BossbarHandler()); - MinecraftForge.EVENT_BUS.register(new MapHandler()); - } - - /* DISABLE UNTIL NEW SYSTEM + @EventHandler + public void postInit(FMLPostInitializationEvent event) { + MinecraftForge.EVENT_BUS.register(new OverlayHud()); + MinecraftForge.EVENT_BUS.register(new RPGHud()); + MinecraftForge.EVENT_BUS.register(new DungeonOverlay()); + MinecraftForge.EVENT_BUS.register(new BossbarHandler()); + MinecraftForge.EVENT_BUS.register(new MapHandler()); + } + + /* DISABLE UNTIL NEW SYSTEM @EventHandler public void loadComplete(FMLLoadCompleteEvent event){ @@ -160,67 +160,72 @@ public class SkyblockHud { */ - public static boolean hasSkyblockScoreboard() { - Minecraft mc = Minecraft.getMinecraft(); - - if (mc != null && mc.theWorld != null) { - Scoreboard scoreboard = mc.theWorld.getScoreboard(); - ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot(1); - if (sidebarObjective != null) { - String objectiveName = sidebarObjective - .getDisplayName() - .replaceAll("(?i)\\u00A7.", ""); - for (String skyblock : SKYBLOCK_IN_ALL_LANGUAGES) { - if (objectiveName.startsWith(skyblock)) { - return true; - } + public static boolean hasSkyblockScoreboard() { + Minecraft mc = Minecraft.getMinecraft(); + + if (mc != null && mc.theWorld != null) { + Scoreboard scoreboard = mc.theWorld.getScoreboard(); + ScoreObjective sidebarObjective = scoreboard.getObjectiveInDisplaySlot( + 1 + ); + if (sidebarObjective != null) { + String objectiveName = sidebarObjective + .getDisplayName() + .replaceAll("(?i)\\u00A7.", ""); + for (String skyblock : SKYBLOCK_IN_ALL_LANGUAGES) { + if (objectiveName.startsWith(skyblock)) { + return true; + } + } + } } - } + + return false; } - return false; - } - - @SubscribeEvent - public void onTooltip(ItemTooltipEvent event) { - if (event.itemStack != null && Keyboard.isKeyDown(Keyboard.KEY_BACKSLASH)) { - try { - StringSelection clipboard = new StringSelection( - event.itemStack.serializeNBT().toString() - ); - Toolkit - .getDefaultToolkit() - .getSystemClipboard() - .setContents(clipboard, clipboard); - } catch (Exception ignored) {} + @SubscribeEvent + public void onTooltip(ItemTooltipEvent event) { + if ( + event.itemStack != null && + Keyboard.isKeyDown(Keyboard.KEY_BACKSLASH) + ) { + try { + StringSelection clipboard = new StringSelection( + event.itemStack.serializeNBT().toString() + ); + Toolkit + .getDefaultToolkit() + .getSystemClipboard() + .setContents(clipboard, clipboard); + } catch (Exception ignored) {} + } } - } - - @SubscribeEvent(priority = EventPriority.HIGHEST) - public void onStatusBar(ClientChatReceivedEvent event) { - if ( - Utils - .removeColor(event.message.getUnformattedText()) - .toLowerCase() - .trim() - .startsWith("your profile was changed to:") - ) { - MinecraftForge.EVENT_BUS.post(new ProfileSwitchedEvent()); + + @SubscribeEvent(priority = EventPriority.HIGHEST) + public void onStatusBar(ClientChatReceivedEvent event) { + if ( + Utils + .removeColor(event.message.getUnformattedText()) + .toLowerCase() + .trim() + .startsWith("your profile was changed to:") + ) { + MinecraftForge.EVENT_BUS.post(new ProfileSwitchedEvent()); + } } - } - - public static GuiScreen screenToOpen = null; - private static int screenTicks = 0; - - @SubscribeEvent - public void onClientTick(TickEvent.ClientTickEvent event) { - if (screenToOpen != null) { - screenTicks++; - if (screenTicks == 5) { - Minecraft.getMinecraft().displayGuiScreen(screenToOpen); - screenTicks = 0; - screenToOpen = null; - } + + public static GuiScreen screenToOpen = null; + private static int screenTicks = 0; + + @SubscribeEvent + public void onClientTick(TickEvent.ClientTickEvent event) { + if (screenToOpen != null) { + screenTicks++; + if (screenTicks == 5) { + Minecraft.getMinecraft().displayGuiScreen(screenToOpen); + screenTicks = 0; + screenToOpen = null; + } + } } - } } diff --git a/src/main/java/com/thatgravyboat/skyblockhud/SpecialColour.java b/src/main/java/com/thatgravyboat/skyblockhud/SpecialColour.java index 06dd70c..f675778 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/SpecialColour.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/SpecialColour.java @@ -4,111 +4,116 @@ import java.awt.*; public class SpecialColour { - public static String special(int chromaSpeed, int alpha, int rgb) { - return special( - chromaSpeed, - alpha, - (rgb & 0xFF0000) >> 16, - (rgb & 0x00FF00) >> 8, - (rgb & 0x0000FF) - ); - } - - private static final int RADIX = 10; - - public static String special( - int chromaSpeed, - int alpha, - int r, - int g, - int b - ) { - StringBuilder sb = new StringBuilder(); - sb.append(Integer.toString(chromaSpeed, RADIX)).append(":"); - sb.append(Integer.toString(alpha, RADIX)).append(":"); - sb.append(Integer.toString(r, RADIX)).append(":"); - sb.append(Integer.toString(g, RADIX)).append(":"); - sb.append(Integer.toString(b, RADIX)); - return sb.toString(); - } - - private static int[] decompose(String csv) { - String[] split = csv.split(":"); - - int[] arr = new int[split.length]; - - for (int i = 0; i < split.length; i++) { - arr[i] = Integer.parseInt(split[split.length - 1 - i], RADIX); + public static String special(int chromaSpeed, int alpha, int rgb) { + return special( + chromaSpeed, + alpha, + (rgb & 0xFF0000) >> 16, + (rgb & 0x00FF00) >> 8, + (rgb & 0x0000FF) + ); } - return arr; - } - - public static int specialToSimpleRGB(String special) { - int[] d = decompose(special); - int r = d[2]; - int g = d[1]; - int b = d[0]; - int a = d[3]; - int chr = d[4]; - - return (a & 0xFF) << 24 | (r & 0xFF) << 16 | (g & 0xFF) << 8 | (b & 0xFF); - } - - public static int getSpeed(String special) { - return decompose(special)[4]; - } - - public static float getSecondsForSpeed(int speed) { - return ( - (255 - speed) / - 254f * - (MAX_CHROMA_SECS - MIN_CHROMA_SECS) + - MIN_CHROMA_SECS - ); - } - - private static final int MIN_CHROMA_SECS = 1; - private static final int MAX_CHROMA_SECS = 60; - - public static long startTime = -1; - - public static int specialToChromaRGB(String special) { - if (startTime < 0) startTime = System.currentTimeMillis(); - - int[] d = decompose(special); - int chr = d[4]; - int a = d[3]; - int r = d[2]; - int g = d[1]; - int b = d[0]; - - float[] hsv = Color.RGBtoHSB(r, g, b, null); - - if (chr > 0) { - float seconds = getSecondsForSpeed(chr); - hsv[0] += (System.currentTimeMillis() - startTime) / 1000f / seconds; - hsv[0] %= 1; - if (hsv[0] < 0) hsv[0] += 1; + + private static final int RADIX = 10; + + public static String special( + int chromaSpeed, + int alpha, + int r, + int g, + int b + ) { + StringBuilder sb = new StringBuilder(); + sb.append(Integer.toString(chromaSpeed, RADIX)).append(":"); + sb.append(Integer.toString(alpha, RADIX)).append(":"); + sb.append(Integer.toString(r, RADIX)).append(":"); + sb.append(Integer.toString(g, RADIX)).append(":"); + sb.append(Integer.toString(b, RADIX)); + return sb.toString(); + } + + private static int[] decompose(String csv) { + String[] split = csv.split(":"); + + int[] arr = new int[split.length]; + + for (int i = 0; i < split.length; i++) { + arr[i] = Integer.parseInt(split[split.length - 1 - i], RADIX); + } + return arr; } - return ( - (a & 0xFF) << 24 | (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF) - ); - } + public static int specialToSimpleRGB(String special) { + int[] d = decompose(special); + int r = d[2]; + int g = d[1]; + int b = d[0]; + int a = d[3]; + int chr = d[4]; + + return ( + (a & 0xFF) << 24 | (r & 0xFF) << 16 | (g & 0xFF) << 8 | (b & 0xFF) + ); + } + + public static int getSpeed(String special) { + return decompose(special)[4]; + } + + public static float getSecondsForSpeed(int speed) { + return ( + (255 - speed) / + 254f * + (MAX_CHROMA_SECS - MIN_CHROMA_SECS) + + MIN_CHROMA_SECS + ); + } - public static int rotateHue(int argb, int degrees) { - int a = (argb >> 24) & 0xFF; - int r = (argb >> 16) & 0xFF; - int g = (argb >> 8) & 0xFF; - int b = (argb) & 0xFF; + private static final int MIN_CHROMA_SECS = 1; + private static final int MAX_CHROMA_SECS = 60; - float[] hsv = Color.RGBtoHSB(r, g, b, null); + public static long startTime = -1; - hsv[0] += degrees / 360f; - hsv[0] %= 1; + public static int specialToChromaRGB(String special) { + if (startTime < 0) startTime = System.currentTimeMillis(); - return ( - (a & 0xFF) << 24 | (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF) - ); - } + int[] d = decompose(special); + int chr = d[4]; + int a = d[3]; + int r = d[2]; + int g = d[1]; + int b = d[0]; + + float[] hsv = Color.RGBtoHSB(r, g, b, null); + + if (chr > 0) { + float seconds = getSecondsForSpeed(chr); + hsv[0] += + (System.currentTimeMillis() - startTime) / 1000f / seconds; + hsv[0] %= 1; + if (hsv[0] < 0) hsv[0] += 1; + } + + return ( + (a & 0xFF) << 24 | + (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF) + ); + } + + public static int rotateHue(int argb, int degrees) { + int a = (argb >> 24) & 0xFF; + int r = (argb >> 16) & 0xFF; + int g = (argb >> 8) & 0xFF; + int b = (argb) & 0xFF; + + float[] hsv = Color.RGBtoHSB(r, g, b, null); + + hsv[0] += degrees / 360f; + hsv[0] %= 1; + + return ( + (a & 0xFF) << 24 | + (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF) + ); + } } diff --git a/src/main/java/com/thatgravyboat/skyblockhud/Utils.java b/src/main/java/com/thatgravyboat/skyblockhud/Utils.java index c52af7c..9f6712c 100644 --- a/src/main/java/com/thatgravyboat/skyblockhud/Utils.java +++ b/src/main/java/com/thatgravyboat/skyblockhud/Utils.java @@ -22,404 +22,410 @@ import org.lwjgl.opengl.GL14; public class Utils { - private static LinkedList guiScales = new LinkedList<>(); - private static ScaledResolution lastScale = new ScaledResolution( - Minecraft.getMinecraft() - ); - //Labymod compatibility - private static FloatBuffer projectionMatrixOld = BufferUtils.createFloatBuffer( - 16 - ); - private static FloatBuffer modelviewMatrixOld = BufferUtils.createFloatBuffer( - 16 - ); - - public static String removeColor(String input) { - return input.replaceAll("(?i)\\u00A7.", ""); - } - - public static String removeWhiteSpaceAndRemoveWord( - String input, - String replace - ) { - return input.toLowerCase().replace(" ", "").replace(replace, ""); - } - - public static boolean isPlayerHoldingRedstone(EntityPlayerSP player) { - if (!SkyblockHud.config.main.requireRedstone) return true; - ArrayList redstoneItems = new ArrayList<>( - Arrays.asList( - Items.redstone, - Items.repeater, - Items.comparator, - Item.getByNameOrId("minecraft:redstone_torch") - ) + private static LinkedList guiScales = new LinkedList<>(); + private static ScaledResolution lastScale = new ScaledResolution( + Minecraft.getMinecraft() ); - if (player.getHeldItem() != null) return redstoneItems.contains( - player.getHeldItem().getItem() + //Labymod compatibility + private static FloatBuffer projectionMatrixOld = BufferUtils.createFloatBuffer( + 16 ); - return false; - } - - public static boolean inRangeInclusive(int value, int min, int max) { - return value <= max && value >= min; - } - - public static int whatRomanNumeral(String roman) { - switch (roman.toLowerCase()) { - case "i": - return 1; - case "ii": - return 2; - case "iii": - return 3; - case "iv": - return 4; - case "v": - return 5; - case "vi": - return 6; - case "vii": - return 7; - case "viii": - return 8; - case "ix": - return 9; - case "x": - return 10; - default: - return 0; + private static FloatBuffer modelviewMatrixOld = BufferUtils.createFloatBuffer( + 16 + ); + + public static String removeColor(String input) { + return input.replaceAll("(?i)\\u00A7.", ""); } - } - - public static String intToRomanNumeral(int i) { - switch (i) { - case 1: - return "I"; - case 2: - return "II"; - case 3: - return "III"; - case 4: - return "IV"; - case 5: - return "V"; - case 6: - return "VI"; - case 7: - return "VII"; - case 8: - return "VIII"; - case 9: - return "IX"; - case 10: - return "X"; - default: - return ""; + + public static String removeWhiteSpaceAndRemoveWord( + String input, + String replace + ) { + return input.toLowerCase().replace(" ", "").replace(replace, ""); } - } - - public static boolean overlayShouldRender( - RenderGameOverlayEvent.ElementType type, - boolean... booleans - ) { - return overlayShouldRender( - false, - type, - RenderGameOverlayEvent.ElementType.HOTBAR, - booleans - ); - } - - public static boolean overlayShouldRender( - boolean hideOnf3, - RenderGameOverlayEvent.ElementType type, - RenderGameOverlayEvent.ElementType checkType, - boolean... booleans - ) { - Minecraft mc = Minecraft.getMinecraft(); - boolean shouldRender; - if (booleans.length > 1) { - for (boolean aBoolean : booleans) if (!aBoolean) return false; - shouldRender = true; - } else shouldRender = booleans.length != 1 || booleans[0]; - if (hideOnf3) { - if ( - mc.gameSettings.showDebugInfo || - ( - mc.gameSettings.keyBindPlayerList.isKeyDown() && - ( - !mc.isIntegratedServerRunning() || - mc.thePlayer.sendQueue.getPlayerInfoMap().size() > 1 - ) - ) - ) { + + public static boolean isPlayerHoldingRedstone(EntityPlayerSP player) { + if (!SkyblockHud.config.main.requireRedstone) return true; + ArrayList redstoneItems = new ArrayList<>( + Arrays.asList( + Items.redstone, + Items.repeater, + Items.comparator, + Item.getByNameOrId("minecraft:redstone_torch") + ) + ); + if (player.getHeldItem() != null) return redstoneItems.contains( + player.getHeldItem().getItem() + ); return false; - } } - return ( - shouldRender && - ((type == null && Loader.isModLoaded("labymod")) || type == checkType) - ); - } - - public static void drawStringScaledMaxWidth( - String str, - FontRenderer fr, - float x, - float y, - boolean shadow, - int len, - int colour - ) { - int strLen = fr.getStringWidth(str); - float factor = len / (float) strLen; - factor = Math.min(1, factor); - - drawStringScaled(str, fr, x, y, shadow, colour, factor); - } - - public static void drawStringScaled( - String str, - FontRenderer fr, - float x, - float y, - boolean shadow, - int colour, - float factor - ) { - GlStateManager.scale(factor, factor, 1); - fr.drawString(str, x / factor, y / factor, colour, shadow); - GlStateManager.scale(1 / factor, 1 / factor, 1); - } - - public static void drawStringCenteredScaled( - String str, - FontRenderer fr, - float x, - float y, - boolean shadow, - int len, - int colour - ) { - int strLen = fr.getStringWidth(str); - float factor = len / (float) strLen; - float fontHeight = 8 * factor; - - drawStringScaled( - str, - fr, - x - len / 2f, - y - fontHeight / 2f, - shadow, - colour, - factor - ); - } - - public static void drawTexturedRect( - float x, - float y, - float width, - float height, - float uMin, - float uMax, - float vMin, - float vMax, - int filter - ) { - GlStateManager.enableTexture2D(); - GlStateManager.enableBlend(); - GL14.glBlendFuncSeparate( - GL11.GL_SRC_ALPHA, - GL11.GL_ONE_MINUS_SRC_ALPHA, - GL11.GL_ONE, - GL11.GL_ONE_MINUS_SRC_ALPHA - ); - GL11.glTexParameteri( - GL11.GL_TEXTURE_2D, - GL11.GL_TEXTURE_MIN_FILTER, - filter - ); - GL11.glTexParameteri( - GL11.GL_TEXTURE_2D, - GL11.GL_TEXTURE_MAG_FILTER, - filter - ); + public static boolean inRangeInclusive(int value, int min, int max) { + return value <= max && value >= min; + } - Tessellator tessellator = Tessellator.getInstance(); - WorldRenderer worldrenderer = tessellator.getWorldRenderer(); - worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX); - worldrenderer.pos(x, y + height, 0.0D).tex(uMin, vMax).endVertex(); - worldrenderer.pos(x + width, y + height, 0.0D).tex(uMax, vMax).endVertex(); - worldrenderer.pos(x + width, y, 0.0D).tex(uMax, vMin).endVertex(); - worldrenderer.pos(x, y, 0.0D).tex(uMin, vMin).endVertex(); - tessellator.draw(); - - GL11.glTexParameteri( - GL11.GL_TEXTURE_2D, - GL11.GL_TEXTURE_MIN_FILTER, - GL11.GL_NEAREST - ); - GL11.glTexParameteri( - GL11.GL_TEXTURE_2D, - GL11.GL_TEXTURE_MAG_FILTER, - GL11.GL_NEAREST - ); + public static int whatRomanNumeral(String roman) { + switch (roman.toLowerCase()) { + case "i": + return 1; + case "ii": + return 2; + case "iii": + return 3; + case "iv": + return 4; + case "v": + return 5; + case "vi": + return 6; + case "vii": + return 7; + case "viii": + return 8; + case "ix": + return 9; + case "x": + return 10; + default: + return 0; + } + } - GlStateManager.disableBlend(); - } - - public static void drawTexturedRect( - float x, - float y, - float width, - float height - ) { - drawTexturedRect(x, y, width, height, 0, 1, 0, 1); - } - - public static void drawTexturedRect( - float x, - float y, - float width, - float height, - int filter - ) { - drawTexturedRect(x, y, width, height, 0, 1, 0, 1, filter); - } - - public static void drawTexturedRect( - float x, - float y, - float width, - float height, - float uMin, - float uMax, - float vMin, - float vMax - ) { - drawTexturedRect( - x, - y, - width, - height, - uMin, - uMax, - vMin, - vMax, - GL11.GL_LINEAR - ); - } - - public static void resetGuiScale() { - guiScales.clear(); - } - - public static ScaledResolution peekGuiScale() { - return lastScale; - } - - public static ScaledResolution pushGuiScale(int scale) { - if (guiScales.size() == 0) { - if (Loader.isModLoaded("labymod")) { - GL11.glGetFloat(GL11.GL_PROJECTION_MATRIX, projectionMatrixOld); - GL11.glGetFloat(GL11.GL_MODELVIEW_MATRIX, modelviewMatrixOld); - } + public static String intToRomanNumeral(int i) { + switch (i) { + case 1: + return "I"; + case 2: + return "II"; + case 3: + return "III"; + case 4: + return "IV"; + case 5: + return "V"; + case 6: + return "VI"; + case 7: + return "VII"; + case 8: + return "VIII"; + case 9: + return "IX"; + case 10: + return "X"; + default: + return ""; + } + } + + public static boolean overlayShouldRender( + RenderGameOverlayEvent.ElementType type, + boolean... booleans + ) { + return overlayShouldRender( + false, + type, + RenderGameOverlayEvent.ElementType.HOTBAR, + booleans + ); + } + + public static boolean overlayShouldRender( + boolean hideOnf3, + RenderGameOverlayEvent.ElementType type, + RenderGameOverlayEvent.ElementType checkType, + boolean... booleans + ) { + Minecraft mc = Minecraft.getMinecraft(); + boolean shouldRender; + if (booleans.length > 1) { + for (boolean aBoolean : booleans) if (!aBoolean) return false; + shouldRender = true; + } else shouldRender = booleans.length != 1 || booleans[0]; + if (hideOnf3) { + if ( + mc.gameSettings.showDebugInfo || + ( + mc.gameSettings.keyBindPlayerList.isKeyDown() && + ( + !mc.isIntegratedServerRunning() || + mc.thePlayer.sendQueue.getPlayerInfoMap().size() > 1 + ) + ) + ) { + return false; + } + } + return ( + shouldRender && + ( + (type == null && Loader.isModLoaded("labymod")) || + type == checkType + ) + ); } - if (scale < 0) { - if (guiScales.size() > 0) { - guiScales.pop(); - } - } else { - if (scale == 0) { - guiScales.push(Minecraft.getMinecraft().gameSettings.guiScale); - } else { - guiScales.push(scale); - } + public static void drawStringScaledMaxWidth( + String str, + FontRenderer fr, + float x, + float y, + boolean shadow, + int len, + int colour + ) { + int strLen = fr.getStringWidth(str); + float factor = len / (float) strLen; + factor = Math.min(1, factor); + + drawStringScaled(str, fr, x, y, shadow, colour, factor); } - int newScale = guiScales.size() > 0 - ? Math.max(0, Math.min(4, guiScales.peek())) - : Minecraft.getMinecraft().gameSettings.guiScale; - if (newScale == 0) newScale = - Minecraft.getMinecraft().gameSettings.guiScale; + public static void drawStringScaled( + String str, + FontRenderer fr, + float x, + float y, + boolean shadow, + int colour, + float factor + ) { + GlStateManager.scale(factor, factor, 1); + fr.drawString(str, x / factor, y / factor, colour, shadow); + GlStateManager.scale(1 / factor, 1 / factor, 1); + } - int oldScale = Minecraft.getMinecraft().gameSettings.guiScale; - Minecraft.getMinecraft().gameSettings.guiScale = newScale; - ScaledResolution scaledresolution = new ScaledResolution( - Minecraft.getMinec