aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/ComponentHandler.java398
1 files changed, 224 insertions, 174 deletions
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<NetworkPlayerInfo> 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<NetworkPlayerInfo> 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<NetworkPlayerInfo> 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<NetworkPlayerInfo> 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<NetworkPlayerInfo> {
+ @SideOnly(Side.CLIENT)
+ static class PlayerComparator implements Comparator<NetworkPlayerInfo> {
- 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();
+ }
}
- }
}