aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbowser0000 <bowser0000@gmail.com>2022-04-20 22:52:26 -0400
committerbowser0000 <bowser0000@gmail.com>2022-04-20 22:52:26 -0400
commitf214832fb6f315d59d876267f71e9e9f0a6082fd (patch)
tree7e91ac59569230e587cb5060f42356241a07ea97
parent9b65362e8e85a8fc783fdb2a1c94f6df51f9450f (diff)
downloadSkyblockMod-f214832fb6f315d59d876267f71e9e9f0a6082fd.tar.gz
SkyblockMod-f214832fb6f315d59d876267f71e9e9f0a6082fd.tar.bz2
SkyblockMod-f214832fb6f315d59d876267f71e9e9f0a6082fd.zip
Add blaze slayer support + tracker
-rw-r--r--README.md8
-rw-r--r--src/main/java/me/Danker/DankersSkyblockMod.java1
-rw-r--r--src/main/java/me/Danker/commands/BlockSlayerCommand.java10
-rw-r--r--src/main/java/me/Danker/commands/DisplayCommand.java13
-rw-r--r--src/main/java/me/Danker/commands/LootCommand.java89
-rw-r--r--src/main/java/me/Danker/commands/ResetLootCommand.java39
-rw-r--r--src/main/java/me/Danker/commands/SkyblockPlayersCommand.java19
-rw-r--r--src/main/java/me/Danker/commands/SlayerCommand.java10
-rw-r--r--src/main/java/me/Danker/commands/WeightCommand.java2
-rw-r--r--src/main/java/me/Danker/features/AutoDisplay.java3
-rw-r--r--src/main/java/me/Danker/features/loot/BlazeTracker.java184
-rw-r--r--src/main/java/me/Danker/features/loot/LootDisplay.java122
-rw-r--r--src/main/java/me/Danker/features/loot/LootTracker.java6
-rw-r--r--src/main/java/me/Danker/gui/DisplayGui.java13
-rw-r--r--src/main/java/me/Danker/gui/OnlySlayerGui.java14
-rw-r--r--src/main/java/me/Danker/handlers/ConfigHandler.java27
16 files changed, 519 insertions, 41 deletions
diff --git a/README.md b/README.md
index 4a77ae4..2a740c7 100644
--- a/README.md
+++ b/README.md
@@ -72,9 +72,9 @@ Discord Server: https://discord.gg/QsEkNQS
- /toggle <too many to list> - Toggles features. /toggle list returns values of every toggle.
- /setkey <key> - Sets API key.
- /getkey - Returns key set with /setkey and copies it to your clipboard.
-- /loot <zombie/spider/wolf/enderman/fishing/catacombs/mythological/> [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.
-- /display <zombie/spider/wolf/enderman/fishing/catacombs/mythological/ghosts/auto/off> [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active.
-- /resetloot <zombie/spider/wolf/enderman/fishing/catacombs/mythological/confirm/cancel> - - Resets loot for trackers. /resetloot confirm confirms the reset.
+- /loot <zombie/spider/wolf/enderman/blaze/fishing/catacombs/mythological/> [winter/festival/spooky/ch/f(1-7)/mm/session] - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.
+- /display <zombie/spider/wolf/enderman/blaze/fishing/catacombs/mythological/ghosts/auto/off> [winter/festival/spooky/ch/f(1-7)/mm/session] - Text display for trackers. /display fishing winter displays winter sea creatures instead. /display auto automatically displays the loot for the slayer quest you have active.
+- /resetloot <zombie/spider/wolf/enderman/blaze/fishing/catacombs/mythological/confirm/cancel> - - Resets loot for trackers. /resetloot confirm confirms the reset.
- /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer/golemtimer/teammatesinradius/gianthp/abilitycooldowns/dungeonscore> <x> <y> - Moves text display to specified X and Y coordinates.
- /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer/bonzotimer/golemtimer/teammatesinradius/gianthp/abilitycooldowns/dungeonscore> <scale (0.1 - 10)> - Scales text display to a specified multipler between 0.1x and 10x.
- /slayer [player] - Uses API to get slayer xp of a person. If no name is provided, it checks yours.
@@ -88,7 +88,7 @@ Discord Server: https://discord.gg/QsEkNQS
- /weight [player] [lily/farming] - Uses API to get weight of a person. If no name is provided, it checks yours. Adding lily uses lily's weight. Adding farming uses Kaeso's farming weight.
- /importfishing - Imports your fishing stats from your latest profile to your fishing tracker using the API.
- /sbplayers - Uses API to find how many players are on each Skyblock island.
-- /onlyslayer <zombie/spider/wolf/enderman> <1/2/3/4/5>
+- /onlyslayer <zombie/spider/wolf/enderman/blaze> <1/2/3/4/5>
- /skilltracker <start/stop/reset> - Text display for skill xp/hour.
- /reparty - Disbands and reparties all members in the party
- /fairysouls - Check the fairysouls of a player
diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java
index 07ba904..fb98068 100644
--- a/src/main/java/me/Danker/DankersSkyblockMod.java
+++ b/src/main/java/me/Danker/DankersSkyblockMod.java
@@ -166,6 +166,7 @@ public class DankersSkyblockMod {
MinecraftForge.EVENT_BUS.register(new LootDisplay());
MinecraftForge.EVENT_BUS.register(new LootTracker());
+ MinecraftForge.EVENT_BUS.register(new BlazeTracker());
MinecraftForge.EVENT_BUS.register(new CatacombsTracker());
MinecraftForge.EVENT_BUS.register(new EndermanTracker());
MinecraftForge.EVENT_BUS.register(new FishingTracker());
diff --git a/src/main/java/me/Danker/commands/BlockSlayerCommand.java b/src/main/java/me/Danker/commands/BlockSlayerCommand.java
index 9f51be6..37047c9 100644
--- a/src/main/java/me/Danker/commands/BlockSlayerCommand.java
+++ b/src/main/java/me/Danker/commands/BlockSlayerCommand.java
@@ -21,7 +21,7 @@ public class BlockSlayerCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <zombie/spider/wolf/enderman> <1/2/3/4/5>";
+ return "/" + getCommandName() + " <zombie/spider/wolf/enderman/blaze> <1/2/3/4/5>";
}
public static String usage(ICommandSender arg0) {
@@ -36,7 +36,7 @@ public class BlockSlayerCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman");
+ return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "blaze");
} else if (args.length == 2) {
return getListOfStringsMatchingLastWord(args, "1", "2", "3", "4", "5");
}
@@ -62,6 +62,12 @@ public class BlockSlayerCommand extends CommandBase {
case "wolf":
BlockWrongSlayer.onlySlayerName = "Sven Packmaster";
break;
+ case "enderman":
+ BlockWrongSlayer.onlySlayerName = "Voidgloom Seraph";
+ break;
+ case "blaze":
+ BlockWrongSlayer.onlySlayerName = "Inferno Demonlord";
+ break;
case "off":
BlockWrongSlayer.onlySlayerName = "";
BlockWrongSlayer.onlySlayerNumber = "";
diff --git a/src/main/java/me/Danker/commands/DisplayCommand.java b/src/main/java/me/Danker/commands/DisplayCommand.java
index 3db6853..174258d 100644
--- a/src/main/java/me/Danker/commands/DisplayCommand.java
+++ b/src/main/java/me/Danker/commands/DisplayCommand.java
@@ -21,7 +21,7 @@ public class DisplayCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <zombie/spider/wolf/enderman/fishing/catacombs/mythological/ghost/auto/off> [winter/festival/spooky/ch/session/f(1-7)/mm]";
+ return "/" + getCommandName() + " <zombie/spider/wolf/enderman/blaze/fishing/catacombs/mythological/ghost/auto/off> [winter/festival/spooky/ch/session/f(1-7)/mm]";
}
public static String usage(ICommandSender arg0) {
@@ -36,7 +36,7 @@ public class DisplayCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological", "ghost", "auto", "off");
+ return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological", "ghost", "auto", "off");
} else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) {
return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session");
} else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) {
@@ -89,6 +89,13 @@ public class DisplayCommand extends CommandBase {
LootDisplay.display = "enderman";
}
break;
+ case "blaze":
+ if (showSession) {
+ LootDisplay.display = "blaze_session";
+ } else {
+ LootDisplay.display = "blaze";
+ }
+ break;
case "fishing":
if (arg1.length > 1) {
switch (arg1[1].toLowerCase()) {
@@ -213,7 +220,7 @@ public class DisplayCommand extends CommandBase {
LootDisplay.display = "catacombs_master";
}
default:
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /display catacombs <f1/f2/f3/f4/f5/f6/f7>"));
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /display catacombs <f1/f2/f3/f4/f5/f6/f7/mm>"));
return;
}
break;
diff --git a/src/main/java/me/Danker/commands/LootCommand.java b/src/main/java/me/Danker/commands/LootCommand.java
index 5edc5f4..5d91573 100644
--- a/src/main/java/me/Danker/commands/LootCommand.java
+++ b/src/main/java/me/Danker/commands/LootCommand.java
@@ -24,7 +24,7 @@ public class LootCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <zombie/spider/wolf/enderman/fishing/catacombs/mythological> [winter/festival/spooky/ch/f(1-7)/mm/session]";
+ return "/" + getCommandName() + " <zombie/spider/wolf/enderman/blaze/fishing/catacombs/mythological> [winter/festival/spooky/ch/f(1-7)/mm/session]";
}
public static String usage(ICommandSender arg0) {
@@ -39,7 +39,7 @@ public class LootCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "fishing", "catacombs", "mythological");
+ return getListOfStringsMatchingLastWord(args, "wolf", "spider", "zombie", "enderman", "blaze", "fishing", "catacombs", "mythological");
} else if (args.length == 2 && args[0].equalsIgnoreCase("fishing")) {
return getListOfStringsMatchingLastWord(args, "winter", "festival", "spooky", "ch", "session");
} else if (args.length == 2 && args[0].equalsIgnoreCase("catacombs")) {
@@ -64,9 +64,8 @@ public class LootCommand extends CommandBase {
String bossesBetween;
String drop20;
NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US);
- boolean showSession = false;
- if (arg1[arg1.length - 1].equalsIgnoreCase("session")) showSession = true;
+ boolean showSession = arg1[arg1.length - 1].equalsIgnoreCase("session");
switch (arg1[0].toLowerCase()) {
case "wolf":
@@ -363,6 +362,88 @@ public class LootCommand extends CommandBase {
EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" +
EnumChatFormatting.DARK_PURPLE + EnumChatFormatting.BOLD + " -------------------"));
break;
+ case "blaze":
+ if (showSession) {
+ if (BlazeTracker.timeSession == -1) {
+ timeBetween = "Never";
+ } else {
+ timeBetween = Utils.getTimeBetween(BlazeTracker.timeSession, timeNow);
+ }
+ if (BlazeTracker.bossesSession == -1) {
+ bossesBetween = "Never";
+ } else {
+ bossesBetween = nf.format(BlazeTracker.bossesSession);
+ }
+
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Blaze Loot Summary (Current Session):\n" +
+ EnumChatFormatting.GOLD + " Demonlords Killed: " + nf.format(BlazeTracker.demonlordsSession) + "\n" +
+ EnumChatFormatting.GRAY + " Derelict Ashes: " + nf.format(BlazeTracker.derelictAshesSession) + "\n" +
+ EnumChatFormatting.RED + " Lavatear Runes: " + nf.format(BlazeTracker.lavatearRunesSession) + "\n" +
+ EnumChatFormatting.AQUA + " Splash Potions: " + nf.format(BlazeTracker.splashPotionsSession) + "\n" +
+ EnumChatFormatting.DARK_RED + " Magma Arrows: " + nf.format(BlazeTracker.magmaArrowsSession) + "\n" +
+ EnumChatFormatting.DARK_AQUA + " Mana Disintegrators: " + nf.format(BlazeTracker.manaDisintegratorsSession) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + " Scorched Books: " + nf.format(BlazeTracker.scorchedBooksSession) + "\n" +
+ EnumChatFormatting.WHITE + " Kelvin Inverters: " + nf.format(BlazeTracker.kelvinInvertersSession) + "\n" +
+ EnumChatFormatting.BLUE + " Blaze Rod Distillates: " + nf.format(BlazeTracker.blazeRodDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + " Glowstone Distillates: " + nf.format(BlazeTracker.glowstoneDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + " Magma Cream Distillates: " + nf.format(BlazeTracker.magmaCreamDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + " Nether Wart Distillates: " + nf.format(BlazeTracker.netherWartDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + " Gabagool Distillates: " + nf.format(BlazeTracker.gabagoolDistillatesSession) + "\n" +
+ EnumChatFormatting.RED + " Scorched Power Crystals: " + nf.format(BlazeTracker.scorchedPowerCrystalsSession) + "\n" +
+ EnumChatFormatting.RED + " Fire Aspect Books: " + nf.format(BlazeTracker.fireAspectBooksSession) + "\n" +
+ EnumChatFormatting.GOLD + " Fiery Burst Runes: " + nf.format(BlazeTracker.fieryBurstRunesSession) + "\n" +
+ EnumChatFormatting.WHITE + " Opal Gems: " + nf.format(BlazeTracker.opalGemsSession) + "\n" +
+ EnumChatFormatting.RED + " Archfiend Dice: " + nf.format(BlazeTracker.archfiendDiceSession) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + " Duplex Books: " + nf.format(BlazeTracker.duplexBooksSession) + "\n" +
+ EnumChatFormatting.GOLD + " High Class Archfiend Dice: " + nf.format(BlazeTracker.highClassArchfiendDiceSession) + "\n" +
+ EnumChatFormatting.GOLD + " Engineering Plans: " + nf.format(BlazeTracker.engineeringPlansSession) + "\n" +
+ EnumChatFormatting.GOLD + " Subzero Inverters: " + nf.format(BlazeTracker.subzeroInvertersSession) + "\n" +
+ EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" +
+ EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------"));
+ return;
+ }
+
+ if (BlazeTracker.time == -1) {
+ timeBetween = "Never";
+ } else {
+ timeBetween = Utils.getTimeBetween(BlazeTracker.time, timeNow);
+ }
+ if (BlazeTracker.bosses == -1) {
+ bossesBetween = "Never";
+ } else {
+ bossesBetween = nf.format(BlazeTracker.bosses);
+ }
+
+ player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + EnumChatFormatting.BOLD + "-------------------\n" +
+ EnumChatFormatting.DARK_RED + EnumChatFormatting.BOLD + " Blaze Loot Summary:\n" +
+ EnumChatFormatting.GOLD + " Demonlords Killed: " + nf.format(BlazeTracker.demonlords) + "\n" +
+ EnumChatFormatting.GRAY + " Derelict Ashes: " + nf.format(BlazeTracker.derelictAshes) + "\n" +
+ EnumChatFormatting.RED + " Lavatear Runes: " + nf.format(BlazeTracker.lavatearRunes) + "\n" +
+ EnumChatFormatting.AQUA + " Splash Potions: " + nf.format(BlazeTracker.splashPotions) + "\n" +
+ EnumChatFormatting.DARK_RED + " Magma Arrows: " + nf.format(BlazeTracker.magmaArrows) + "\n" +
+ EnumChatFormatting.DARK_AQUA + " Mana Disintegrators: " + nf.format(BlazeTracker.manaDisintegrators) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + " Scorched Books: " + nf.format(BlazeTracker.scorchedBooks) + "\n" +
+ EnumChatFormatting.WHITE + " Kelvin Inverters: " + nf.format(BlazeTracker.kelvinInverters) + "\n" +
+ EnumChatFormatting.BLUE + " Blaze Rod Distillates: " + nf.format(BlazeTracker.blazeRodDistillates) + "\n" +
+ EnumChatFormatting.BLUE + " Glowstone Distillates: " + nf.format(BlazeTracker.glowstoneDistillates) + "\n" +
+ EnumChatFormatting.BLUE + " Magma Cream Distillates: " + nf.format(BlazeTracker.magmaCreamDistillates) + "\n" +
+ EnumChatFormatting.BLUE + " Nether Wart Distillates: " + nf.format(BlazeTracker.netherWartDistillates) + "\n" +
+ EnumChatFormatting.BLUE + " Gabagool Distillates: " + nf.format(BlazeTracker.gabagoolDistillates) + "\n" +
+ EnumChatFormatting.RED + " Scorched Power Crystals: " + nf.format(BlazeTracker.scorchedPowerCrystals) + "\n" +
+ EnumChatFormatting.RED + " Fire Aspect Books: " + nf.format(BlazeTracker.fireAspectBooks) + "\n" +
+ EnumChatFormatting.GOLD + " Fiery Burst Runes: " + nf.format(BlazeTracker.fieryBurstRunes) + "\n" +
+ EnumChatFormatting.WHITE + " Opal Gems: " + nf.format(BlazeTracker.opalGems) + "\n" +
+ EnumChatFormatting.RED + " Archfiend Dice: " + nf.format(BlazeTracker.archfiendDice) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + " Duplex Books: " + nf.format(BlazeTracker.duplexBooks) + "\n" +
+ EnumChatFormatting.GOLD + " High Class Archfiend Dice: " + nf.format(BlazeTracker.highClassArchfiendDice) + "\n" +
+ EnumChatFormatting.GOLD + " Engineering Plans: " + nf.format(BlazeTracker.engineeringPlans) + "\n" +
+ EnumChatFormatting.GOLD + " Subzero Inverters: " + nf.format(BlazeTracker.subzeroInverters) + "\n" +
+ EnumChatFormatting.AQUA + " Time Since RNG: " + timeBetween + "\n" +
+ EnumChatFormatting.AQUA + " Bosses Since RNG: " + bossesBetween + "\n" +
+ EnumChatFormatting.RED + EnumChatFormatting.BOLD + " -------------------"));
+ break;
case "fishing":
if (arg1.length > 1) {
if (arg1[1].equalsIgnoreCase("winter")) {
diff --git a/src/main/java/me/Danker/commands/ResetLootCommand.java b/src/main/java/me/Danker/commands/ResetLootCommand.java
index f1d2828..d3294b2 100644
--- a/src/main/java/me/Danker/commands/ResetLootCommand.java
+++ b/src/main/java/me/Danker/commands/ResetLootCommand.java
@@ -25,7 +25,7 @@ public class ResetLootCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + "<zombie/spider/wolf/enderman/fishing/mythological/catacombs/confirm/cancel>";
+ return "/" + getCommandName() + "<zombie/spider/wolf/enderman/blaze/fishing/mythological/catacombs/confirm/cancel>";
}
public static String usage(ICommandSender arg0) {
@@ -44,7 +44,7 @@ public class ResetLootCommand extends CommandBase {
if (confirmReset) {
return getListOfStringsMatchingLastWord(args, "confirm", "cancel");
} else {
- return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "fishing", "mythological", "catacombs");
+ return getListOfStringsMatchingLastWord(args, "zombie", "spider", "wolf", "enderman", "blaze", "fishing", "mythological", "catacombs");
}
}
@@ -53,7 +53,7 @@ public class ResetLootCommand extends CommandBase {
final EntityPlayer player = (EntityPlayer) arg0;
if (arg1.length == 0) {
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /resetloot <zombie/spider/wolf/fishing/mythological/catacombs>"));
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: /resetloot <zombie/spider/wolf/enderman/blaze/fishing/mythological/catacombs>"));
return;
}
@@ -75,6 +75,9 @@ public class ResetLootCommand extends CommandBase {
case "enderman":
resetEnderman();
break;
+ case "blaze":
+ resetBlaze();
+ break;
case "fishing":
resetFishing();
break;
@@ -102,6 +105,7 @@ public class ResetLootCommand extends CommandBase {
case "spider":
case "wolf":
case "enderman":
+ case "blaze":
case "fishing":
case "mythological":
case "catacombs":
@@ -201,6 +205,35 @@ public class ResetLootCommand extends CommandBase {
ConfigHandler.deleteCategory("enderman");
ConfigHandler.reloadConfig();
}
+
+ static void resetBlaze() {
+ BlazeTracker.demonlordsSession = 0;
+ BlazeTracker.derelictAshesSession = 0;
+ BlazeTracker.lavatearRunesSession = 0;
+ BlazeTracker.splashPotionsSession = 0;
+ BlazeTracker.magmaArrowsSession = 0;
+ BlazeTracker.manaDisintegratorsSession = 0;
+ BlazeTracker.scorchedBooksSession = 0;
+ BlazeTracker.kelvinInvertersSession = 0;
+ BlazeTracker.blazeRodDistillatesSession = 0;
+ BlazeTracker.glowstoneDistillatesSession = 0;
+ BlazeTracker.magmaCreamDistillatesSession = 0;
+ BlazeTracker.netherWartDistillatesSession = 0;
+ BlazeTracker.gabagoolDistillatesSession = 0;
+ BlazeTracker.scorchedPowerCrystalsSession = 0;
+ BlazeTracker.fireAspectBooksSession = 0;
+ BlazeTracker.fieryBurstRunesSession = 0;
+ BlazeTracker.opalGemsSession = 0;
+ BlazeTracker.archfiendDiceSession = 0;
+ BlazeTracker.duplexBooksSession = 0;
+ BlazeTracker.highClassArchfiendDiceSession = 0;
+ BlazeTracker.engineeringPlansSession = 0;
+ BlazeTracker.subzeroInvertersSession = 0;
+ BlazeTracker.timeSession = 0;
+ BlazeTracker.bossesSession = 0;
+ ConfigHandler.deleteCategory("blaze");
+ ConfigHandler.reloadConfig();
+ }
static void resetFishing() {
FishingTracker.seaCreaturesSession = 0;
diff --git a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
index 0923b57..37e89c5 100644
--- a/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
+++ b/src/main/java/me/Danker/commands/SkyblockPlayersCommand.java
@@ -70,15 +70,14 @@ public class SkyblockPlayersCommand extends CommandBase {
int skyblockTotalPlayers = 0; // players
int privateIsland = 0; // dynamic
int hub = 0; // hub
- int barn = 0; // farming_1
- int mushroomDesert = 0; // farming_2
+ int farmingIslands = 0; // farming_1
int park = 0; // foraging_1
int goldMine = 0; // mining_1
int deepCaverns = 0; // mining_2
int dwarvenMines = 0; // mining_3
int crystalHollows = 0; // crystal_hollows
int spidersDen = 0; // combat_1
- int blazingFortress = 0; // combat_2
+ int crimsonIsle = 0; // crimson_isle
int end = 0; // combat_3
int dungeonsHub = 0; // dungeon_hub
int dungeons = 0; // dungeon
@@ -94,10 +93,7 @@ public class SkyblockPlayersCommand extends CommandBase {
hub = skyblockPlayers.get("hub").getAsInt();
}
if (skyblockPlayers.has("farming_1")) {
- barn = skyblockPlayers.get("farming_1").getAsInt();
- }
- if (skyblockPlayers.has("farming_2")) {
- mushroomDesert = skyblockPlayers.get("farming_2").getAsInt();
+ farmingIslands = skyblockPlayers.get("farming_1").getAsInt();
}
if (skyblockPlayers.has("foraging_1")) {
park = skyblockPlayers.get("foraging_1").getAsInt();
@@ -117,8 +113,8 @@ public class SkyblockPlayersCommand extends CommandBase {
if (skyblockPlayers.has("combat_1")) {
spidersDen = skyblockPlayers.get("combat_1").getAsInt();
}
- if (skyblockPlayers.has("combat_2")) {
- blazingFortress = skyblockPlayers.get("combat_2").getAsInt();
+ if (skyblockPlayers.has("crimson_isle")) {
+ crimsonIsle = skyblockPlayers.get("crimson_isle").getAsInt();
}
if (skyblockPlayers.has("combat_3")) {
end = skyblockPlayers.get("combat_3").getAsInt();
@@ -143,15 +139,14 @@ public class SkyblockPlayersCommand extends CommandBase {
DankersSkyblockMod.TYPE_COLOUR + " Skyblock: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(skyblockTotalPlayers) + " / " + Utils.getPercentage(skyblockTotalPlayers, totalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Private Island: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(privateIsland) + " / " + Utils.getPercentage(privateIsland, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Hub: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(hub) + " / " + Utils.getPercentage(hub, skyblockTotalPlayers) + "%\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Barn: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(barn) + " / " + Utils.getPercentage(barn, skyblockTotalPlayers) + "%\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Mushroom Desert: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(mushroomDesert) + " / " + Utils.getPercentage(mushroomDesert, skyblockTotalPlayers) + "%\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Farming Islands: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(farmingIslands) + " / " + Utils.getPercentage(farmingIslands, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Park: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(park) + " / " + Utils.getPercentage(park, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Gold Mine: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(goldMine) + " / " + Utils.getPercentage(goldMine, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Deep Caverns: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(deepCaverns) + " / " + Utils.getPercentage(deepCaverns, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Dwarven Mines: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dwarvenMines) + " / " + Utils.getPercentage(dwarvenMines, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Crystal Hollows: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(crystalHollows) + " / " + Utils.getPercentage(crystalHollows, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Spider's Den: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(spidersDen) + " / " + Utils.getPercentage(spidersDen, skyblockTotalPlayers) + "%\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Blazing Fortress: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(blazingFortress) + " / " + Utils.getPercentage(blazingFortress, skyblockTotalPlayers) + "%\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Crimson Isle: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(crimsonIsle) + " / " + Utils.getPercentage(crimsonIsle, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " The End: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(end) + " / " + Utils.getPercentage(end, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Dungeons Hub: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dungeonsHub) + " / " + Utils.getPercentage(dungeonsHub, skyblockTotalPlayers) + "%\n" +
DankersSkyblockMod.TYPE_COLOUR + " Dungeons: " + DankersSkyblockMod.VALUE_COLOUR + nf.format(dungeons) + " / " + Utils.getPercentage(dungeons, skyblockTotalPlayers) + "%\n" +
diff --git a/src/main/java/me/Danker/commands/SlayerCommand.java b/src/main/java/me/Danker/commands/SlayerCommand.java
index 5444754..8ad87ae 100644
--- a/src/main/java/me/Danker/commands/SlayerCommand.java
+++ b/src/main/java/me/Danker/commands/SlayerCommand.java
@@ -113,15 +113,21 @@ public class SlayerCommand extends CommandBase {
if (slayersObject.get("enderman").getAsJsonObject().has("xp")) {
endermanXP = slayersObject.get("enderman").getAsJsonObject().get("xp").getAsInt();
}
+ // Blaze
+ int blazeXP = 0;
+ if (slayersObject.get("blaze").getAsJsonObject().has("xp")) {
+ blazeXP = slayersObject.get("blaze").getAsJsonObject().get("xp").getAsInt();
+ }
NumberFormat nf = NumberFormat.getIntegerInstance(Locale.US);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.DELIMITER_COLOUR + "" + EnumChatFormatting.BOLD + "-------------------\n" +
- EnumChatFormatting.AQUA + " " + username + "'s Total XP: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + nf.format(zombieXP + spiderXP + wolfXP + endermanXP) + "\n" +
+ EnumChatFormatting.AQUA + " " + username + "'s Total XP: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + nf.format(zombieXP + spiderXP + wolfXP + endermanXP + blazeXP) + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Zombie XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(zombieXP) + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Spider XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(spiderXP) + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Wolf XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(wolfXP) + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Enderman XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(endermanXP) + "\n" +
- DankersSkyblockMod.DELIMITER_COLOUR + " " + EnumChatFormatting.BOLD + "-------------------"));
+ DankersSkyblockMod.TYPE_COLOUR + " Blaze XP: " + DankersSkyblockMod.VALUE_COLOUR + EnumChatFormatting.BOLD + nf.format(blazeXP) + "\n" +
+ DankersSkyblockMod.DELIMITER_COLOUR + EnumChatFormatting.BOLD + "-------------------"));
}).start();
}
diff --git a/src/main/java/me/Danker/commands/WeightCommand.java b/src/main/java/me/Danker/commands/WeightCommand.java
index b00d881..ade909d 100644
--- a/src/main/java/me/Danker/commands/WeightCommand.java
+++ b/src/main/java/me/Danker/commands/WeightCommand.java
@@ -63,6 +63,8 @@ public class WeightCommand extends CommandBase {
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
return Utils.getMatchingPlayers(args[0]);
+ } else if (args.length == 2) {
+ return getListOfStringsMatchingLastWord(args, "lily", "farming");
}
return null;
}
diff --git a/src/main/java/me/Danker/features/AutoDisplay.java b/src/main/java/me/Danker/features/AutoDisplay.java
index 5fc4489..63b66d5 100644
--- a/src/main/java/me/Danker/features/AutoDisplay.java
+++ b/src/main/java/me/Danker/features/AutoDisplay.java
@@ -42,6 +42,9 @@ public class AutoDisplay {
} else if (sCleaned.contains("Voidgloom Seraph")) {
LootDisplay.display = "enderman";
found = true;
+ } else if (sCleaned.contains("Inferno Demonlord")) {
+ LootDisplay.display = "blaze";
+ found = true;
} else if (sCleaned.contains("The Mist")){
LootDisplay.display = "ghost";
found = true;
diff --git a/src/main/java/me/Danker/features/loot/BlazeTracker.java b/src/main/java/me/Danker/features/loot/BlazeTracker.java
new file mode 100644
index 0000000..896f65f
--- /dev/null
+++ b/src/main/java/me/Danker/features/loot/BlazeTracker.java
@@ -0,0 +1,184 @@
+package me.Danker.features.loot;
+
+import me.Danker.commands.ToggleCommand;
+import me.Danker.handlers.ConfigHandler;
+import me.Danker.utils.Utils;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StringUtils;
+import net.minecraftforge.client.event.ClientChatReceivedEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+public class BlazeTracker {
+
+ public static int demonlords;
+ public static int derelictAshes;
+ public static int lavatearRunes;
+ public static int splashPotions;
+ public static int magmaArrows;
+ public static int manaDisintegrators;
+ public static int scorchedBooks;
+ public static int kelvinInverters;
+ public static int blazeRodDistillates;
+ public static int glowstoneDistillates;
+ public static int magmaCreamDistillates;
+ public static int netherWartDistillates;
+ public static int gabagoolDistillates;
+ public static int scorchedPowerCrystals;
+ public static int fireAspectBooks;
+ public static int fieryBurstRunes;
+ public static int opalGems;
+ public static int archfiendDice;
+ public static int duplexBooks;
+ public static int highClassArchfiendDice;
+ public static int engineeringPlans;
+ public static int subzeroInverters;
+ public static double time;
+ public static int bosses;
+
+ public static int demonlordsSession = 0;
+ public static int derelictAshesSession = 0;
+ public static int lavatearRunesSession = 0;
+ public static int splashPotionsSession = 0;
+ public static int magmaArrowsSession = 0;
+ public static int manaDisintegratorsSession = 0;
+ public static int scorchedBooksSession = 0;
+ public static int kelvinInvertersSession = 0;
+ public static int blazeRodDistillatesSession = 0;
+ public static int glowstoneDistillatesSession = 0;
+ public static int magmaCreamDistillatesSession = 0;
+ public static int netherWartDistillatesSession = 0;
+ public static int gabagoolDistillatesSession = 0;
+ public static int scorchedPowerCrystalsSession = 0;
+ public static int fireAspectBooksSession = 0;
+ public static int fieryBurstRunesSession = 0;
+ public static int opalGemsSession = 0;
+ public static int archfiendDiceSession = 0;
+ public static int duplexBooksSession = 0;
+ public static int highClassArchfiendDiceSession = 0;
+ public static int engineeringPlansSession = 0;
+ public static int subzeroInvertersSession = 0;
+ public static double timeSession = 0;
+ public static int bossesSession = 0;
+
+ @SubscribeEvent
+ public void onChat(ClientChatReceivedEvent event) {
+ String message = StringUtils.stripControlCodes(event.message.getUnformattedText());
+
+ if (!Utils.inSkyblock) return;
+ if (event.type == 2) return;
+ if (message.contains(":")) return;
+
+ boolean rng = false;
+
+ if (message.contains(" Blaze Slayer LVL ")) {
+ demonlords++;
+ demonlordsSession++;
+ if (bosses != -1) {
+ bosses++;
+ }
+ if (bossesSession != -1) {
+ bossesSession++;
+ }
+ ConfigHandler.writeIntConfig("blaze", "demonlords", demonlords);
+ ConfigHandler.writeIntConfig("blaze", "bossRNG", bosses);
+ } else if (message.contains("VERY RARE DROP! (") && message.contains(" Lavatears Rune I)")) {
+ lavatearRunes++;
+ lavatearRunesSession++;
+ ConfigHandler.writeIntConfig("blaze", "lavatearRunes", lavatearRunes);
+ } else if (message.contains("VERY RARE DROP! (Wisp's Ice-Flavored Water I Splash Potion)")) {
+ splashPotions++;
+ splashPotionsSession++;
+ ConfigHandler.writeIntConfig("blaze", "splashPotions", splashPotions);
+ } else if (message.contains("RARE DROP! (Bundle of Magma Arrows)")) {
+ magmaArrows++;
+ magmaArrowsSession++;
+ ConfigHandler.writeIntConfig("blaze", "magmaArrows", magmaArrows);
+ } else if (message.contains("VERY RARE DROP! (Mana Disintegrator)")) {
+ manaDisintegrators++;
+ manaDisintegratorsSession++;
+ ConfigHandler.writeIntConfig("blaze", "manaDisintegrators", manaDisintegrators);
+ } else if (message.contains("VERY RARE DROP! (Scorched Books)")) {
+ scorchedBooks++;
+ scorchedBooksSession++;
+ ConfigHandler.writeIntConfig("blaze", "scorchedBooks", scorchedBooks);
+ } else if (message.contains("VERY RARE DROP! (Kelvin Inverter)")) {
+ kelvinInverters++;
+ kelvinInvertersSession++;
+ ConfigHandler.writeIntConfig("blaze", "kelvinInverters", kelvinInverters);
+ } else if (message.contains("VERY RARE DROP! (Blaze Rod Distillate)")) {
+ blazeRodDistillates++;
+ blazeRodDistillatesSession++;
+ ConfigHandler.writeIntConfig("blaze", "blazeRodDistillates", blazeRodDistillates);
+ } else if (message.contains("VERY RARE DROP! (Glowstone Distillate)")) {
+ glowstoneDistillates++;
+ glowstoneDistillatesSession++;
+ ConfigHandler.writeIntConfig("blaze", "glowstoneDistillates", glowstoneDistillates);
+ } else if (message.contains("VERY RARE DROP! (Magma Cream Distillate)")) {
+ magmaCreamDistillates++;
+ magmaCreamDistillatesSession++;
+ ConfigHandler.writeIntConfig("blaze", "magmaCreamDistillates", magmaCreamDistillates);
+ } else if (message.contains("VERY RARE DROP! (Nether Wart Distillate)")) {
+ netherWartDistillates++;
+ netherWartDistillatesSession++;
+ ConfigHandler.writeIntConfig("blaze", "netherWartDistillates", netherWartDistillates);
+ } else if (message.contains("VERY RARE DROP! (Gabagool Distillate)")) {
+ gabagoolDistillates++;
+ gabagoolDistillatesSession++;
+ ConfigHandler.writeIntConfig("blaze", "gabagoolDistillates", gabagoolDistillates);
+ } else if (message.contains("VERY RARE DROP! (Scorched Power Crystal)")) {
+ scorchedPowerCrystals++;
+ scorchedPowerCrystalsSession++;
+ ConfigHandler.writeIntConfig("blaze", "scorchedPowerCrystals", scorchedPowerCrystals);
+ } else if (message.contains("VERY RARE DROP! (Fire Aspect III)")) {
+ fireAspectBooks++;
+ fireAspectBooksSession++;
+ ConfigHandler.writeIntConfig("blaze", "fireAspectBooks", fireAspectBooks);
+ } else if (message.contains("CRAZY RARE DROP! (") && message.contains(" Fiery Burst Rune I)")) {
+ rng = true;
+ fieryBurstRunes++;
+ fieryBurstRunesSession++;
+ ConfigHandler.writeIntConfig("blaze", "fieryBurstRunes", fieryBurstRunes);
+ if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.RED + "FIERY BURST RUNE!", 5);
+ } else if (message.contains("VERY RARE DROP! (") && message.contains(" Flawed Opal Gemstone)")) {
+ opalGems++;
+ opalGemsSession++;
+ ConfigHandler.writeIntConfig("blaze", "opalGems", opalGems);
+ } else if (message.contains("VERY RARE DROP! (Archfiend Dice)")) {
+ archfiendDice++;
+ archfiendDiceSession++;
+ ConfigHandler.writeIntConfig("blaze", "archfiendDice", archfiendDice);
+ } else if (message.contains("VERY RARE DROP! (Duplex I)")) {
+ duplexBooks++;
+ duplexBooksSession++;
+ ConfigHandler.writeIntConfig("blaze", "duplexBooks", duplexBooks);
+ } else if (message.contains("CRAZY RARE DROP! (High Class Archfiend Dice)")) {
+ rng = true;
+ highClassArchfiendDice++;
+ highClassArchfiendDiceSession++;
+ ConfigHandler.writeIntConfig("blaze", "highClassArchfiendDice", highClassArchfiendDice);
+ if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "HIGH CLASS ARCHFIEND DICE!", 5);
+ } else if (message.contains("CRAZY RARE DROP! (Wilson's Engineering Plans)")) {
+ rng = true;
+ engineeringPlans++;
+ engineeringPlansSession++;
+ ConfigHandler.writeIntConfig("blaze", "engineeringPlans", engineeringPlans);
+ if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "ENGINEERING PLANS!", 5);
+ } else if (message.contains("CRAZY RARE DROP! (Subzero Inverter)")) {
+ rng = true;
+ subzeroInverters++;
+ subzeroInvertersSession++;
+ ConfigHandler.writeIntConfig("blaze", "subzeroInverters", subzeroInverters);
+ if (ToggleCommand.rngesusAlerts) Utils.createTitle(EnumChatFormatting.GOLD + "SUBZERO INVERTER!", 5);
+ }
+
+ if (rng) {
+ time = System.currentTimeMillis() / 1000;
+ bosses = 0;
+ timeSession = System.currentTimeMillis() / 1000;
+ bossesSession = 0;
+ ConfigHandler.writeDoubleConfig("blaze", "timeRNG", time);
+ ConfigHandler.writeIntConfig("blaze", "bossRNG", 0);
+ }
+ }
+
+}
diff --git a/src/main/java/me/Danker/features/loot/LootDisplay.java b/src/main/java/me/Danker/features/loot/LootDisplay.java
index aabdbd9..9d3f466 100644
--- a/src/main/java/me/Danker/features/loot/LootDisplay.java
+++ b/src/main/java/me/Danker/features/loot/LootDisplay.java
@@ -416,6 +416,128 @@ public class LootDisplay {
EnumChatFormatting.AQUA + timeBetween + "\n" +
EnumChatFormatting.AQUA + bossesBetween;
break;
+ case "blaze":
+ if (BlazeTracker.time == -1) {
+ timeBetween = "Never";
+ } else {
+ timeBetween = Utils.getTimeBetween(BlazeTracker.time, timeNow);
+ }
+ if (BlazeTracker.bosses == -1) {
+ bossesBetween = "Never";
+ } else {
+ bossesBetween = nf.format(BlazeTracker.bosses);
+ }
+
+ dropsText = EnumChatFormatting.GOLD + "Demonlords Killed:\n" +
+ EnumChatFormatting.GRAY + "Derelict Ashes:\n" +
+ EnumChatFormatting.RED + "Lavatear Runes:\n" +
+ EnumChatFormatting.AQUA + "Splash Potions:\n" +
+ EnumChatFormatting.DARK_RED + "Magma Arrows:\n" +
+ EnumChatFormatting.DARK_AQUA + "Mana Disintegrators:\n" +
+ EnumChatFormatting.LIGHT_PURPLE + "Scorched Books:\n" +
+ EnumChatFormatting.WHITE + "Kelvin Inverters:\n" +
+ EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" +
+ EnumChatFormatting.BLUE + "Glowstone Distillates:\n" +
+ EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" +
+ EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" +
+ EnumChatFormatting.BLUE + "Gabagool Distillates:\n" +
+ EnumChatFormatting.RED + "Scorched Power Crystals:\n" +
+ EnumChatFormatting.RED + "Fire Aspect Books:\n" +
+ EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" +
+ EnumChatFormatting.WHITE + "Opal Gems:\n" +
+ EnumChatFormatting.RED + "Archfiend Dice:\n" +
+ EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" +
+ EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" +
+ EnumChatFormatting.GOLD + "Engineering Plans:\n" +
+ EnumChatFormatting.GOLD + "Subzero Inverters:\n" +
+ EnumChatFormatting.AQUA + "Time Since RNG:\n" +
+ EnumChatFormatting.AQUA + "Bosses Since RNG:";
+ countText = EnumChatFormatting.GOLD + nf.format(BlazeTracker.demonlords) + "\n" +
+ EnumChatFormatting.GRAY + nf.format(BlazeTracker.derelictAshes) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.lavatearRunes) + "\n" +
+ EnumChatFormatting.AQUA + nf.format(BlazeTracker.splashPotions) + "\n" +
+ EnumChatFormatting.DARK_RED + nf.format(BlazeTracker.magmaArrows) + "\n" +
+ EnumChatFormatting.DARK_AQUA + nf.format(BlazeTracker.manaDisintegrators) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.scorchedBooks) + "\n" +
+ EnumChatFormatting.WHITE + nf.format(BlazeTracker.kelvinInverters) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.blazeRodDistillates) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.glowstoneDistillates) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.magmaCreamDistillates) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.netherWartDistillates) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.gabagoolDistillates) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.scorchedPowerCrystals) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.fireAspectBooks) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.fieryBurstRunes) + "\n" +
+ EnumChatFormatting.WHITE + nf.format(BlazeTracker.opalGems) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.archfiendDice) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.duplexBooks) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.highClassArchfiendDice) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.engineeringPlans) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.subzeroInverters) + "\n" +
+ EnumChatFormatting.AQUA + timeBetween + "\n" +
+ EnumChatFormatting.AQUA + bossesBetween;
+ break;
+ case "blaze_session":
+ if (BlazeTracker.timeSession == -1) {
+ timeBetween = "Never";
+ } else {
+ timeBetween = Utils.getTimeBetween(BlazeTracker.timeSession, timeNow);
+ }
+ if (BlazeTracker.bossesSession == -1) {
+ bossesBetween = "Never";
+ } else {
+ bossesBetween = nf.format(BlazeTracker.bossesSession);
+ }
+
+ dropsText = EnumChatFormatting.GOLD + "Demonlords Killed:\n" +
+ EnumChatFormatting.GRAY + "Derelict Ashes:\n" +
+ EnumChatFormatting.RED + "Lavatear Runes:\n" +
+ EnumChatFormatting.AQUA + "Splash Potions:\n" +
+ EnumChatFormatting.DARK_RED + "Magma Arrows:\n" +
+ EnumChatFormatting.DARK_AQUA + "Mana Disintegrators:\n" +
+ EnumChatFormatting.LIGHT_PURPLE + "Scorched Books:\n" +
+ EnumChatFormatting.WHITE + "Kelvin Inverters:\n" +
+ EnumChatFormatting.BLUE + "Blaze Rod Distillates:\n" +
+ EnumChatFormatting.BLUE + "Glowstone Distillates:\n" +
+ EnumChatFormatting.BLUE + "Magma Cream Distillates:\n" +
+ EnumChatFormatting.BLUE + "Nether Wart Distillates:\n" +
+ EnumChatFormatting.BLUE + "Gabagool Distillates:\n" +
+ EnumChatFormatting.RED + "Scorched Power Crystals:\n" +
+ EnumChatFormatting.RED + "Fire Aspect Books:\n" +
+ EnumChatFormatting.GOLD + "Fiery Burst Runes:\n" +
+ EnumChatFormatting.WHITE + "Opal Gems:\n" +
+ EnumChatFormatting.RED + "Archfiend Dice:\n" +
+ EnumChatFormatting.LIGHT_PURPLE + "Duplex Books:\n" +
+ EnumChatFormatting.GOLD + "High Class Archfiend Dice:\n" +
+ EnumChatFormatting.GOLD + "Engineering Plans:\n" +
+ EnumChatFormatting.GOLD + "Subzero Inverters:\n" +
+ EnumChatFormatting.AQUA + "Time Since RNG:\n" +
+ EnumChatFormatting.AQUA + "Bosses Since RNG:";
+ countText = EnumChatFormatting.GOLD + nf.format(BlazeTracker.demonlordsSession) + "\n" +
+ EnumChatFormatting.GRAY + nf.format(BlazeTracker.derelictAshesSession) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.lavatearRunesSession) + "\n" +
+ EnumChatFormatting.AQUA + nf.format(BlazeTracker.splashPotionsSession) + "\n" +
+ EnumChatFormatting.DARK_RED + nf.format(BlazeTracker.magmaArrowsSession) + "\n" +
+ EnumChatFormatting.DARK_AQUA + nf.format(BlazeTracker.manaDisintegratorsSession) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.scorchedBooksSession) + "\n" +
+ EnumChatFormatting.WHITE + nf.format(BlazeTracker.kelvinInvertersSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.blazeRodDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.glowstoneDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.magmaCreamDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.netherWartDistillatesSession) + "\n" +
+ EnumChatFormatting.BLUE + nf.format(BlazeTracker.gabagoolDistillatesSession) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.scorchedPowerCrystalsSession) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.fireAspectBooksSession) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.fieryBurstRunesSession) + "\n" +
+ EnumChatFormatting.WHITE + nf.format(BlazeTracker.opalGemsSession) + "\n" +
+ EnumChatFormatting.RED + nf.format(BlazeTracker.archfiendDiceSession) + "\n" +
+ EnumChatFormatting.LIGHT_PURPLE + nf.format(BlazeTracker.duplexBooksSession) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.highClassArchfiendDiceSession) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.engineeringPlansSession) + "\n" +
+ EnumChatFormatting.GOLD + nf.format(BlazeTracker.subzeroInvertersSession) + "\n" +
+ EnumChatFormatting.AQUA + timeBetween + "\n" +
+ EnumChatFormatting.AQUA + bossesBetween;
+ break;
case "fishing":
if (FishingTracker.empTime == -1) {
timeBetween = "Never";
diff --git a/src/main/java/me/Danker/features/loot/LootTracker.java b/src/main/java/me/Danker/features/loot/LootTracker.java
index 4e5974c..27f0779 100644
--- a/src/main/java/me/Danker/features/loot/LootTracker.java
+++ b/src/main/java/me/Danker/features/loot/LootTracker.java
@@ -31,23 +31,27 @@ public class LootTracker {
int itemWebs = Utils.getItems("Tarantula Web");
int itemRev = Utils.getItems("Revenant Flesh");
int itemNullSphere = Utils.getItems("Null Sphere");
+ int itemDerelictAshe = Utils.getItems("Derelict Ashe");
// If no items, are detected, allow check again. Should fix items not being found
- if (itemTeeth + itemWebs + itemRev + itemNullSphere > 0) {
+ if (itemTeeth + itemWebs + itemRev + itemNullSphere + itemDerelictAshe > 0) {
itemsChecked = System.currentTimeMillis() / 1000;
WolfTracker.wolfTeeth += itemTeeth;
SpiderTracker.spiderWebs += itemWebs;
ZombieTracker.zombieRevFlesh += itemRev;
EndermanTracker.endermanNullSpheres += itemNullSphere;
+ BlazeTracker.derelictAshes += itemDerelictAshe;
WolfTracker.wolfTeethSession += itemTeeth;
SpiderTracker.spiderWebsSession += itemWebs;
ZombieTracker.zombieRevFleshSession += itemRev;
EndermanTracker.endermanNullSpheresSession += itemNullSphere;
+ BlazeTracker.derelictAshesSession += itemDerelictAshe;
ConfigHandler.writeIntConfig("wolf", "teeth", WolfTracker.wolfTeeth);
ConfigHandler.writeIntConfig("spider", "web", SpiderTracker.spiderWebs);
ConfigHandler.writeIntConfig("zombie", "revFlesh", ZombieTracker.zombieRevFlesh);
ConfigHandler.writeIntConfig("enderman", "nullSpheres", EndermanTracker.endermanNullSpheres);
+ ConfigHandler.writeIntConfig("blaze", "derelictAshe", BlazeTracker.derelictAshes);
}
}
}
diff --git a/src/main/java/me/Danker/gui/DisplayGui.java b/src/main/java/me/Danker/gui/DisplayGui.java
index 17726f8..073b161 100644
--- a/src/main/java/me/Danker/gui/DisplayGui.java
+++ b/src/main/java/me/Danker/gui/DisplayGui.java
@@ -20,6 +20,7 @@ public class DisplayGui extends GuiScreen {
private GuiButton spider;
private GuiButton wolf;
private GuiButton enderman;
+ private GuiButton blaze;
private GuiButton auto;
private GuiButton fishing;
private GuiButton fishingWinter;
@@ -54,10 +55,11 @@ public class DisplayGui extends GuiScreen {
showSession = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Current Session Only: " + Utils.getColouredBoolean(addSession));
off = new GuiButton(0, width / 2 - 210, (int) (height * 0.2), "Off");
auto = new GuiButton(0, width / 2 + 10, (int) (height * 0.2), "Auto");
- zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.35), 100, 20, "Zombie");
- spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.35), 100, 20, "Spider");
- wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.35), 100, 20, "Wolf");
- enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.35), 100, 20, "Enderman");
+ zombie = new GuiButton(0, width / 2 - 270, (int) (height * 0.35), 100, 20, "Zombie");
+ spider = new GuiButton(0, width / 2 - 160, (int) (height * 0.35), 100, 20, "Spider");
+ wolf = new GuiButton(0, width / 2 - 50, (int) (height * 0.35), 100, 20, "Wolf");
+ enderman = new GuiButton(0, width / 2 + 60, (int) (height * 0.35), 100, 20, "Enderman");
+ blaze = new GuiButton(0, width / 2 + 170, (int) (height * 0.35), 100, 20, "Blaze");
fishing = new GuiButton(0, width / 2 - 270, (int) (height * 0.5), 100, 20, "Fishing");
fishingWinter = new GuiButton(0, width / 2 - 160, (int) (height * 0.5), 100, 20, "Fishing Winter");
fishingFestival = new GuiButton(0, width / 2 - 50, (int) (height * 0.5), 100, 20, "Fishing Festival");
@@ -81,6 +83,7 @@ public class DisplayGui extends GuiScreen {
this.buttonList.add(spider);
this.buttonList.add(wolf);
this.buttonList.add(enderman);
+ this.buttonList.add(blaze);
this.buttonList.add(fishing);
this.buttonList.add(fishingWinter);
this.buttonList.add(fishingFestival);
@@ -130,6 +133,8 @@ public class DisplayGui extends GuiScreen {
setDisplay("wolf");
} else if (button == enderman) {
setDisplay("enderman");
+ } else if (button == blaze) {
+ setDisplay("blaze");
} else if (button == auto) {
LootDisplay.auto = true;
ConfigHandler.writeBooleanConfig("misc", "autoDisplay", true);
diff --git a/src/main/java/me/Danker/gui/OnlySlayerGui.java b/src/main/java/me/Danker/gui/OnlySlayerGui.java
index 2a6d844..c637ff9 100644
--- a/src/main/java/me/Danker/gui/OnlySlayerGui.java
+++ b/src/main/java/me/Danker/gui/OnlySlayerGui.java
@@ -19,6 +19,7 @@ public class OnlySlayerGui extends GuiScreen {
private GuiButton spider;
private GuiButton wolf;
private GuiButton enderman;
+ private GuiButton blaze;
private GuiButton one;
private GuiButton two;
private GuiButton three;
@@ -60,10 +61,11 @@ public class OnlySlayerGui extends GuiScreen {
goBack = new GuiButton(0, 2, height - 30, 100, 20, "Go Back");
off = new GuiButton(0, width / 2 - 100, (int) (height * 0.3), "Off");
- zombie = new GuiButton(0, width / 2 - 230, (int) (height * 0.4), 100, 20, "Zombie");
- spider = new GuiButton(0, width / 2 - 110, (int) (height * 0.4), 100, 20, "Spider");
- wolf = new GuiButton(0, width / 2 + 10, (int) (height * 0.4), 100, 20, "Wolf");
- enderman = new GuiButton(0, width / 2 + 130, (int) (height * 0.4), 100, 20, "Enderman");
+ zombie = new GuiButton(0, width / 2 - 270, (int) (height * 0.4), 100, 20, "Zombie");
+ spider = new GuiButton(0, width / 2 - 160, (int) (height * 0.4), 100, 20, "Spider");
+ wolf = new GuiButton(0, width / 2 - 50, (int) (height * 0.4), 100, 20, "Wolf");
+ enderman = new GuiButton(0, width / 2 + 60, (int) (height * 0.4), 100, 20, "Enderman");
+ blaze = new GuiButton(0, width / 2 + 170, (int) (height * 0.4), 100, 20, "Blaze");
one = new GuiButton(0, width / 2 - 190, (int) (height * 0.6), 60, 20, "I");
two = new GuiButton(0, width / 2 - 110, (int) (height * 0.6), 60, 20, "II");
three = new GuiButton(0, width / 2 - 30, (int) (height * 0.6), 60, 20, "III");
@@ -75,6 +77,7 @@ public class OnlySlayerGui extends GuiScreen {
this.buttonList.add(spider);
this.buttonList.add(wolf);
this.buttonList.add(enderman);
+ this.buttonList.add(blaze);
this.buttonList.add(one);
this.buttonList.add(two);
this.buttonList.add(three);
@@ -86,7 +89,6 @@ public class OnlySlayerGui extends GuiScreen {
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) {
this.drawDefaultBackground();
- Minecraft mc = Minecraft.getMinecraft();
String displayText;
if (BlockWrongSlayer.onlySlayerName.equals("")) {
@@ -117,6 +119,8 @@ public class OnlySlayerGui extends GuiScreen {
onlyName = "Sven Packmaster";
} else if (button == enderman) {
onlyName = "Voidgloom Seraph";
+ } else if (button == blaze) {
+ onlyName = "Inferno Demonlord";
} else if (button == one) {
onlyNumberInt = 1;
} else if (button == two) {
diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java
index b042177..4298c2a 100644
--- a/src/main/java/me/Danker/handlers/ConfigHandler.java
+++ b/src/main/java/me/Danker/handlers/ConfigHandler.java
@@ -384,7 +384,32 @@ public class ConfigHandler {
EndermanTracker.endermanEnderBooks = initInt("enderman", "enderBooks", 0);
EndermanTracker.endermanTime = initDouble("enderman", "timeRNG", -1);
EndermanTracker.endermanBosses = initInt("enderman", "bossRNG", -1);
-
+ // Blaze
+ BlazeTracker.demonlords = initInt("blaze", "demonlords", 0);
+ BlazeTracker.derelictAshes = initInt("blaze", "derelictAshes", 0);
+ BlazeTracker.lavatearRunes = initInt("blaze", "lavatearRunes", 0);
+ BlazeTracker.splashPotions = initInt("blaze", "splashPotions", 0);
+ BlazeTracker.magmaArrows = initInt("blaze", "magmaArrows", 0);
+ BlazeTracker.manaDisintegrators = initInt("blaze", "manaDisintegrators", 0);
+ BlazeTracker.scorchedBooks = initInt("blaze", "scorchedBooks", 0);
+ BlazeTracker.kelvinInverters = initInt("blaze", "kelvinInverters", 0);
+ BlazeTracker.blazeRodDistillates = initInt("blaze", "blazeRodDistillates", 0);
+ BlazeTracker.glowstoneDistillates = initInt("blaze", "glowstoneDistillates", 0);
+ BlazeTracker.magmaCreamDistillates = initInt("blaze", "magmaCreamDistillates", 0);
+ BlazeTracker.netherWartDistillates = initInt("blaze", "netherWartDistillates", 0);
+ BlazeTracker.gabagoolDistillates = initInt("blaze", "gabagoolDistillates", 0);
+ BlazeTracker.scorchedPowerCrystals = initInt("blaze", "scorchedPowerCrystals", 0);
+ BlazeTracker.fireAspectBooks = initInt("blaze", "fireAspectBooks", 0);
+ BlazeTracker.fieryBurstRunes = initInt("blaze", "fieryBurstRunes", 0);
+ BlazeTracker.opalGems = initInt("blaze", "opalGems", 0);
+ BlazeTracker.archfiendDice = initInt("blaze", "archfiendDice", 0);
+ BlazeTracker.duplexBooks = initInt("blaze", "duplexBooks", 0);
+ BlazeTracker.highClassArchfiendDice = initInt("blaze", "highClassArchfiendDice", 0);
+ BlazeTracker.engineeringPlans = initInt("blaze", "engineeringPlans", 0);
+ BlazeTracker.subzeroInverters = initInt("blaze", "subzeroInverters", 0);
+ BlazeTracker.time = initDouble("blaze", "timeRNG", -1);
+ BlazeTracker.bossesSession = initInt("blaze", "bossRNG", -1);
+
// Fishing
FishingTracker.seaCreatures = initInt("fishing", "seaCreature", 0);
FishingTracker.goodCatches = initInt("fishing", "goodCatch", 0);