aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/thatgravyboat/skyblockhud/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thatgravyboat/skyblockhud/handlers')
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java55
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/CurrencyHandler.java208
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java86
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/MapHandler.java821
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/SlayerHandler.java270
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java61
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/DwarvenIcons.java171
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/HubIcons.java631
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeHelper.java46
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeRegistry.java30
-rw-r--r--src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/SkyBlockEntity.java30
11 files changed, 1246 insertions, 1163 deletions
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java
index 16ff63f..0338195 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/BossbarHandler.java
@@ -12,33 +12,36 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class BossbarHandler {
- public static boolean bossBarRendered = true;
+ public static boolean bossBarRendered = true;
- @SubscribeEvent(priority = EventPriority.LOWEST)
- public void onBossbarRender(RenderGameOverlayEvent.Pre event) {
- if (
- event.type == RenderGameOverlayEvent.ElementType.BOSSHEALTH &&
- BossStatus.bossName != null
- ) {
- bossBarRendered = !event.isCanceled();
- if (!SkyblockHud.config.main.bossShiftHud) {
- bossBarRendered = false;
- }
- String bossName = Utils.removeColor(BossStatus.bossName);
- if (
- SkyblockHud.config.renderer.hideBossBar &&
- DwarvenMineHandler.currentEvent == DwarvenMineHandler.Event.NONE &&
- !LocationHandler.getCurrentLocation().equals(Locations.CATACOMBS)
- ) {
- if (bossName.equalsIgnoreCase("wither")) {
- event.setCanceled(true);
- bossBarRendered = false;
+ @SubscribeEvent(priority = EventPriority.LOWEST)
+ public void onBossbarRender(RenderGameOverlayEvent.Pre event) {
+ if (
+ event.type == RenderGameOverlayEvent.ElementType.BOSSHEALTH &&
+ BossStatus.bossName != null
+ ) {
+ bossBarRendered = !event.isCanceled();
+ if (!SkyblockHud.config.main.bossShiftHud) {
+ bossBarRendered = false;
+ }
+ String bossName = Utils.removeColor(BossStatus.bossName);
+ if (
+ SkyblockHud.config.renderer.hideBossBar &&
+ DwarvenMineHandler.currentEvent ==
+ DwarvenMineHandler.Event.NONE &&
+ !LocationHandler
+ .getCurrentLocation()
+ .equals(Locations.CATACOMBS)
+ ) {
+ if (bossName.equalsIgnoreCase("wither")) {
+ event.setCanceled(true);
+ bossBarRendered = false;
+ }
+ if (bossName.toLowerCase().startsWith("objective:")) {
+ event.setCanceled(true);
+ bossBarRendered = false;
+ }
+ }
}
- if (bossName.toLowerCase().startsWith("objective:")) {
- event.setCanceled(true);
- bossBarRendered = false;
- }
- }
}
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/CurrencyHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/CurrencyHandler.java
index f8c6b86..ea0ccca 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/CurrencyHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/CurrencyHandler.java
@@ -13,120 +13,124 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class CurrencyHandler {
- private static int bits = 0;
- private static double coins = 0;
+ private static int bits = 0;
+ private static double coins = 0;
- public static void setBits(int amount) {
- bits = amount;
- }
-
- public static void setCoins(double amount) {
- coins = amount;
- }
-
- public static int getBits() {
- return bits;
- }
-
- public static double getCoins() {
- return coins;
- }
+ public static void setBits(int amount) {
+ bits = amount;
+ }
- @SubscribeEvent
- public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
- if (
- Utils
- .removeColor(event.formattedLine.toLowerCase().trim())
- .contains("purse:") ||
- Utils
- .removeColor(event.formattedLine.toLowerCase().trim())
- .contains("piggy:")
- ) {
- CurrencyHandler.checkCoins(event.formattedLine);
+ public static void setCoins(double amount) {
+ coins = amount;
}
- if (
- Utils
- .removeColor(event.formattedLine.toLowerCase().trim())
- .contains("bits:") &&
- !event.formattedLine.toLowerCase().contains("(")
- ) {
- CurrencyHandler.checkBits(event.formattedLine);
+
+ public static int getBits() {
+ return bits;
}
- }
- @SubscribeEvent
- public void onSidebarPost(SidebarPostEvent event) {
- if (!Arrays.toString(event.arrayScores).toLowerCase().contains("bits:")) {
- CurrencyHandler.setBits(0);
+ public static double getCoins() {
+ return coins;
}
- }
- public static String getCoinsFormatted() {
- DecimalFormat formatter = new DecimalFormat(
- "#,###.0",
- DecimalFormatSymbols.getInstance(Locale.CANADA)
- );
- String output = formatter.format(coins);
- if (output.equals(".0")) output = "0.0"; else if (
- output.equals(",0")
- ) output = "0,0";
- return output;
- }
+ @SubscribeEvent
+ public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
+ if (
+ Utils
+ .removeColor(event.formattedLine.toLowerCase().trim())
+ .contains("purse:") ||
+ Utils
+ .removeColor(event.formattedLine.toLowerCase().trim())
+ .contains("piggy:")
+ ) {
+ CurrencyHandler.checkCoins(event.formattedLine);
+ }
+ if (
+ Utils
+ .removeColor(event.formattedLine.toLowerCase().trim())
+ .contains("bits:") &&
+ !event.formattedLine.toLowerCase().contains("(")
+ ) {
+ CurrencyHandler.checkBits(event.formattedLine);
+ }
+ }
- public static String getBitsFormatted() {
- DecimalFormat formatter = new DecimalFormat(
- "#.#",
- DecimalFormatSymbols.getInstance(Locale.CANADA)
- );
- formatter.setRoundingMode(RoundingMode.FLOOR);
- return bits > 999
- ? formatter.format((double) bits / 1000) + "k"
- : String.valueOf(bits);
- }
+ @SubscribeEvent
+ public void onSidebarPost(SidebarPostEvent event) {
+ if (
+ !Arrays.toString(event.arrayScores).toLowerCase().contains("bits:")
+ ) {
+ CurrencyHandler.setBits(0);
+ }
+ }
- public static void checkCoins(String formatedScoreboardLine) {
- String purse = Utils
- .removeWhiteSpaceAndRemoveWord(
- Utils.removeColor(formatedScoreboardLine.toLowerCase().trim()),
- Utils
- .removeColor(formatedScoreboardLine.toLowerCase().trim())
- .contains("purse:")
- ? "purse:"
- : "piggy:"
- )
- .replace(",", "");
- if (!purse.contains("(") && !purse.contains("+")) {
- try {
- double coins = Double.parseDouble(
- Pattern.compile("[^0-9.]").matcher(purse).replaceAll("")
+ public static String getCoinsFormatted() {
+ DecimalFormat formatter = new DecimalFormat(
+ "#,###.0",
+ DecimalFormatSymbols.getInstance(Locale.CANADA)
);
- CurrencyHandler.setCoins(coins);
- } catch (IllegalArgumentException ex) {
- System.out.println(
- "Failed to parse purse, please report to ThatGravyBoat. Purse Text: " +
- purse
+ String output = formatter.format(coins);
+ if (output.equals(".0")) output = "0.0"; else if (
+ output.equals(",0")
+ ) output = "0,0";
+ return output;
+ }
+
+ public static String getBitsFormatted() {
+ DecimalFormat formatter = new DecimalFormat(
+ "#.#",
+ DecimalFormatSymbols.getInstance(Locale.CANADA)
);
- }
+ formatter.setRoundingMode(RoundingMode.FLOOR);
+ return bits > 999
+ ? formatter.format((double) bits / 1000) + "k"
+ : String.valueOf(bits);
+ }
+
+ public static void checkCoins(String formatedScoreboardLine) {
+ String purse = Utils
+ .removeWhiteSpaceAndRemoveWord(
+ Utils.removeColor(formatedScoreboardLine.toLowerCase().trim()),
+ Utils
+ .removeColor(
+ formatedScoreboardLine.toLowerCase().trim()
+ )
+ .contains("purse:")
+ ? "purse:"
+ : "piggy:"
+ )
+ .replace(",", "");
+ if (!purse.contains("(") && !purse.contains("+")) {
+ try {
+ double coins = Double.parseDouble(
+ Pattern.compile("[^0-9.]").matcher(purse).replaceAll("")
+ );
+ CurrencyHandler.setCoins(coins);
+ } catch (IllegalArgumentException ex) {
+ System.out.println(
+ "Failed to parse purse, please report to ThatGravyBoat. Purse Text: " +
+ purse
+ );
+ }
+ }
}
- }
- public static void checkBits(String formatedScoreboardLine) {
- String bits = Utils
- .removeWhiteSpaceAndRemoveWord(
- Utils.removeColor(formatedScoreboardLine.toLowerCase().trim()),
- "bits:"
- )
- .replace(",", "");
- try {
- int bit = Integer.parseInt(
- Pattern.compile("[^0-9]").matcher(bits).replaceAll("")
- );
- CurrencyHandler.setBits(bit);
- } catch (IllegalArgumentException ex) {
- System.out.println(
- "Failed to parse bits, please report to ThatGravyBoat. Bits Text: " +
- bits
- );
+ public static void checkBits(String formatedScoreboardLine) {
+ String bits = Utils
+ .removeWhiteSpaceAndRemoveWord(
+ Utils.removeColor(formatedScoreboardLine.toLowerCase().trim()),
+ "bits:"
+ )
+ .replace(",", "");
+ try {
+ int bit = Integer.parseInt(
+ Pattern.compile("[^0-9]").matcher(bits).replaceAll("")
+ );
+ CurrencyHandler.setBits(bit);
+ } catch (IllegalArgumentException ex) {
+ System.out.println(
+ "Failed to parse bits, please report to ThatGravyBoat. Bits Text: " +
+ bits
+ );
+ }
}
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
index 8211f0f..e7686d2 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/HeldItemHandler.java
@@ -12,50 +12,54 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class HeldItemHandler extends Gui {
- public void drawFuelBar(Minecraft mc, int current, int max) {
- GenericOverlays.drawSmallBar(
- mc,
- 100,
- 100,
- (double) current / (double) max,
- 1.0d,
- 0xff00ff,
- 0xffff00,
- 0
- );
- drawString(
- mc.fontRendererObj,
- "Fuel - " + Math.round(((double) current / (double) max) * 100) + "%",
- 100,
- 100,
- 0xffffff
- );
- }
+ public void drawFuelBar(Minecraft mc, int current, int max) {
+ GenericOverlays.drawSmallBar(
+ mc,
+ 100,
+ 100,
+ (double) current / (double) max,
+ 1.0d,
+ 0xff00ff,
+ 0xffff00,
+ 0
+ );
+ drawString(
+ mc.fontRendererObj,
+ "Fuel - " +
+ Math.round(((double) current / (double) max) * 100) +
+ "%",
+ 100,
+ 100,
+ 0xffffff
+ );
+ }
- public boolean isDrill(ItemStack stack) {
- if (stack == null) return false;
- if (!stack.getTagCompound().hasKey("ExtraAttributes")) return false;
- return stack
- .getTagCompound()
- .getCompoundTag("ExtraAttributes")
- .hasKey("drill_fuel");
- }
+ public boolean isDrill(ItemStack stack) {
+ if (stack == null) return false;
+ if (!stack.getTagCompound().hasKey("ExtraAttributes")) return false;
+ return stack
+ .getTagCompound()
+ .getCompoundTag("ExtraAttributes")
+ .hasKey("drill_fuel");
+ }
- public String getDrillFuel(ItemStack stack) {
- NBTTagCompound display = stack.getTagCompound().getCompoundTag("display");
- NBTTagList lore = display.getTagList("Lore", 8);
- for (int i = lore.tagCount() - 1; i >= 0; i--) {
- String line = Utils.removeColor(lore.getStringTagAt(i));
- if (line.trim().startsWith("Fuel:")) {
- return line;
- }
+ public String getDrillFuel(ItemStack stack) {
+ NBTTagCompound display = stack
+ .getTagCompound()
+ .getCompoundTag("display");
+ NBTTagList lore = display.getTagList("Lore", 8);
+ for (int i = lore.tagCount() - 1; i >= 0; i--) {
+ String line = Utils.removeColor(lore.getStringTagAt(i));
+ if (line.trim().startsWith("Fuel:")) {
+ return line;
+ }
+ }
+ return "";
}
- return "";
- }
- @SubscribeEvent
- public void drawOverlay(RenderGameOverlayEvent.Post event) {
- /*
+ @SubscribeEvent
+ public void drawOverlay(RenderGameOverlayEvent.Post event) {
+ /*
if (Utils.overlayShouldRender(event.type, SkyblockHud.hasSkyblockScoreboard())){
Minecraft mc = Minecraft.getMinecraft();
ItemStack stack = mc.thePlayer.getHeldItem();
@@ -72,5 +76,5 @@ public class HeldItemHandler extends Gui {
}
}
*/
- }
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/MapHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/MapHandler.java
index bb2b492..ab618af 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/MapHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/MapHandler.java
@@ -28,426 +28,457 @@ import org.lwjgl.opengl.GL11;
public class MapHandler {
- public enum MapIconTypes {
- SHOPS,
- MISC,
- NPC,
- INFO,
- QUEST
- }
+ public enum MapIconTypes {
+ SHOPS,
+ MISC,
+ NPC,
+ INFO,
+ QUEST
+ }
- public static class MapIcon {
+ public static class MapIcon {
- public Vector2f position;
- public ResourceLocation icon;
- public String tooltip;
- public String command;
- public MapIconTypes type;
+ public Vector2f position;
+ public ResourceLocation icon;
+ public String tooltip;
+ public String command;
+ public MapIconTypes type;
- public MapIcon(
- Vector2f pos,
- ResourceLocation icon,
- String tooltip,
- MapIconTypes type
- ) {
- this(pos, icon, tooltip, type, "");
- }
+ public MapIcon(
+ Vector2f pos,
+ ResourceLocation icon,
+ String tooltip,
+ MapIconTypes type
+ ) {
+ this(pos, icon, tooltip, type, "");
+ }
- public MapIcon(
- Vector2f pos,
- ResourceLocation icon,
- String tooltip,
- MapIconTypes type,
- String command
- ) {
- this.position = pos;
- this.icon = icon;
- this.tooltip = tooltip;
- this.type = type;
- this.command = command;
- }
+ public MapIcon(
+ Vector2f pos,
+ ResourceLocation icon,
+ String tooltip,
+ MapIconTypes type,
+ String command
+ ) {
+ this.position = pos;
+ this.icon = icon;
+ this.tooltip = tooltip;
+ this.type = type;
+ this.command = command;
+ }
- public boolean canRender() {
- SBHConfig.Map mapConfig = SkyblockHud.config.map;
- if (
- mapConfig.showInfoIcons && type.equals(MapIconTypes.INFO)
- ) return true; else if (
- mapConfig.showMiscIcons && type.equals(MapIconTypes.MISC)
- ) return true; else if (
- mapConfig.showNpcIcons && type.equals(MapIconTypes.NPC)
- ) return true; else if (
- mapConfig.showQuestIcons && type.equals(MapIconTypes.QUEST)
- ) return true; else return (
- mapConfig.showShopIcons && type.equals(MapIconTypes.SHOPS)
- );
+ public boolean canRender() {
+ SBHConfig.Map mapConfig = SkyblockHud.config.map;
+ if (
+ mapConfig.showInfoIcons && type.equals(MapIconTypes.INFO)
+ ) return true; else if (
+ mapConfig.showMiscIcons && type.equals(MapIconTypes.MISC)
+ ) return true; else if (
+ mapConfig.showNpcIcons && type.equals(MapIconTypes.NPC)
+ ) return true; else if (
+ mapConfig.showQuestIcons && type.equals(MapIconTypes.QUEST)
+ ) return true; else return (
+ mapConfig.showShopIcons && type.equals(MapIconTypes.SHOPS)
+ );
+ }
}
- }
- public enum Maps {
- HUB(
- 0.5f,
- 494,
- 444,
- 294,
- 218,
- 294,
- 224,
- new ResourceLocation("skyblockhud", "maps/hub.png"),
- HubIcons.hubIcons
- ),
- MUSHROOM(
- 1.0f,
- 318,
- 316,
- -84,
- 605,
- -84,
- 612,
- new ResourceLocation("skyblockhud", "maps/mushroom.png"),
- Collections.emptyList()
- ),
- SPIDERS(
- 1.0f,
- 270,
- 238,
- 400,
- 362,
- 400,
- 364,
- new ResourceLocation("skyblockhud", "maps/spidersden.png"),
- Collections.emptyList()
- ),
- NETHER(
- 0.5f,
- 257,
- 371,
- 436,
- 732,
- 433,
- 736,
- new ResourceLocation("skyblockhud", "maps/fort.png"),
- Collections.emptyList()
- ),
- BARN(
- 1.5f,
- 135,
- 130,
- -82,
- 320,
- -81,
- 318,
- new ResourceLocation("skyblockhud", "maps/barn.png"),
- Collections.emptyList()
- ),
- DWARVEN(
- 0.5f,
- 409,
- 461,
- 206,
- 160,
- 202,
- 166,
- new ResourceLocation("skyblockhud", "maps/dwarven.png"),
- DwarvenIcons.dwarvenIcons
- ),
- PARK(
- 1.0f,
- 211,
- 230,
- 480,
- 133,
- 478,
- 134,
- new ResourceLocation("skyblockhud", "maps/park.png"),
- Collections.emptyList()
- );
+ public enum Maps {
+ HUB(
+ 0.5f,
+ 494,
+ 444,
+ 294,
+ 218,
+ 294,
+ 224,
+ new ResourceLocation("skyblockhud", "maps/hub.png"),
+ HubIcons.hubIcons
+ ),
+ MUSHROOM(
+ 1.0f,
+ 318,
+ 316,
+ -84,
+ 605,
+ -84,
+ 612,
+ new ResourceLocation("skyblockhud", "maps/mushroom.png"),
+ Collections.emptyList()
+ ),
+ SPIDERS(
+ 1.0f,
+ 270,
+ 238,
+ 400,
+ 362,
+ 400,
+ 364,
+ new ResourceLocation("skyblockhud", "maps/spidersden.png"),
+ Collections.emptyList()
+ ),
+ NETHER(
+ 0.5f,
+ 257,
+ 371,
+ 436,
+ 732,
+ 433,
+ 736,
+ new ResourceLocation("skyblockhud", "maps/fort.png"),
+ Collections.emptyList()
+ ),
+ BARN(
+ 1.5f,
+ 135,
+ 130,
+ -82,
+ 320,
+ -81,
+ 318,
+ new ResourceLocation("skyblockhud", "maps/barn.png"),
+ Collections.emptyList()
+ ),
+ DWARVEN(
+ 0.5f,
+ 409,
+ 461,
+ 206,
+ 160,
+ 202,
+ 166,
+ new ResourceLocation("skyblockhud", "maps/dwarven.png"),
+ DwarvenIcons.dwarvenIcons
+ ),
+ PARK(
+ 1.0f,
+ 211,
+ 230,
+ 480,
+ 133,
+ 478,
+ 134,
+ new ResourceLocation("skyblockhud", "maps/park.png"),
+ Collections.emptyList()
+ );
- public float scaleFactor;
- public int width;
- public int height;
- public int xMiniOffset;
- public int yMiniOffset;
- public int xOffset;
- public int yOffset;
- public ResourceLocation mapTexture;
- public List<MapIcon> icons;
+ public float scaleFactor;
+ public int width;
+ public int height;
+ public int xMiniOffset;
+ public int yMiniOffset;
+ public int xOffset;
+ public int yOffset;
+ public ResourceLocation mapTexture;
+ public List<MapIcon> icons;
- Maps(
- float scaleFactor,
- int width,
- int height,
- int xMiniOffset,
- int yMiniOffset,
- int xOffset,
- int yOffset,
- ResourceLocation mapTexture,
- List<MapIcon> icons
- ) {
- this.scaleFactor = scaleFactor;
- this.width = width;
- this.height = height;
- this.xMiniOffset = xMiniOffset;
- this.yMiniOffset = yMiniOffset;
- this.xOffset = xOffset;
- this.yOffset = yOffset;
- this.mapTexture = mapTexture;
- this.icons = icons;
+ Maps(
+ float scaleFactor,
+ int width,
+ int height,
+ int xMiniOffset,
+ int yMiniOffset,
+ int xOffset,
+ int yOffset,
+ ResourceLocation mapTexture,
+ List<MapIcon> icons
+ ) {
+ this.scaleFactor = scaleFactor;
+ this.width = width;
+ this.height = height;
+ this.xMiniOffset = xMiniOffset;
+ this.yMiniOffset = yMiniOffset;
+ this.xOffset = xOffset;
+ this.yOffset = yOffset;
+ this.mapTexture = mapTexture;
+ this.icons = icons;
+ }
}
- }
- @SubscribeEvent
- public void renderOverlay(RenderGameOverlayEvent.Post event) {
- if (
- Utils.overlayShouldRender(
- event.type,
- SkyblockHud.hasSkyblockScoreboard(),
- SkyblockHud.config.map.showMiniMap
- )
- ) {
- Minecraft mc = Minecraft.getMinecraft();
- if (mc.currentScreen instanceof MapScreen) return;
- if (
- LocationHandler.getCurrentLocation().getCategory().getMap() == null
- ) return;
- if (mc.thePlayer != null) {
- MapHandler.Maps map = LocationHandler
- .getCurrentLocation()
- .getCategory()
- .getMap();
- mc.renderEngine.bindTexture(mapOverlay);
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- Position pos = SkyblockHud.config.map.miniMapPosition;
- Gui.drawModalRectWithCustomSizedTexture(
- pos.getAbsX(event.resolution, 72),
- pos.getAbsY(event.resolution, 72),
- 72,
- 0,
- 72,
- 72,
- 256,
- 256
- );
- mc.renderEngine.bindTexture(map.mapTexture);
+ @SubscribeEvent
+ public void renderOverlay(RenderGameOverlayEvent.Post event) {
+ if (
+ Utils.overlayShouldRender(
+ event.type,
+ SkyblockHud.hasSkyblockScoreboard(),
+ SkyblockHud.config.map.showMiniMap
+ )
+ ) {
+ Minecraft mc = Minecraft.getMinecraft();
+ if (mc.currentScreen instanceof MapScreen) return;
+ if (
+ LocationHandler.getCurrentLocation().getCategory().getMap() ==
+ null
+ ) return;
+ if (mc.thePlayer != null) {
+ MapHandler.Maps map = LocationHandler
+ .getCurrentLocation()
+ .getCategory()
+ .getMap();
+ mc.renderEngine.bindTexture(mapOverlay);
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ Position pos = SkyblockHud.config.map.miniMapPosition;
+ Gui.drawModalRectWithCustomSizedTexture(
+ pos.getAbsX(event.resolution, 72),
+ pos.getAbsY(event.resolution, 72),
+ 72,
+ 0,
+ 72,
+ 72,
+ 256,
+ 256
+ );
+ mc.renderEngine.bindTexture(map.mapTexture);
- int x = mc.thePlayer.getPosition().getX() + map.xMiniOffset;
- int z = mc.thePlayer.getPosition().getZ() + map.yMiniOffset;
- float u = (x / (map.width / 256f)) - 33f;
- float v = (z / (map.height / 256f)) - 28f;
+ int x = mc.thePlayer.getPosition().getX() + map.xMiniOffset;
+ int z = mc.thePlayer.getPosition().getZ() + map.yMiniOffset;
+ float u = (x / (map.width / 256f)) - 33f;
+ float v = (z / (map.height / 256f)) - 28f;
- GL11.glTexParameteri(
- GL11.GL_TEXTURE_2D,
- GL11.GL_TEXTURE_WRAP_S,
- GL11.GL_CLAMP
- );
- GL11.glTexParameteri(
- GL11.GL_TEXTURE_2D,
- GL11.GL_TEXTURE_WRAP_T,
- GL11.GL_CLAMP
- );
+ GL11.glTexParameteri(
+ GL11.GL_TEXTURE_2D,
+ GL11.GL_TEXTURE_WRAP_S,
+ GL11.GL_CLAMP
+ );
+ GL11.glTexParameteri(
+ GL11.GL_TEXTURE_2D,
+ GL11.GL_TEXTURE_WRAP_T,
+ GL11.GL_CLAMP
+ );
- Gui.drawModalRectWithCustomSizedTexture(
- pos.getAbsX(event.resolution, 72) + 4,
- pos.getAbsY(event.resolution, 72) + 2,
- u,
- v,
- 64,
- 64,
- 256,
- 256
- );
+ Gui.drawModalRectWithCustomSizedTexture(
+ pos.getAbsX(event.resolution, 72) + 4,
+ pos.getAbsY(event.resolution, 72) + 2,
+ u,
+ v,
+ 64,
+ 64,
+ 256,
+ 256
+ );
- if (SkyblockHud.config.map.showPlayerLocation) {
- mc.fontRendererObj.drawString(
- "\u2022",
- pos.getAbsX(event.resolution, 72) + 36,
- pos.getAbsY(event.resolution, 72) + 34,
- 0xff0000,
- false
- );
- }
+ if (SkyblockHud.config.map.showPlayerLocation) {
+ mc.fontRendererObj.drawString(
+ "\u2022",
+ pos.getAbsX(event.resolution, 72) + 36,
+ pos.getAbsY(event.resolution, 72) + 34,
+ 0xff0000,
+ false
+ );
+ }
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- mc.renderEngine.bindTexture(mapOverlay);
- Gui.drawModalRectWithCustomSizedTexture(
- pos.getAbsX(event.resolution, 72),
- pos.getAbsY(event.resolution, 72),
- 0,
- 0,
- 72,
- 72,
- 256,
- 256
- );
- String keyCode = GameSettings.getKeyDisplayString(
- KeyBindings.map.getKeyCode()
- );
- Utils.drawStringCenteredScaled(
- keyCode,
- mc.fontRendererObj,
- pos.getAbsX(event.resolution, 64) + 58,
- pos.getAbsY(event.resolution, 72) + 66,
- false,
- 6,
- 0xFFFFFF
- );
- BlockPos playerPos = mc.thePlayer.getPosition();
- String position = String.format(
- "%d/%d/%d",
- playerPos.getX(),
- playerPos.getY(),
- playerPos.getZ()
- );
- Utils.drawStringCenteredScaled(
- position,
- mc.fontRendererObj,
- pos.getAbsX(event.resolution, 64) + 29,
- pos.getAbsY(event.resolution, 72) + 66,
- false,
- 36,
- 0xFFFFFF
- );
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- }
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ mc.renderEngine.bindTexture(mapOverlay);
+ Gui.drawModalRectWithCustomSizedTexture(
+ pos.getAbsX(event.resolution, 72),
+ pos.getAbsY(event.resolution, 72),
+ 0,
+ 0,
+ 72,
+ 72,
+ 256,
+ 256
+ );
+ String keyCode = GameSettings.getKeyDisplayString(
+ KeyBindings.map.getKeyCode()
+ );
+ Utils.drawStringCenteredScaled(
+ keyCode,
+ mc.fontRendererObj,
+ pos.getAbsX(event.resolution, 64) + 58,
+ pos.getAbsY(event.resolution, 72) + 66,
+ false,
+ 6,
+ 0xFFFFFF
+ );
+ BlockPos playerPos = mc.thePlayer.getPosition();
+ String position = String.format(
+ "%d/%d/%d",
+ playerPos.getX(),
+ playerPos.getY(),
+ playerPos.getZ()
+ );
+ Utils.drawStringCenteredScaled(
+ position,
+ mc.fontRendererObj,
+ pos.getAbsX(event.resolution, 64) + 29,
+ pos.getAbsY(event.resolution, 72) + 66,
+ false,
+ 36,
+ 0xFFFFFF
+ );
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ }
+ }
}
- }
- @SubscribeEvent
- public void clientTick(TickEvent.ClientTickEvent event) {
- if (
- KeyBindings.map.isPressed() &&
- LocationHandler.getCurrentLocation().getCategory().getMap() != null &&
- SkyblockHud.hasSkyblockScoreboard()
- ) SkyblockHud.screenToOpen = new MapScreen();
- }
+ @SubscribeEvent
+ public void clientTick(TickEvent.ClientTickEvent event) {
+ if (
+ KeyBindings.map.isPressed() &&
+ LocationHandler.getCurrentLocation().getCategory().getMap() !=
+ null &&
+ SkyblockHud.hasSkyblockScoreboard()
+ ) SkyblockHud.screenToOpen = new MapScreen();
+ }
- public static class MapScreen extends GuiScreen {
+ public static class MapScreen extends GuiScreen {
- public MapHandler.Maps map = LocationHandler
- .getCurrentLocation()
- .getCategory()
- .getMap();
+ public MapHandler.Maps map = LocationHandler
+ .getCurrentLocation()
+ .getCategory()
+ .getMap();
- @Override
- public void drawScreen(int mouseX, int mouseY, float partialTicks) {
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- this.drawWorldBackground(0);
- this.mc.renderEngine.bindTexture(map.mapTexture);
- float mapX = (width / 2f) - ((map.width / 2f) * map.scaleFactor);
- float mapY = (height / 2f) - ((map.height / 2f) * map.scaleFactor);
- Gui.drawModalRectWithCustomSizedTexture(
- (int) mapX,
- (int) mapY,
- 0,
- 0,
- (int) (map.width * map.scaleFactor),
- (int) (map.height * map.scaleFactor),
- (int) (map.width * map.scaleFactor),
- (int) (map.height * map.scaleFactor)
- );
- drawIcons((int) mapX, (int) mapY);
- if (
- this.mc.thePlayer != null && SkyblockHud.config.map.showPlayerLocation
- ) {
- int x = this.mc.thePlayer.getPosition().getX() + map.xOffset;
- int z = this.mc.thePlayer.getPosition().getZ() + map.yOffset;
- fontRendererObj.drawString(
- "\u2022",
- (int) (x * map.scaleFactor + mapX),
- (int) (z * map.scaleFactor + mapY),
- 0xff0000
- );
- }
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- onTooltip(mouseX, mouseY, (int) mapX, (int) mapY);
- }
+ @Override
+ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ this.drawWorldBackground(0);
+ this.mc.renderEngine.bindTexture(map.mapTexture);
+ float mapX = (width / 2f) - ((map.width / 2f) * map.scaleFactor);
+ float mapY = (height / 2f) - ((map.height / 2f) * map.scaleFactor);
+ Gui.drawModalRectWithCustomSizedTexture(
+ (int) mapX,
+ (int) mapY,
+ 0,
+ 0,
+ (int) (map.width * map.scaleFactor),
+ (int) (map.height * map.scaleFactor),
+ (int) (map.width * map.scaleFactor),
+ (int) (map.height * map.scaleFactor)
+ );
+ drawIcons((int) mapX, (int) mapY);
+ if (
+ this.mc.thePlayer != null &&
+ SkyblockHud.config.map.showPlayerLocation
+ ) {
+ int x = this.mc.thePlayer.getPosition().getX() + map.xOffset;
+ int z = this.mc.thePlayer.getPosition().getZ() + map.yOffset;
+ fontRendererObj.drawString(
+ "\u2022",
+ (int) (x * map.scaleFactor + mapX),
+ (int) (z * map.scaleFactor + mapY),
+ 0xff0000
+ );
+ }
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ onTooltip(mouseX, mouseY, (int) mapX, (int) mapY);
+ }
- public void drawIcons(int startX, int startY) {
- if (map.icons == null) return;
- for (MapIcon icon : map.icons) {
- if (!icon.canRender()) continue;
- GlStateManager.enableBlend();
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- this.mc.renderEngine.bindTexture(icon.icon);
- float x =
- ((icon.position.x + map.xOffset) * map.scaleFactor) + startX - 4;
- float y =
- ((icon.position.y + map.yOffset) * map.scaleFactor) + startY - 4;
- Gui.drawModalRectWithCustomSizedTexture(
- (int) x,
- (int) y,
- 0,
- 0,
- 8,
- 8,
- 8,
- 8
- );
- GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
- }
- }
+ public void drawIcons(int startX, int startY) {
+ if (map.icons == null) return;
+ for (MapIcon icon : map.icons) {
+ if (!icon.canRender()) continue;
+ GlStateManager.enableBlend();
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ this.mc.renderEngine.bindTexture(icon.icon);
+ float x =
+ ((icon.position.x + map.xOffset) * map.scaleFactor) +
+ startX -
+ 4;
+ float y =
+ ((icon.position.y + map.yOffset) * map.scaleFactor) +
+ startY -
+ 4;
+ Gui.drawModalRectWithCustomSizedTexture(
+ (int) x,
+ (int) y,
+ 0,
+ 0,
+ 8,
+ 8,
+ 8,
+ 8
+ );
+ GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
+ }
+ }
- public void onTooltip(int mouseX, int mouseY, int startX, int startY) {
- if (map.icons == null) return;
- for (MapIcon icon : map.icons) {
- if (!icon.canRender()) continue;
- if (
- Utils.inRangeInclusive(
- mouseX,
- (int) ((icon.position.x + map.xOffset) * map.scaleFactor) +
- startX -
- 4,
- (int) ((icon.position.x + map.xOffset) * map.scaleFactor) +
- startX +
- 4
- ) &&
- Utils.inRangeInclusive(
- mouseY,
- (int) ((icon.position.y + map.yOffset) * map.scaleFactor) +
- startY -
- 4,
- (int) ((icon.position.y + map.yOffset) * map.scaleFactor) +
- startY +
- 4
- )
- ) {
- drawHoveringText(
- Arrays.asList(icon.tooltip.split("\n")),
- mouseX,
- mouseY
- );
- break;
+ public void onTooltip(int mouseX, int mouseY, int startX, int startY) {
+ if (map.icons == null) return;
+ for (MapIcon icon : map.icons) {
+ if (!icon.canRender()) continue;
+ if (
+ Utils.inRangeInclusive(
+ mouseX,
+ (int) (
+ (icon.position.x + map.xOffset) * map.scaleFactor
+ ) +
+ startX -
+ 4,
+ (int) (
+ (icon.position.x + map.xOffset) * map.scaleFactor
+ ) +
+ startX +
+ 4
+ ) &&
+ Utils.inRangeInclusive(
+ mouseY,
+ (int) (
+ (icon.position.y + map.yOffset) * map.scaleFactor
+ ) +
+ startY -
+ 4,
+ (int) (
+ (icon.position.y + map.yOffset) * map.scaleFactor
+ ) +
+ startY +
+ 4
+ )
+ ) {
+ drawHoveringText(
+ Arrays.asList(icon.tooltip.split("\n")),
+ mouseX,
+ mouseY
+ );
+ break;
+ }
+ }
}
- }
- }
- @Override
- protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
- int mapX = (int) ((width / 2f) - ((map.width / 2f) * map.scaleFactor));
- int mapY = (int) ((height / 2f) - ((map.height / 2f) * map.scaleFactor));
- for (MapIcon icon : map.icons) {
- if (!icon.canRender()) continue;
- if (
- Utils.inRangeInclusive(
- mouseX,
- (int) ((icon.position.x + map.xOffset) * map.scaleFactor) +
- mapX -
- 4,
- (int) ((icon.position.x + map.xOffset) * map.scaleFactor) + mapX + 4
- ) &&
- Utils.inRangeInclusive(
- mouseY,
- (int) ((icon.position.y + map.yOffset) * map.scaleFactor) +
- mapY -
- 4,
- (int) ((icon.position.y + map.yOffset) * map.scaleFactor) + mapY + 4
- )
- ) {
- if (!icon.command.isEmpty()) {
- this.mc.thePlayer.sendChatMessage("/" + icon.command);
- }
- break;
+ @Override
+ protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
+ int mapX = (int) (
+ (width / 2f) - ((map.width / 2f) * map.scaleFactor)
+ );
+ int mapY = (int) (
+ (height / 2f) - ((map.height / 2f) * map.scaleFactor)
+ );
+ for (MapIcon icon : map.icons) {
+ if (!icon.canRender()) continue;
+ if (
+ Utils.inRangeInclusive(
+ mouseX,
+ (int) (
+ (icon.position.x + map.xOffset) * map.scaleFactor
+ ) +
+ mapX -
+ 4,
+ (int) (
+ (icon.position.x + map.xOffset) * map.scaleFactor
+ ) +
+ mapX +
+ 4
+ ) &&
+ Utils.inRangeInclusive(
+ mouseY,
+ (int) (
+ (icon.position.y + map.yOffset) * map.scaleFactor
+ ) +
+ mapY -
+ 4,
+ (int) (
+ (icon.position.y + map.yOffset) * map.scaleFactor
+ ) +
+ mapY +
+ 4
+ )
+ ) {
+ if (!icon.command.isEmpty()) {
+ this.mc.thePlayer.sendChatMessage("/" + icon.command);
+ }
+ break;
+ }
+ }
}
- }
}
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/SlayerHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/SlayerHandler.java
index b0ff88e..6b2c808 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/SlayerHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/SlayerHandler.java
@@ -11,152 +11,160 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
public class SlayerHandler {
- //Optional Characters are required because Hypixel dumb and cuts off text
- private static final Pattern COMBAT_XP_REGEX = Pattern.compile(
- "\\(([\\d,]+)/([\\dkm]+)\\) comb?a?t? x?p?"
- );
- private static final Pattern KILLS_REGEX = Pattern.compile(
- "(\\d+)/(\\d+) kills?"
- );
+ //Optional Characters are required because Hypixel dumb and cuts off text
+ private static final Pattern COMBAT_XP_REGEX = Pattern.compile(
+ "\\(([\\d,]+)/([\\dkm]+)\\) comb?a?t? x?p?"
+ );
+ private static final Pattern KILLS_REGEX = Pattern.compile(
+ "(\\d+)/(\\d+) kills?"
+ );
- public enum slayerTypes {
- ZOMBIE(34, "Revenant Horror"),
- WOLF(42, "Sven Packmaster"),
- SPIDER(50, "Tarantula Broodfather"),
- VOIDGLOOMSERAPH(50, "Voidgloom Seraph"),
- NONE(0, "");
+ public enum slayerTypes {
+ ZOMBIE(34, "Revenant Horror"),
+ WOLF(42, "Sven Packmaster"),
+ SPIDER(50, "Tarantula Broodfather"),
+ VOIDGLOOMSERAPH(50, "Voidgloom Seraph"),
+ NONE(0, "");
- private final String displayName;
- private final int x;
+ private final String displayName;
+ private final int x;
- slayerTypes(int x, String displayName) {
- this.displayName = displayName;
- this.x = x;
- }
+ slayerTypes(int x, String displayName) {
+ this.displayName = displayName;
+ this.x = x;
+ }
- public String getDisplayName() {
- return displayName;
- }
+ public String getDisplayName() {
+ return displayName;
+ }
- public int getX() {
- return x;
+ public int getX() {
+ return x;
+ }
}
- }
- public static slayerTypes currentSlayer = slayerTypes.NONE;
- public static int slayerTier = 0;
- public static boolean isDoingSlayer = false;
- public static int progress = 0;
- public static int maxKills = 0;
- public static boolean bossSlain = false;
- public static boolean isKillingBoss = false;
+ public static slayerTypes currentSlayer = slayerTypes.NONE;
+ public static int slayerTier = 0;
+ public static boolean isDoingSlayer = false;
+ public static int progress = 0;
+ public static int maxKills = 0;
+ public static boolean bossSlain = false;
+ public static boolean isKillingBoss = false;
- public static void clearSlayer() {
- currentSlayer = slayerTypes.NONE;
- isDoingSlayer = false;
- progress = 0;
- maxKills = 0;
- bossSlain = false;
- isKillingBoss = false;
- }
+ public static void clearSlayer() {
+ currentSlayer = slayerTypes.NONE;
+ isDoingSlayer = false;
+ progress = 0;
+ maxKills = 0;
+ bossSlain = false;
+ isKillingBoss = false;
+ }
- @SubscribeEvent
- public void onSidebarPost(SidebarPostEvent event) {
- String arrayString = Arrays.toString(event.arrayScores);
- isDoingSlayer = Arrays.toString(event.arrayScores).contains("Slayer Quest");
- if (
- isDoingSlayer &&
- (
- currentSlayer.equals(slayerTypes.NONE) ||
- !arrayString
- .replace(" ", "")
- .contains(
- currentSlayer.getDisplayName().replace(" ", "") +
- Utils.intToRomanNumeral(slayerTier)
- )
- )
- ) {
- for (int i = 0; i < event.scores.size(); i++) {
- String line = event.scores.get(i);
- if (line.contains("Slayer Quest") && event.scores.size() > 3) {
- String slayer = event.scores.get(i - 1).toLowerCase();
- SlayerHandler.slayerTypes selectedSlayer =
- SlayerHandler.slayerTypes.NONE;
- for (slayerTypes types : slayerTypes.values()) {
- if (
- slayer.contains(types.displayName.toLowerCase(Locale.ENGLISH))
- ) {
- selectedSlayer = types;
- break;
+ @SubscribeEvent
+ public void onSidebarPost(SidebarPostEvent event) {
+ String arrayString = Arrays.toString(event.arrayScores);
+ isDoingSlayer =
+ Arrays.toString(event.arrayScores).contains("Slayer Quest");
+ if (
+ isDoingSlayer &&
+ (
+ currentSlayer.equals(slayerTypes.NONE) ||
+ !arrayString
+ .replace(" ", "")
+ .contains(
+ currentSlayer.getDisplayName().replace(" ", "") +
+ Utils.intToRomanNumeral(slayerTier)
+ )
+ )
+ ) {
+ for (int i = 0; i < event.scores.size(); i++) {
+ String line = event.scores.get(i);
+ if (line.contains("Slayer Quest") && event.scores.size() > 3) {
+ String slayer = event.scores.get(i - 1).toLowerCase();
+ SlayerHandler.slayerTypes selectedSlayer =
+ SlayerHandler.slayerTypes.NONE;
+ for (slayerTypes types : slayerTypes.values()) {
+ if (
+ slayer.contains(
+ types.displayName.toLowerCase(Locale.ENGLISH)
+ )
+ ) {
+ selectedSlayer = types;
+ break;
+ }
+ }
+ SlayerHandler.currentSlayer = selectedSlayer;
+ SlayerHandler.slayerTier =
+ Utils.whatRomanNumeral(
+ slayer
+ .replace(
+ selectedSlayer
+ .getDisplayName()
+ .toLowerCase(),
+ ""
+ )
+ .replace(" ", "")
+ );
+ break;
+ }
}
- }
- SlayerHandler.currentSlayer = selectedSlayer;
- SlayerHandler.slayerTier =
- Utils.whatRomanNumeral(
- slayer
- .replace(selectedSlayer.getDisplayName().toLowerCase(), "")
- .replace(" ", "")
- );
- break;
}
- }
- }
- if (!isDoingSlayer) {
- clearSlayer();
+ if (!isDoingSlayer) {
+ clearSlayer();
+ }
}
- }
- @SubscribeEvent
- public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
- if (
- !isDoingSlayer && event.formattedLine.equals("Slayer Quest")
- ) isDoingSlayer = true;
+ @SubscribeEvent
+ public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
+ if (
+ !isDoingSlayer && event.formattedLine.equals("Slayer Quest")
+ ) isDoingSlayer = true;
- if (isDoingSlayer) {
- String line = event.formattedLine.toLowerCase();
- Matcher killMatcher = KILLS_REGEX.matcher(line);
- Matcher xpMatcher = COMBAT_XP_REGEX.matcher(line);
+ if (isDoingSlayer) {
+ String line = event.formattedLine.toLowerCase();
+ Matcher killMatcher = KILLS_REGEX.matcher(line);
+ Matcher xpMatcher = COMBAT_XP_REGEX.matcher(line);
- if (killMatcher.find()) {
- SlayerHandler.bossSlain = false;
- SlayerHandler.isKillingBoss = false;
- try {
- progress = Integer.parseInt(killMatcher.group(1));
- } catch (Exception ignored) {}
- try {
- maxKills = Integer.parseInt(killMatcher.group(2));
- } catch (Exception ignored) {}
- } else if (xpMatcher.find()) {
- SlayerHandler.bossSlain = false;
- SlayerHandler.isKillingBoss = false;
- try {
- progress = Integer.parseInt(xpMatcher.group(1));
- } catch (Exception ignored) {}
- try {
- maxKills =
- Integer.parseInt(xpMatcher.group(2).replace("k", "")) *
- (
- xpMatcher.group(2).contains("k")
- ? 1000
- : xpMatcher.group(2).contains("m") ? 1000000 : 1
- );
- } catch (Exception ignored) {}
- } else if (line.contains("slay the boss")) {
- SlayerHandler.bossSlain = false;
- SlayerHandler.isKillingBoss = true;
- SlayerHandler.maxKills = 0;
- SlayerHandler.progress = 0;
- } else if (line.contains("boss slain")) {
- SlayerHandler.isKillingBoss = false;
- SlayerHandler.maxKills = 0;
- SlayerHandler.progress = 0;
- SlayerHandler.bossSlain = true;
- }
- if (maxKills == 0 && progress == 0) {
- SlayerHandler.maxKills = 0;
- SlayerHandler.progress = 0;
- }
+ if (killMatcher.find()) {
+ SlayerHandler.bossSlain = false;
+ SlayerHandler.isKillingBoss = false;
+ try {
+ progress = Integer.parseInt(killMatcher.group(1));
+ } catch (Exception ignored) {}
+ try {
+ maxKills = Integer.parseInt(killMatcher.group(2));
+ } catch (Exception ignored) {}
+ } else if (xpMatcher.find()) {
+ SlayerHandler.bossSlain = false;
+ SlayerHandler.isKillingBoss = false;
+ try {
+ progress = Integer.parseInt(xpMatcher.group(1));
+ } catch (Exception ignored) {}
+ try {
+ maxKills =
+ Integer.parseInt(xpMatcher.group(2).replace("k", "")) *
+ (
+ xpMatcher.group(2).contains("k")
+ ? 1000
+ : xpMatcher.group(2).contains("m") ? 1000000 : 1
+ );
+ } catch (Exception ignored) {}
+ } else if (line.contains("slay the boss")) {
+ SlayerHandler.bossSlain = false;
+ SlayerHandler.isKillingBoss = true;
+ SlayerHandler.maxKills = 0;
+ SlayerHandler.progress = 0;
+ } else if (line.contains("boss slain")) {
+ SlayerHandler.isKillingBoss = false;
+ SlayerHandler.maxKills = 0;
+ SlayerHandler.progress = 0;
+ SlayerHandler.bossSlain = true;
+ }
+ if (maxKills == 0 && progress == 0) {
+ SlayerHandler.maxKills = 0;
+ SlayerHandler.progress = 0;
+ }
+ }
}
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java
index 7a66df2..1fc3d3f 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/TimeHandler.java
@@ -10,34 +10,39 @@ import org.apache.logging.log4j.LogManager;
public class TimeHandler {
- public static long time;
+ public static long time;
- @SubscribeEvent
- public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
- if (
- Pattern.matches(
- "([0-9]*):([0-9]*)(pm|am)",
- event.formattedLine.toLowerCase().trim()
- )
- ) {
- boolean isPm = event.formattedLine.toLowerCase().trim().endsWith("pm");
- SimpleDateFormat parseFormat = new SimpleDateFormat(
- "hh:mm a",
- Locale.CANADA
- );
- String currentTimeString = event.formattedLine
- .replace(" ", "")
- .replace(isPm ? "pm" : "am", isPm ? " pm" : " am");
- try {
- time =
- (
- parseFormat.parse(currentTimeString).getTime() -
- parseFormat.parse("00:00 am").getTime()
- ) /
- 1000L;
- } catch (ParseException ignored) {
- LogManager.getLogger().warn("timeformat error: " + currentTimeString);
- }
+ @SubscribeEvent
+ public void onSidebarLineUpdate(SidebarLineUpdateEvent event) {
+ if (
+ Pattern.matches(
+ "([0-9]*):([0-9]*)(pm|am)",
+ event.formattedLine.toLowerCase().trim()
+ )
+ ) {
+ boolean isPm = event.formattedLine
+ .toLowerCase()
+ .trim()
+ .endsWith("pm");
+ SimpleDateFormat parseFormat = new SimpleDateFormat(
+ "hh:mm a",
+ Locale.CANADA
+ );
+ String currentTimeString = event.formattedLine
+ .replace(" ", "")
+ .replace(isPm ? "pm" : "am", isPm ? " pm" : " am");
+ try {
+ time =
+ (
+ parseFormat.parse(currentTimeString).getTime() -
+ parseFormat.parse("00:00 am").getTime()
+ ) /
+ 1000L;
+ } catch (ParseException ignored) {
+ LogManager
+ .getLogger()
+ .warn("timeformat error: " + currentTimeString);
+ }
+ }
}
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/DwarvenIcons.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/DwarvenIcons.java
index 542846a..abfbd0e 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/DwarvenIcons.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/DwarvenIcons.java
@@ -9,90 +9,101 @@ import net.minecraft.util.ResourceLocation;
public class DwarvenIcons {
- public static List<MapHandler.MapIcon> dwarvenIcons = new ArrayList<>();
+ public static List<MapHandler.MapIcon> dwarvenIcons = new ArrayList<>();
- static {
- setupNpcIcons();
- setupMiscIcons();
- setupInfoIcons();
- setupShopIcons();
- setupQuestIcons();
- }
+ static {
+ setupNpcIcons();
+ setupMiscIcons();
+ setupInfoIcons();
+ setupShopIcons();
+ setupQuestIcons();
+ }
- private static void setupNpcIcons() {
- dwarvenIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(129, 187),
- new ResourceLocation("skyblockhud", "maps/icons/puzzle.png"),
- new ComponentBuilder()
- .nl("Puzzler", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Puzzler gives you a small puzzle each day to solve and")
- .nl("gives you 1000 mithril powder.")
- .build(),
- MapHandler.MapIconTypes.NPC
- )
- );
- }
+ private static void setupNpcIcons() {
+ dwarvenIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(129, 187),
+ new ResourceLocation("skyblockhud", "maps/icons/puzzle.png"),
+ new ComponentBuilder()
+ .nl("Puzzler", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl(
+ "The Puzzler gives you a small puzzle each day to solve and"
+ )
+ .nl("gives you 1000 mithril powder.")
+ .build(),
+ MapHandler.MapIconTypes.NPC
+ )
+ );
+ }
- private static void setupMiscIcons() {}
+ private static void setupMiscIcons() {}
- private static void setupInfoIcons() {
- dwarvenIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(129, 187),
- new ResourceLocation("skyblockhud", "maps/icons/crown.png"),
- new ComponentBuilder()
- .nl("King", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The King allows you to first start commissions and if you click")
- .nl("each king which change every skyblock day you will get")
- .nl("the King Talisman.")
- .nl()
- .apd("Click to open HOTM", new char[] { '6', 'l' })
- .build(),
- MapHandler.MapIconTypes.INFO,
- "hotm"
- )
- );
- }
+ private static void setupInfoIcons() {
+ dwarvenIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(129, 187),
+ new ResourceLocation("skyblockhud", "maps/icons/crown.png"),
+ new ComponentBuilder()
+ .nl("King", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl(
+ "The King allows you to first start commissions and if you click"
+ )
+ .nl(
+ "each king which change every skyblock day you will get"
+ )
+ .nl("the King Talisman.")
+ .nl()
+ .apd("Click to open HOTM", new char[] { '6', 'l' })
+ .build(),
+ MapHandler.MapIconTypes.INFO,
+ "hotm"
+ )
+ );
+ }
- private static void setupShopIcons() {
- dwarvenIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(4, 8),
- new ResourceLocation("skyblockhud", "maps/icons/blacksmith.png"),
- new ComponentBuilder()
- .nl("Forge", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Forge is where you can go craft special items")
- .nl("and fuel your drill.")
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Forger - Allows you to forge special items")
- .nl(" Jotraeline Greatforge - Allows you to refuel your drill.")
- .nl()
- .apd("Click to warp", new char[] { '6', 'l' })
- .build(),
- MapHandler.MapIconTypes.SHOPS,
- "warpforge"
- )
- );
- }
+ private static void setupShopIcons() {
+ dwarvenIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(4, 8),
+ new ResourceLocation(
+ "skyblockhud",
+ "maps/icons/blacksmith.png"
+ ),
+ new ComponentBuilder()
+ .nl("Forge", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Forge is where you can go craft special items")
+ .nl("and fuel your drill.")
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Forger - Allows you to forge special items")
+ .nl(
+ " Jotraeline Greatforge - Allows you to refuel your drill."
+ )
+ .nl()
+ .apd("Click to warp", new char[] { '6', 'l' })
+ .build(),
+ MapHandler.MapIconTypes.SHOPS,
+ "warpforge"
+ )
+ );
+ }
- private static void setupQuestIcons() {
- dwarvenIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(67, 204),
- new ResourceLocation("skyblockhud", "maps/icons/special.png"),
- new ComponentBuilder()
- .nl("Royal Resident", new char[] { 'a', 'l' })
- .nl("The Royal Resident is a quest where you right")
- .nl("click them for a bit to obtain and if you continue")
- .nl("to right click them for about 7 hours it will give")
- .apd("the achievement Royal Conversation.")
- .build(),
- MapHandler.MapIconTypes.QUEST
- )
- );
- }
+ private static void setupQuestIcons() {
+ dwarvenIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(67, 204),
+ new ResourceLocation("skyblockhud", "maps/icons/special.png"),
+ new ComponentBuilder()
+ .nl("Royal Resident", new char[] { 'a', 'l' })
+ .nl("The Royal Resident is a quest where you right")
+ .nl("click them for a bit to obtain and if you continue")
+ .nl("to right click them for about 7 hours it will give")
+ .apd("the achievement Royal Conversation.")
+ .build(),
+ MapHandler.MapIconTypes.QUEST
+ )
+ );
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/HubIcons.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/HubIcons.java
index 7e510b9..2eafaec 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/HubIcons.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/mapicons/HubIcons.java
@@ -9,318 +9,333 @@ import net.minecraft.util.ResourceLocation;
public class HubIcons {
- public static List<MapHandler.MapIcon> hubIcons = new ArrayList<>();
+ public static List<MapHandler.MapIcon> hubIcons = new ArrayList<>();
- static {
- setupNpcIcons();
- setupMiscIcons();
- setupInfoIcons();
- setupShopIcons();
- setupQuestIcons();
- }
+ static {
+ setupNpcIcons();
+ setupMiscIcons();
+ setupInfoIcons();
+ setupShopIcons();
+ setupQuestIcons();
+ }
- private static void setupNpcIcons() {
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-2, -34),
- new ResourceLocation("skyblockhud", "maps/icons/special.png"),
- new ComponentBuilder()
- .nl("Event Hut", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Event Hut is where special event npcs")
- .nl("are during some events.")
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Baker - During New Years")
- .nl(" Jerry - While Winter Island is opened")
- .nl(" Fear Mongerer - During Spooky Festival")
- .apd(" Oringo - During Traveling Zoo")
- .build(),
- MapHandler.MapIconTypes.NPC
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(135, 142),
- new ResourceLocation("skyblockhud", "maps/icons/fairy.png"),
- new ComponentBuilder()
- .nl("Fairy", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Fairy is where you go when you find fairy souls")
- .apd("to trade them in to get permanent stat upgrades.")
- .build(),
- MapHandler.MapIconTypes.NPC
- )
- );
- }
+ private static void setupNpcIcons() {
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-2, -34),
+ new ResourceLocation("skyblockhud", "maps/icons/special.png"),
+ new ComponentBuilder()
+ .nl("Event Hut", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Event Hut is where special event npcs")
+ .nl("are during some events.")
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Baker - During New Years")
+ .nl(" Jerry - While Winter Island is opened")
+ .nl(" Fear Mongerer - During Spooky Festival")
+ .apd(" Oringo - During Traveling Zoo")
+ .build(),
+ MapHandler.MapIconTypes.NPC
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(135, 142),
+ new ResourceLocation("skyblockhud", "maps/icons/fairy.png"),
+ new ComponentBuilder()
+ .nl("Fairy", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Fairy is where you go when you find fairy souls")
+ .apd("to trade them in to get permanent stat upgrades.")
+ .build(),
+ MapHandler.MapIconTypes.NPC
+ )
+ );
+ }
- private static void setupShopIcons() {
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-50, -22),
- new ResourceLocation("skyblockhud", "maps/icons/building.png"),
- new ComponentBuilder()
- .nl("Builder's House", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Wool Weaver")
- .nl(" Builder")
- .apd(" Mad Redstone Engineer")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-78, -46),
- new ResourceLocation("skyblockhud", "maps/icons/bar.png"),
- new ComponentBuilder()
- .nl("Tavern", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Bartender")
- .nl(" Maddox the slayer")
- .nl("Description", 'l')
- .nl("The Tavern is where maddox the slayer is located you can")
- .nl("start slayer quests with them to unlock")
- .apd("new items the more slayer bosses you kill.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(36, -82),
- new ResourceLocation("skyblockhud", "maps/icons/vet.png"),
- new ComponentBuilder()
- .nl("Vet", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Bea")
- .nl(" Zog")
- .nl(" Kat")
- .nl(" George")
- .nl("Description", 'l')
- .nl("The Vet is where you go to upgrade your pet")
- .nl("at Kat or to buy pet upgrade items from Zog")
- .nl("or trade in your pet at George and if you're")
- .apd("a new player you can buy a bee pet from Bea.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(58, -73),
- new ResourceLocation("skyblockhud", "maps/icons/fishing_merchant.png"),
- new ComponentBuilder()
- .nl("Fishing Merchant", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Fishing Merchant allows you to buy")
- .nl("fishing related items and he has his friend")
- .nl("joe whose in the house hes setup")
- .apd("in front of who sells sponges.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(46, -53),
- new ResourceLocation("skyblockhud", "maps/icons/witch.png"),
- new ComponentBuilder()
- .nl("Alchemist", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Alchemist allows you to buy")
- .apd("potion making related items")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-4, -128),
- new ResourceLocation("skyblockhud", "maps/icons/metal_merchants.png"),
- new ComponentBuilder()
- .nl("Blacksmith Merchants", new char[] { 'a', 'l' })
- .nl("Merchants", new char[] { 'c', 'l' })
- .nl(" Weaponsmith - Weapon Related Items")
- .nl(" Armorsmith - Armor Related Items")
- .apd(" Mine Merchant - Mining Related Items")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-30, -120),
- new ResourceLocation("skyblockhud", "maps/icons/blacksmith.png"),
- new ComponentBuilder()
- .nl("Blacksmith", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Blacksmith")
- .nl(" Dusk")
- .nl(" Smithmonger")
- .nl("Description", 'l')
- .nl("The Blacksmith lets you reforge your items")
- .nl("while the Smithmonger allows you to buy reforge stones")
- .apd("and Dusk allows you to combine and apply runes.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(124, 180),
- new ResourceLocation("skyblockhud", "maps/icons/dark_bar.png"),
- new ComponentBuilder()
- .nl("Dark Bar", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Shifty")
- .nl(" Lucius")
- .nl("Description", 'l')
- .nl("The Dark Bar is where you can buy special")
- .nl("brews from Shifty and you can buy special")
- .nl("items from Lucius after buying a certain")
- .apd("amount of items from the Dark Auction.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(92, 185),
- new ResourceLocation("skyblockhud", "maps/icons/dark_ah.png"),
- new ComponentBuilder()
- .nl("Dark Auction", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Dark Auction allows you to buy")
- .nl("super special items from Sirius the")
- .apd("auctioneer in a special auction.")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-245, 52),
- new ResourceLocation("skyblockhud", "maps/icons/scroll.png"),
- new ComponentBuilder()
- .nl("Lonely Philosopher", new char[] { 'a', 'l' })
- .nl("Shop", new char[] { '6', 'l' })
- .nl(" Travel Scroll to Hub Castle")
- .nl()
- .nl(" Cost")
- .nl(" 150,000 Coins", '6')
- .nl()
- .apd(" Requires ")
- .apd("MVP", 'b')
- .apd("+", 'c')
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(24, -38),
- new ResourceLocation("skyblockhud", "maps/icons/tux.png"),
- new ComponentBuilder()
- .nl("Fashion Shop", new char[] { 'a', 'l' })
- .nl("NPCS", new char[] { 'c', 'l' })
- .nl(" Wool Weaver")
- .nl(" Builder")
- .apd(" Mad Redstone Engineer")
- .build(),
- MapHandler.MapIconTypes.SHOPS
- )
- );
- }
+ private static void setupShopIcons() {
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-50, -22),
+ new ResourceLocation("skyblockhud", "maps/icons/building.png"),
+ new ComponentBuilder()
+ .nl("Builder's House", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Wool Weaver")
+ .nl(" Builder")
+ .apd(" Mad Redstone Engineer")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-78, -46),
+ new ResourceLocation("skyblockhud", "maps/icons/bar.png"),
+ new ComponentBuilder()
+ .nl("Tavern", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Bartender")
+ .nl(" Maddox the slayer")
+ .nl("Description", 'l')
+ .nl(
+ "The Tavern is where maddox the slayer is located you can"
+ )
+ .nl("start slayer quests with them to unlock")
+ .apd("new items the more slayer bosses you kill.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(36, -82),
+ new ResourceLocation("skyblockhud", "maps/icons/vet.png"),
+ new ComponentBuilder()
+ .nl("Vet", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Bea")
+ .nl(" Zog")
+ .nl(" Kat")
+ .nl(" George")
+ .nl("Description", 'l')
+ .nl("The Vet is where you go to upgrade your pet")
+ .nl("at Kat or to buy pet upgrade items from Zog")
+ .nl("or trade in your pet at George and if you're")
+ .apd("a new player you can buy a bee pet from Bea.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(58, -73),
+ new ResourceLocation(
+ "skyblockhud",
+ "maps/icons/fishing_merchant.png"
+ ),
+ new ComponentBuilder()
+ .nl("Fishing Merchant", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Fishing Merchant allows you to buy")
+ .nl("fishing related items and he has his friend")
+ .nl("joe whose in the house hes setup")
+ .apd("in front of who sells sponges.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(46, -53),
+ new ResourceLocation("skyblockhud", "maps/icons/witch.png"),
+ new ComponentBuilder()
+ .nl("Alchemist", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Alchemist allows you to buy")
+ .apd("potion making related items")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-4, -128),
+ new ResourceLocation(
+ "skyblockhud",
+ "maps/icons/metal_merchants.png"
+ ),
+ new ComponentBuilder()
+ .nl("Blacksmith Merchants", new char[] { 'a', 'l' })
+ .nl("Merchants", new char[] { 'c', 'l' })
+ .nl(" Weaponsmith - Weapon Related Items")
+ .nl(" Armorsmith - Armor Related Items")
+ .apd(" Mine Merchant - Mining Related Items")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-30, -120),
+ new ResourceLocation(
+ "skyblockhud",
+ "maps/icons/blacksmith.png"
+ ),
+ new ComponentBuilder()
+ .nl("Blacksmith", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Blacksmith")
+ .nl(" Dusk")
+ .nl(" Smithmonger")
+ .nl("Description", 'l')
+ .nl("The Blacksmith lets you reforge your items")
+ .nl(
+ "while the Smithmonger allows you to buy reforge stones"
+ )
+ .apd("and Dusk allows you to combine and apply runes.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(124, 180),
+ new ResourceLocation("skyblockhud", "maps/icons/dark_bar.png"),
+ new ComponentBuilder()
+ .nl("Dark Bar", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Shifty")
+ .nl(" Lucius")
+ .nl("Description", 'l')
+ .nl("The Dark Bar is where you can buy special")
+ .nl("brews from Shifty and you can buy special")
+ .nl("items from Lucius after buying a certain")
+ .apd("amount of items from the Dark Auction.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(92, 185),
+ new ResourceLocation("skyblockhud", "maps/icons/dark_ah.png"),
+ new ComponentBuilder()
+ .nl("Dark Auction", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Dark Auction allows you to buy")
+ .nl("super special items from Sirius the")
+ .apd("auctioneer in a special auction.")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-245, 52),
+ new ResourceLocation("skyblockhud", "maps/icons/scroll.png"),
+ new ComponentBuilder()
+ .nl("Lonely Philosopher", new char[] { 'a', 'l' })
+ .nl("Shop", new char[] { '6', 'l' })
+ .nl(" Travel Scroll to Hub Castle")
+ .nl()
+ .nl(" Cost")
+ .nl(" 150,000 Coins", '6')
+ .nl()
+ .apd(" Requires ")
+ .apd("MVP", 'b')
+ .apd("+", 'c')
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(24, -38),
+ new ResourceLocation("skyblockhud", "maps/icons/tux.png"),
+ new ComponentBuilder()
+ .nl("Fashion Shop", new char[] { 'a', 'l' })
+ .nl("NPCS", new char[] { 'c', 'l' })
+ .nl(" Wool Weaver")
+ .nl(" Builder")
+ .apd(" Mad Redstone Engineer")
+ .build(),
+ MapHandler.MapIconTypes.SHOPS
+ )
+ );
+ }
- private static void setupMiscIcons() {
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-24, -53),
- new ResourceLocation("skyblockhud", "maps/icons/bank.png"),
- new ComponentBuilder()
- .nl("Bank", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Bank is where you can store your money on skyblock")
- .apd("you can also store some items in the vault.")
- .build(),
- MapHandler.MapIconTypes.MISC
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-26, -80),
- new ResourceLocation("skyblockhud", "maps/icons/ah.png"),
- new ComponentBuilder()
- .nl("Auction House", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Auction House is where you can auction off your")
- .apd("precious items in skyblock to make a profit.")
- .build(),
- MapHandler.MapIconTypes.MISC
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-38, -66),
- new ResourceLocation("skyblockhud", "maps/icons/bazaar.png"),
- new ComponentBuilder()
- .nl("Bazaar", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Bazaar is where you can sell specific items")
- .nl("on a sort of stock market and request and")
- .apd("sell items at a specific price.")
- .build(),
- MapHandler.MapIconTypes.MISC
- )
- );
- }
+ private static void setupMiscIcons() {
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-24, -53),
+ new ResourceLocation("skyblockhud", "maps/icons/bank.png"),
+ new ComponentBuilder()
+ .nl("Bank", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl(
+ "The Bank is where you can store your money on skyblock"
+ )
+ .apd("you can also store some items in the vault.")
+ .build(),
+ MapHandler.MapIconTypes.MISC
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-26, -80),
+ new ResourceLocation("skyblockhud", "maps/icons/ah.png"),
+ new ComponentBuilder()
+ .nl("Auction House", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Auction House is where you can auction off your")
+ .apd("precious items in skyblock to make a profit.")
+ .build(),
+ MapHandler.MapIconTypes.MISC
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-38, -66),
+ new ResourceLocation("skyblockhud", "maps/icons/bazaar.png"),
+ new ComponentBuilder()
+ .nl("Bazaar", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Bazaar is where you can sell specific items")
+ .nl("on a sort of stock market and request and")
+ .apd("sell items at a specific price.")
+ .build(),
+ MapHandler.MapIconTypes.MISC
+ )
+ );
+ }
- private static void setupInfoIcons() {
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(8, -95),
- new ResourceLocation("skyblockhud", "maps/icons/community.png"),
- new ComponentBuilder()
- .nl("Community Center", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("The Community Center is where you can vote")
- .nl("for your favorite election candidate,")
- .nl("access the community shop, upgrade your")
- .apd("account, and help with city projects.")
- .build(),
- MapHandler.MapIconTypes.INFO
- )
- );
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(150, 45),
- new ResourceLocation("skyblockhud", "maps/icons/fishing.png"),
- new ComponentBuilder()
- .nl("Fisherman's Hut", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("This is a spot where people regularly")
- .nl("do their fishing, this is one")
- .apd("of many spots.")
- .build(),
- MapHandler.MapIconTypes.INFO
- )
- );
- }
+ private static void setupInfoIcons() {
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(8, -95),
+ new ResourceLocation("skyblockhud", "maps/icons/community.png"),
+ new ComponentBuilder()
+ .nl("Community Center", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("The Community Center is where you can vote")
+ .nl("for your favorite election candidate,")
+ .nl("access the community shop, upgrade your")
+ .apd("account, and help with city projects.")
+ .build(),
+ MapHandler.MapIconTypes.INFO
+ )
+ );
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(150, 45),
+ new ResourceLocation("skyblockhud", "maps/icons/fishing.png"),
+ new ComponentBuilder()
+ .nl("Fisherman's Hut", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("This is a spot where people regularly")
+ .nl("do their fishing, this is one")
+ .apd("of many spots.")
+ .build(),
+ MapHandler.MapIconTypes.INFO
+ )
+ );
+ }
- private static void setupQuestIcons() {
- hubIcons.add(
- new MapHandler.MapIcon(
- new Vector2f(-8, -10),
- new ResourceLocation("skyblockhud", "maps/icons/painter.png"),
- new ComponentBuilder()
- .nl("Marco", new char[] { 'a', 'l' })
- .nl("Description", 'l')
- .nl("Marco is an NPC that has no other uses")
- .nl("besides giving you a spray can for")
- .apd("completing a quest.")
- .build(),
- MapHandler.MapIconTypes.QUEST
- )
- );
- }
+ private static void setupQuestIcons() {
+ hubIcons.add(
+ new MapHandler.MapIcon(
+ new Vector2f(-8, -10),
+ new ResourceLocation("skyblockhud", "maps/icons/painter.png"),
+ new ComponentBuilder()
+ .nl("Marco", new char[] { 'a', 'l' })
+ .nl("Description", 'l')
+ .nl("Marco is an NPC that has no other uses")
+ .nl("besides giving you a spray can for")
+ .apd("completing a quest.")
+ .build(),
+ MapHandler.MapIconTypes.QUEST
+ )
+ );
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeHelper.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeHelper.java
index 158222c..f5e7c2f 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeHelper.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeHelper.java
@@ -8,28 +8,28 @@ import net.minecraft.init.Blocks;
public class EntityTypeHelper {
- public static boolean isZealot(Entity entity) {
- if (entity instanceof EntityEnderman) {
- EntityEnderman enderman = ((EntityEnderman) entity);
- double maxHealthBase = enderman
- .getAttributeMap()
- .getAttributeInstanceByName("generic.maxHealth")
- .getBaseValue();
- if (
- maxHealthBase == 13000d ||
- (
- maxHealthBase == 2000d &&
- enderman
- .getHeldBlockState()
- .getBlock()
- .equals(Blocks.end_portal_frame)
- )
- ) {
- return LocationHandler
- .getCurrentLocation()
- .equals(Locations.DRAGONSNEST);
- }
+ public static boolean isZealot(Entity entity) {
+ if (entity instanceof EntityEnderman) {
+ EntityEnderman enderman = ((EntityEnderman) entity);
+ double maxHealthBase = enderman
+ .getAttributeMap()
+ .getAttributeInstanceByName("generic.maxHealth")
+ .getBaseValue();
+ if (
+ maxHealthBase == 13000d ||
+ (
+ maxHealthBase == 2000d &&
+ enderman
+ .getHeldBlockState()
+ .getBlock()
+ .equals(Blocks.end_portal_frame)
+ )
+ ) {
+ return LocationHandler
+ .getCurrentLocation()
+ .equals(Locations.DRAGONSNEST);
+ }
+ }
+ return false;
}
- return false;
- }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeRegistry.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeRegistry.java
index 254f61e..a2b70ef 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeRegistry.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/EntityTypeRegistry.java
@@ -9,20 +9,22 @@ import net.minecraft.entity.monster.EntityEnderman;
public class EntityTypeRegistry {
- private static final Map<Class<? extends Entity>, List<SkyBlockEntity>> entities = Maps.newHashMap();
+ private static final Map<Class<? extends Entity>, List<SkyBlockEntity>> entities = Maps.newHashMap();
- static {
- entities.put(
- EntityEnderman.class,
- ImmutableList.of(SkyBlockEntity.of("zealot", EntityTypeHelper::isZealot))
- );
- }
+ static {
+ entities.put(
+ EntityEnderman.class,
+ ImmutableList.of(
+ SkyBlockEntity.of("zealot", EntityTypeHelper::isZealot)
+ )
+ );
+ }
- public static String getEntityId(Entity entity) {
- if (!entities.containsKey(entity.getClass())) return null;
- for (SkyBlockEntity skyBlockEntity : entities.get(entity.getClass())) if (
- skyBlockEntity.isEntity(entity)
- ) return skyBlockEntity.getName();
- return null;
- }
+ public static String getEntityId(Entity entity) {
+ if (!entities.containsKey(entity.getClass())) return null;
+ for (SkyBlockEntity skyBlockEntity : entities.get(
+ entity.getClass()
+ )) if (skyBlockEntity.isEntity(entity)) return skyBlockEntity.getName();
+ return null;
+ }
}
diff --git a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/SkyBlockEntity.java b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/SkyBlockEntity.java
index 23a56e5..ee8c3a7 100644
--- a/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/SkyBlockEntity.java
+++ b/src/main/java/com/thatgravyboat/skyblockhud/handlers/sbentities/SkyBlockEntity.java
@@ -5,23 +5,23 @@ import net.minecraft.entity.Entity;
public class SkyBlockEntity {
- private final String name;
- private final Predicate<Entity> predicate;
+ private final String name;
+ private final Predicate<Entity> predicate;
- public static SkyBlockEntity of(String name, Predicate<Entity> predicate) {
- return new SkyBlockEntity(name, predicate);
- }
+ public static SkyBlockEntity of(String name, Predicate<Entity> predicate) {
+ return new SkyBlockEntity(name, predicate);
+ }
- private SkyBlockEntity(String name, Predicate<Entity> predicate) {
- this.name = name;
- this.predicate = predicate;
- }
+ private SkyBlockEntity(String name, Predicate<Entity> predicate) {
+ this.name = name;
+ this.predicate = predicate;
+ }
- public String getName() {
- return name;
- }
+ public String getName() {
+ return name;
+ }
- public boolean isEntity(Entity entity) {
- return predicate.test(entity);
- }
+ public boolean isEntity(Entity entity) {
+ return predicate.test(entity);
+ }
}