aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/Danker')
-rw-r--r--src/main/java/me/Danker/DankersSkyblockMod.java174
-rw-r--r--src/main/java/me/Danker/commands/DHelpCommand.java6
-rw-r--r--src/main/java/me/Danker/commands/DankerGuiCommand.java76
-rw-r--r--src/main/java/me/Danker/commands/MoveCommand.java12
-rw-r--r--src/main/java/me/Danker/commands/ScaleCommand.java11
-rw-r--r--src/main/java/me/Danker/commands/ToggleCommand.java33
-rw-r--r--src/main/java/me/Danker/gui/DankerGui.java19
-rw-r--r--src/main/java/me/Danker/gui/EditLocationsGui.java24
-rw-r--r--src/main/java/me/Danker/gui/ExperimentsGui.java15
-rw-r--r--src/main/java/me/Danker/handlers/ConfigHandler.java40
-rw-r--r--src/main/java/me/Danker/utils/Utils.java27
11 files changed, 341 insertions, 96 deletions
diff --git a/src/main/java/me/Danker/DankersSkyblockMod.java b/src/main/java/me/Danker/DankersSkyblockMod.java
index 7c82986..64a1f5b 100644
--- a/src/main/java/me/Danker/DankersSkyblockMod.java
+++ b/src/main/java/me/Danker/DankersSkyblockMod.java
@@ -7,7 +7,6 @@ import me.Danker.handlers.*;
import me.Danker.utils.TicTacToeUtils;
import me.Danker.utils.Utils;
import net.minecraft.block.Block;
-import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.Gui;
@@ -68,18 +67,20 @@ import java.awt.*;
import java.text.NumberFormat;
import java.util.List;
import java.util.*;
+import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Mod(modid = DankersSkyblockMod.MODID, version = DankersSkyblockMod.VERSION, clientSideOnly = true)
public class DankersSkyblockMod
{
public static final String MODID = "Danker's Skyblock Mod";
- public static final String VERSION = "1.8.3";
+ public static final String VERSION = "1.8.5-beta3";
static double checkItemsNow = 0;
static double itemsChecked = 0;
public static Map<String, String> t6Enchants = new HashMap<>();
- public static Pattern pattern = Pattern.compile("");
+ public static Pattern t6EnchantPattern = Pattern.compile("");
+ static Pattern petPattern = Pattern.compile("\\[Lvl [\\d]{1,3}]");
static boolean updateChecked = false;
public static int titleTimer = -1;
public static boolean showTitle = false;
@@ -114,7 +115,9 @@ public class DankersSkyblockMod
static List<Vec3[]> creeperLines = new ArrayList<>();
static boolean prevInWaterRoom = false;
static boolean inWaterRoom = false;
+ static String waterAnswers = null;
static AxisAlignedBB correctTicTacToeButton = null;
+ static Pattern startsWithTerminalPattern = Pattern.compile("[A-Z]{2,}");
static Slot[] clickInOrderSlots = new Slot[36];
static int lastChronomatronRound = 0;
static List<String> chronomatronPattern = new ArrayList<>();
@@ -166,6 +169,17 @@ public class DankersSkyblockMod
public static String TRIVIA_WRONG_ANSWER_COLOUR;
public static int LOWEST_BLAZE_COLOUR;
public static int HIGHEST_BLAZE_COLOUR;
+ public static int PET_1_TO_9;
+ public static int PET_10_TO_19;
+ public static int PET_20_TO_29;
+ public static int PET_30_TO_39;
+ public static int PET_40_TO_49;
+ public static int PET_50_TO_59;
+ public static int PET_60_TO_69;
+ public static int PET_70_TO_79;
+ public static int PET_80_TO_89;
+ public static int PET_90_TO_99;
+ public static int PET_100;
@EventHandler
public void init(FMLInitializationEvent event) {
@@ -246,7 +260,7 @@ public class DankersSkyblockMod
"Booger Dragon", "Older Dragon", "Elder Dragon", "Stable Dragon", "Professor Dragon"});
String patternString = "(" + String.join("|", t6Enchants.keySet()) + ")";
- pattern = Pattern.compile(patternString);
+ t6EnchantPattern = Pattern.compile(patternString);
keyBindings[0] = new KeyBinding("Open Maddox Menu", Keyboard.KEY_M, "Danker's Skyblock Mod");
keyBindings[1] = new KeyBinding("Start/Stop Skill Tracker", Keyboard.KEY_NUMPAD5, "Danker's Skyblock Mod");
@@ -442,7 +456,10 @@ public class DankersSkyblockMod
if (message.contains("[BOSS] The Watcher: You have proven yourself. You may pass.")) {
watcherClearTime = System.currentTimeMillis() / 1000;
- }
+ }
+ if (message.contains("[BOSS] The Watcher: That will be enough for now.")) {
+ if (ToggleCommand.watcherReadyToggled) Utils.createTitle(EnumChatFormatting.RED + "WATCHER READY", 2);
+ }
if (message.contains("PUZZLE FAIL! ") || message.contains("chose the wrong answer! I shall never forget this moment")) {
puzzleFails++;
}
@@ -464,7 +481,7 @@ public class DankersSkyblockMod
event.setCanceled(true);
return;
}
-
+ // Implosion
if (!ToggleCommand.implosionMessages) {
if (message.contains("Your Implosion hit ") || message.contains("There are blocks in the way")) {
event.setCanceled(true);
@@ -1281,7 +1298,11 @@ public class DankersSkyblockMod
new TextRenderer(mc, skillTrackerText, MoveCommand.skillTrackerXY[0], MoveCommand.skillTrackerXY[1], ScaleCommand.skillTrackerScale);
}
-
+
+ if (ToggleCommand.waterToggled && Utils.inDungeons && waterAnswers != null) {
+ new TextRenderer(mc, waterAnswers, MoveCommand.waterAnswerXY[0], MoveCommand.waterAnswerXY[1], ScaleCommand.waterAnswerScale);
+ }
+
if (!DisplayCommand.display.equals("off")) {
String dropsText = "";
String countText = "";
@@ -2249,12 +2270,13 @@ public class DankersSkyblockMod
}
}
}
- }
+ }
if (mc.currentScreen instanceof GuiChest) {
ContainerChest chest = (ContainerChest) player.openContainer;
IInventory inv = chest.getLowerChestInventory();
String chestName = inv.getDisplayName().getUnformattedText();
+
if (ToggleCommand.superpairsToggled && chestName.contains("Superpairs (")) {
if (Item.getIdFromItem(item.getItem()) != 95) return;
if (item.getDisplayName().contains("Click any button") || item.getDisplayName().contains("Click a second button") || item.getDisplayName().contains("Next button is instantly rewarded") || item.getDisplayName().contains("Stained Glass")) {
@@ -2274,10 +2296,28 @@ public class DankersSkyblockMod
}
}
- }
-
+ }
}
+ @SubscribeEvent(priority = EventPriority.LOW)
+ public void onTooltipLow(ItemTooltipEvent event) {
+ if (!Utils.inSkyblock) return;
+ if (event.toolTip == null) return;
+
+ Minecraft mc = Minecraft.getMinecraft();
+ EntityPlayerSP player = mc.thePlayer;
+
+ if (mc.currentScreen instanceof GuiChest) {
+ ContainerChest chest = (ContainerChest) player.openContainer;
+ IInventory inv = chest.getLowerChestInventory();
+ String chestName = inv.getDisplayName().getUnformattedText();
+
+ if (ToggleCommand.hideTooltipsInExperimentAddonsToggled && (chestName.startsWith("Ultrasequencer (") || chestName.startsWith("Chronomatron ("))) {
+ event.toolTip.clear();
+ }
+ }
+ }
+
@SubscribeEvent
public void onTick(TickEvent.ClientTickEvent event) {
if (event.phase != Phase.START) return;
@@ -2476,14 +2516,12 @@ public class DankersSkyblockMod
purple = orange = blue = green = red = ERROR_COLOUR + "Error detecting water puzzle variant.";
break;
}
- player.addChatMessage(new ChatComponentText(DELIMITER_COLOUR + EnumChatFormatting.BOLD + "-------------------\n" +
- MAIN_COLOUR + " The following levers must be down:\n " +
- EnumChatFormatting.DARK_PURPLE + "Purple: " + purple + "\n " +
- EnumChatFormatting.GOLD + "Orange: " + orange + "\n " +
- EnumChatFormatting.BLUE + "Blue: " + blue + "\n " +
- EnumChatFormatting.GREEN + "Green: " + green + "\n " +
- EnumChatFormatting.RED + "Red: " + red + "\n" +
- DELIMITER_COLOUR + EnumChatFormatting.BOLD + " -------------------"));
+ waterAnswers = MAIN_COLOUR + "The following levers must be down:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Purple: " + purple + "\n" +
+ EnumChatFormatting.GOLD + "Orange: " + orange + "\n" +
+ EnumChatFormatting.BLUE + "Blue: " + blue + "\n" +
+ EnumChatFormatting.GREEN + "Green: " + green + "\n" +
+ EnumChatFormatting.RED + "Red: " + red;
done = true;
break;
}
@@ -2491,7 +2529,9 @@ public class DankersSkyblockMod
}
if (done) break;
}
- }
+ } else {
+ waterAnswers = null;
+ }
}).start();
}
@@ -2648,7 +2688,8 @@ public class DankersSkyblockMod
List<String> scoreboard = ScoreboardHandler.getSidebarLines();
for (String score : scoreboard) {
if (score.endsWith("❤") && score.matches(".*§c\\d.*")) {
- Utils.createTitle(EnumChatFormatting.RED + "LOW HEALTH!", 1);
+ String name = score.substring(score.indexOf(" ") + 1);
+ Utils.createTitle(EnumChatFormatting.RED + "LOW HEALTH!\n" + name, 1);
break;
}
}
@@ -2783,9 +2824,8 @@ public class DankersSkyblockMod
}
}
- if(event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
- IBlockState blockState = Minecraft.getMinecraft().theWorld.getBlockState(event.pos);
- Block block = blockState.getBlock();
+ if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
+ Block block = Minecraft.getMinecraft().theWorld.getBlockState(event.pos).getBlock();
ArrayList<Block> interactables = new ArrayList<>(Arrays.asList(
Blocks.acacia_door,
Blocks.anvil,
@@ -2821,11 +2861,11 @@ public class DankersSkyblockMod
Blocks.oak_door,
Blocks.skull
));
- if(Utils.inDungeons) {
+ if (Utils.inDungeons) {
interactables.add(Blocks.coal_block);
interactables.add(Blocks.stained_hardened_clay);
}
- if(!interactables.contains(block)) {
+ if (!interactables.contains(block)) {
if (ToggleCommand.aotdToggled && item.getDisplayName().contains("Aspect of the Dragons")) {
event.setCanceled(true);
}
@@ -2877,8 +2917,8 @@ public class DankersSkyblockMod
@SubscribeEvent
public void onGuiMouseInputPre(GuiScreenEvent.MouseInputEvent.Pre event) {
if (!Utils.inSkyblock) return;
- if (Mouse.getEventButton() != 0 && Mouse.getEventButton() != 1 && Mouse.getEventButton() != 2) return; // Left click or right click
- if (!Mouse.isButtonDown(0) && !Mouse.isButtonDown(1) && !Mouse.isButtonDown(2)) return;
+ if (Mouse.getEventButton() != 0 && Mouse.getEventButton() != 1 && Mouse.getEventButton() != 2) return; // Left click, middle click or right click
+ if (!Mouse.getEventButtonState()) return;
if (event.gui instanceof GuiChest) {
Container containerChest = ((GuiChest) event.gui).inventorySlots;
@@ -2891,12 +2931,12 @@ public class DankersSkyblockMod
ItemStack item = mouseSlot.getStack();
String inventoryName = inventory.getDisplayName().getUnformattedText();
- if(ToggleCommand.stopSalvageStarredToggled && inventoryName.startsWith("Salvage")) {
- if(item == null) return;
+ if (ToggleCommand.stopSalvageStarredToggled && inventoryName.startsWith("Salvage")) {
+ if (item == null) return;
boolean inSalvageGui = false;
- if(item.getDisplayName().contains("Salvage") || item.getDisplayName().contains("Essence")) {
+ if (item.getDisplayName().contains("Salvage") || item.getDisplayName().contains("Essence")) {
ItemStack salvageItem = inventory.getStackInSlot(13);
- if(salvageItem == null) return;
+ if (salvageItem == null) return;
item = salvageItem;
inSalvageGui = true;
}
@@ -3037,15 +3077,15 @@ public class DankersSkyblockMod
GuiChest chest = (GuiChest) event.gui;
IInventory inventory = ((ContainerChest) containerChest).getLowerChestInventory();
String inventoryName = inventory.getDisplayName().getUnformattedText();
- if(ToggleCommand.swapToPickBlockInExperimentsToggled) {
- if(inventoryName.startsWith("Chronomatron (") || inventoryName.startsWith("Superpairs (") || inventoryName.startsWith("Ultrasequencer (")) {
- if(!pickBlockBindSwapped) {
+ if (ToggleCommand.swapToPickBlockToggled) {
+ if (inventoryName.startsWith("Chronomatron (") || inventoryName.startsWith("Superpairs (") || inventoryName.startsWith("Ultrasequencer (") || inventoryName.startsWith("What starts with:") || inventoryName.startsWith("Select all the") || inventoryName.startsWith("Harp -")) {
+ if (!pickBlockBindSwapped) {
pickBlockBind = gameSettings.keyBindPickBlock.getKeyCode();
gameSettings.keyBindPickBlock.setKeyCode(-100);
pickBlockBindSwapped = true;
}
} else {
- if(pickBlockBindSwapped) {
+ if (pickBlockBindSwapped) {
gameSettings.keyBindPickBlock.setKeyCode(pickBlockBind);
pickBlockBindSwapped = false;
}
@@ -3077,7 +3117,6 @@ public class DankersSkyblockMod
int chestSize = inventory.inventorySlots.inventorySlots.size();
if (ToggleCommand.petColoursToggled) {
- Pattern petPattern = Pattern.compile("\\[Lvl [\\d]{1,3}]");
for (Slot slot : invSlots) {
ItemStack item = slot.getStack();
if (item == null) continue;
@@ -3087,29 +3126,29 @@ public class DankersSkyblockMod
int colour;
int petLevel = Integer.parseInt(item.getDisplayName().substring(item.getDisplayName().indexOf(" ") + 1, item.getDisplayName().indexOf("]")));
if (petLevel == 100) {
- colour = 0xBFF2D249; // Gold
+ colour = PET_100;
} else if (petLevel >= 90) {
- colour = 0xBF9E794E; // Brown
+ colour = PET_90_TO_99;
} else if (petLevel >= 80) {
- colour = 0xBF5C1F35; // idk weird magenta
+ colour = PET_80_TO_89;
} else if (petLevel >= 70) {
- colour = 0xBFD64FC8; // Pink
+ colour = PET_70_TO_79;
} else if (petLevel >= 60) {
- colour = 0xBF7E4FC6; // Purple
+ colour = PET_60_TO_69;
} else if (petLevel >= 50) {
- colour = 0xBF008AD8; // Light Blue
+ colour = PET_50_TO_59;
} else if (petLevel >= 40) {
- colour = 0xBF0EAC35; // Green
+ colour = PET_40_TO_49;
} else if (petLevel >= 30) {
- colour = 0xBFFFC400; // Yellow
+ colour = PET_30_TO_39;
} else if (petLevel >= 20) {
- colour = 0xBFEF5230; // Orange
+ colour = PET_20_TO_29;
} else if (petLevel >= 10) {
- colour = 0xBFD62440; // Red
+ colour = PET_10_TO_19;
} else {
- colour = 0xBF999999; // Gray
+ colour = PET_1_TO_9;
}
- Utils.drawOnSlot(chestSize, slot.xDisplayPosition, slot.yDisplayPosition, colour);
+ Utils.drawOnSlot(chestSize, slot.xDisplayPosition, slot.yDisplayPosition, colour + 0xBF000000);
}
}
}
@@ -3126,14 +3165,22 @@ public class DankersSkyblockMod
}
if (ToggleCommand.selectAllToggled && Utils.inDungeons && displayName.startsWith("Select all the")) {
- String colour = displayName.split(" ")[3];
+ String colour;
+ List<String> colourParts = new ArrayList<>();
+ Matcher colourMatcher = startsWithTerminalPattern.matcher(displayName);
+ while (colourMatcher.find()) {
+ colourParts.add(colourMatcher.group());
+ }
+ colour = String.join(" ", colourParts);
+
for (Slot slot : invSlots) {
ItemStack item = slot.getStack();
if (item == null) continue;
- if (item.getDisplayName().toUpperCase().contains(colour)) {
+ String itemName = StringUtils.stripControlCodes(item.getDisplayName()).toUpperCase();
+ if (itemName.contains(colour) || (colour.equals("SILVER") && itemName.contains("LIGHT GRAY")) || (colour.equals("WHITE") && itemName.equals("WOOL"))) {
Utils.drawOnSlot(chestSize, slot.xDisplayPosition, slot.yDisplayPosition, 0xBF40FF40);
- }
- }
+ }
+ }
}
if (ToggleCommand.ultrasequencerToggled && displayName.startsWith("Ultrasequencer (")) {
@@ -3152,6 +3199,12 @@ public class DankersSkyblockMod
Slot nextSlot = clickInOrderSlots[lastUltraSequencerClicked];
Utils.drawOnSlot(chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, 0xE540FF40);
}
+ if (lastUltraSequencerClicked + 1 < clickInOrderSlots.length) {
+ if (clickInOrderSlots[lastUltraSequencerClicked + 1] != null) {
+ Slot nextSlot = clickInOrderSlots[lastUltraSequencerClicked + 1];
+ Utils.drawOnSlot(chestSize, nextSlot.xDisplayPosition, nextSlot.yDisplayPosition, 0xD740DAE6);
+ }
+ }
}
}
}
@@ -3176,8 +3229,23 @@ public class DankersSkyblockMod
for (int i = 10; i <= 43; i++) {
ItemStack glass = invSlots.get(i).getStack();
if (glass == null) continue;
+
Slot glassSlot = invSlots.get(i);
- if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks))) {
+
+ if (chronomatronMouseClicks + 1 < chronomatronPattern.size()) {
+ if (chronomatronPattern.get(chronomatronMouseClicks).equals(chronomatronPattern.get(chronomatronMouseClicks + 1))) {
+ if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks))) {
+ Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, 0xE540FF40);
+ }
+ }
+ else if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks))) {
+ Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, 0xE540FF40);
+ }
+ else if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks + 1))) {
+ Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, 0xBE40DAE6);
+ }
+ }
+ else if (glass.getDisplayName().equals(chronomatronPattern.get(chronomatronMouseClicks))) {
Utils.drawOnSlot(chestSize, glassSlot.xDisplayPosition, glassSlot.yDisplayPosition, 0xE540FF40);
}
}
diff --git a/src/main/java/me/Danker/commands/DHelpCommand.java b/src/main/java/me/Danker/commands/DHelpCommand.java
index 1628c0c..395f40d 100644
--- a/src/main/java/me/Danker/commands/DHelpCommand.java
+++ b/src/main/java/me/Danker/commands/DHelpCommand.java
@@ -34,14 +34,14 @@ public class DHelpCommand extends CommandBase {
EnumChatFormatting.GOLD + " Commands, " + EnumChatFormatting.GREEN + " Keybinds.\n" +
EnumChatFormatting.GOLD + " /dhelp" + EnumChatFormatting.AQUA + " - Returns this message.\n" +
EnumChatFormatting.GOLD + " /dsm" + EnumChatFormatting.AQUA + " - Opens the GUI for Danker's Skyblock Mod.\n" +
- EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/spiritbearalerts/aotd/lividdagger/sceptremessages/midasstaffmessages/implosionmessages/healmessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/outlinetext/caketimer/lowhealthnotify/lividsolver/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
+ EnumChatFormatting.GOLD + " /toggle <gparty/coords/golden/slayercount/rngesusalerts/splitfishing/chatmaddox/spiritbearalerts/aotd/lividdagger/sceptremessages/midasstaffmessages/implosionmessages/healmessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/outlinetext/caketimer/lowhealthnotify/lividsolver/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/watchermessage/startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/list>" + EnumChatFormatting.AQUA + " - Toggles features. /toggle list returns values of every toggle.\n" +
EnumChatFormatting.GOLD + " /setkey <key>" + EnumChatFormatting.AQUA + " - Sets API key.\n" +
EnumChatFormatting.GOLD + " /getkey" + EnumChatFormatting.AQUA + " - Returns key set with /setkey and copies it to your clipboard.\n" +
EnumChatFormatting.GOLD + " /loot <zombie/spider/wolf/fishing/catacombs/mythological/> [winter/festival/spooky/f(1-7)/session]" + EnumChatFormatting.AQUA + " - Returns loot received from slayer quests or fishing stats. /loot fishing winter returns winter sea creatures instead.\n" +
EnumChatFormatting.GOLD + " /display <zombie/spider/wolf/fishing/catacombs/mythological/auto/off> [winter/festival/spooky/f(1-7)/session]" + EnumChatFormatting.AQUA + " - 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.\n" +
EnumChatFormatting.GOLD + " /resetloot <zombie/spider/wolf/fishing/catacombs/mythological/confirm/cancel>" + EnumChatFormatting.AQUA + " - Resets loot for trackers. /resetloot confirm confirms the reset.\n" +
- EnumChatFormatting.GOLD + " /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker> <x> <y>" + EnumChatFormatting.AQUA + " - Moves text display to specified X and Y coordinates.\n" +
- EnumChatFormatting.GOLD + " /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker> <scale (0.1 - 10)>" + EnumChatFormatting.AQUA + " - Scales text display to a specified multipler between 0.1x and 10x.\n" +
+ EnumChatFormatting.GOLD + " /move <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <x> <y>" + EnumChatFormatting.AQUA + " - Moves text display to specified X and Y coordinates.\n" +
+ EnumChatFormatting.GOLD + " /scale <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <scale (0.1 - 10)>" + EnumChatFormatting.AQUA + " - Scales text display to a specified multipler between 0.1x and 10x.\n" +
EnumChatFormatting.GOLD + " /slayer [player]" + EnumChatFormatting.AQUA + " - Uses API to get slayer xp of a person. If no name is provided, it checks yours.\n" +
EnumChatFormatting.GOLD + " /skills [player]" + EnumChatFormatting.AQUA + " - Uses API to get skill levels of a person. If no name is provided, it checks yours.\n" +
EnumChatFormatting.GOLD + " /lobbyskills" + EnumChatFormatting.AQUA + " - Uses API to find the average skills of the lobby, as well the three players with the highest skill average.\n" +
diff --git a/src/main/java/me/Danker/commands/DankerGuiCommand.java b/src/main/java/me/Danker/commands/DankerGuiCommand.java
index 18230e6..b10980f 100644
--- a/src/main/java/me/Danker/commands/DankerGuiCommand.java
+++ b/src/main/java/me/Danker/commands/DankerGuiCommand.java
@@ -1,9 +1,15 @@
package me.Danker.commands;
import me.Danker.DankersSkyblockMod;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.resources.ResourcePackRepository;
import net.minecraft.command.CommandBase;
import net.minecraft.command.CommandException;
import net.minecraft.command.ICommandSender;
+import net.minecraft.util.ChatComponentText;
+
+import java.awt.*;
+import java.awt.datatransfer.StringSelection;
public class DankerGuiCommand extends CommandBase {
@@ -24,6 +30,76 @@ public class DankerGuiCommand extends CommandBase {
@Override
public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException {
+ if (arg1.length > 0 && arg1[0].equalsIgnoreCase("debug")) {
+ StringBuilder debug = new StringBuilder();
+ debug.append("```md\n");
+ debug.append("# Toggles\n");
+ debug.append("[gparty][").append(ToggleCommand.gpartyToggled).append("]\n");
+ debug.append("[coords][").append(ToggleCommand.coordsToggled).append("]\n");
+ debug.append("[golden][").append(ToggleCommand.goldenToggled).append("]\n");
+ debug.append("[slayercount][").append(ToggleCommand.slayerCountTotal).append("]\n");
+ debug.append("[rngesusalerts][").append(ToggleCommand.rngesusAlerts).append("]\n");
+ debug.append("[splitfishing][").append(ToggleCommand.splitFishing).append("]\n");
+ debug.append("[chatmaddox][").append(ToggleCommand.chatMaddoxToggled).append("]\n");
+ debug.append("[spiritbearalerts][").append(ToggleCommand.spiritBearAlerts).append("]\n");
+ debug.append("[aotd][").append(ToggleCommand.aotdToggled).append("]\n");
+ debug.append("[lividdagger][").append(ToggleCommand.lividDaggerToggled).append("]\n");
+ debug.append("[sceptremessages][").append(ToggleCommand.sceptreMessages).append("]\n");
+ debug.append("[petcolors][").append(ToggleCommand.petColoursToggled).append("]\n");
+ debug.append("[dungeontimer][").append(ToggleCommand.dungeonTimerToggled).append("]\n");
+ debug.append("[golemalerts][").append(ToggleCommand.golemAlertToggled).append("]\n");
+ debug.append("[expertiselore][").append(ToggleCommand.expertiseLoreToggled).append("]\n");
+ debug.append("[skill50display][").append(ToggleCommand.skill50DisplayToggled).append("]\n");
+ debug.append("[outlinetext][").append(ToggleCommand.outlineTextToggled).append("]\n");
+ debug.append("[midasstaffmessages][").append(ToggleCommand.midasStaffMessages).append("]\n");
+ debug.append("[implosionmessages][").append(ToggleCommand.implosionMessages).append("]\n");
+ debug.append("[healmessages][").append(ToggleCommand.healMessages).append("]\n");
+ debug.append("[caketimer][").append(ToggleCommand.cakeTimerToggled).append("]\n");
+ debug.append("[lowhealthnotify][").append(ToggleCommand.lowHealthNotifyToggled).append("]\n");
+ debug.append("[lividsolver][").append(ToggleCommand.lividSolverToggled).append("]\n");
+ debug.append("[stopsalvagestarred][").append(ToggleCommand.stopSalvageStarredToggled).append("]\n");
+ debug.append("[threemanpuzzle][").append(ToggleCommand.threeManToggled).append("]\n");
+ debug.append("[oruopuzzle][").append(ToggleCommand.oruoToggled).append("]\n");
+ debug.append("[blazepuzzle][").append(ToggleCommand.blazeToggled).append("]\n");
+ debug.append("[creeperpuzzle][").append(ToggleCommand.creeperToggled).append("]\n");
+ debug.append("[waterpuzzle][").append(ToggleCommand.waterToggled).append("]\n");
+ debug.append("[tictactoepuzzle][").append(ToggleCommand.ticTacToeToggled).append("]\n");
+ debug.append("[startswithterminal][").append(ToggleCommand.startsWithToggled).append("]\n");
+ debug.append("[selectallterminal][").append(ToggleCommand.selectAllToggled).append("]\n");
+ debug.append("[itemframeonsealanterns][").append(ToggleCommand.itemFrameOnSeaLanternsToggled).append("]\n");
+ debug.append("[ultrasequencer][").append(ToggleCommand.ultrasequencerToggled).append("]\n");
+ debug.append("[chronomatron][").append(ToggleCommand.chronomatronToggled).append("]\n");
+ debug.append("[superpairs][").append(ToggleCommand.superpairsToggled).append("]\n");
+ debug.append("[pickblock][").append(ToggleCommand.swapToPickBlockToggled).append("]\n");
+ debug.append("[watchermessage][").append(ToggleCommand.watcherReadyToggled).append("]\n");
+ debug.append("# Locations\n");
+ debug.append("[coords][").append(MoveCommand.coordsXY[0]).append(", ").append(MoveCommand.coordsXY[1]).append("]\n");
+ debug.append("[display][").append(MoveCommand.displayXY[0]).append(", ").append(MoveCommand.displayXY[1]).append("]\n");
+ debug.append("[dungeontimer][").append(MoveCommand.dungeonTimerXY[0]).append(", ").append(MoveCommand.dungeonTimerXY[1]).append("]\n");
+ debug.append("[skill50][").append(MoveCommand.skill50XY[0]).append(", ").append(MoveCommand.skill50XY[1]).append("]\n");
+ debug.append("[lividhp][").append(MoveCommand.lividHpXY[0]).append(", ").append(MoveCommand.lividHpXY[1]).append("]\n");
+ debug.append("[caketimer][").append(MoveCommand.cakeTimerXY[0]).append(", ").append(MoveCommand.cakeTimerXY[1]).append("]\n");
+ debug.append("[skilltracker][").append(MoveCommand.skillTrackerXY[0]).append(", ").append(MoveCommand.skillTrackerXY[1]).append("]\n");
+ debug.append("[wateranswer][").append(MoveCommand.waterAnswerXY[0]).append(", ").append(MoveCommand.waterAnswerXY[1]).append("]\n");
+ debug.append("# Other Settings\n");
+ debug.append("[Current Display][").append(DisplayCommand.display).append("]\n");
+ debug.append("[Auto Display][").append(DisplayCommand.auto).append("]\n");
+ debug.append("[Skill Tracker Visible][").append(DankersSkyblockMod.showSkillTracker).append("]\n");
+ debug.append("# Resource Packs\n");
+ if (Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries().size() == 0) {
+ debug.append("<None>\n");
+ } else {
+ for (ResourcePackRepository.Entry resource : Minecraft.getMinecraft().getResourcePackRepository().getRepositoryEntries()) {
+ debug.append("< ").append(resource.getResourcePackName()).append(" >\n");
+ }
+ }
+ debug.append("```");
+ StringSelection clipboard = new StringSelection(debug.toString());
+ Toolkit.getDefaultToolkit().getSystemClipboard().setContents(clipboard, clipboard);
+ Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Debug stats copied to clipboard."));
+ return;
+ }
+
DankersSkyblockMod.guiToOpen = "dankergui1";
}
diff --git a/src/main/java/me/Danker/commands/MoveCommand.java b/src/main/java/me/Danker/commands/MoveCommand.java
index de5d98f..e9bfe61 100644
--- a/src/main/java/me/Danker/commands/MoveCommand.java
+++ b/src/main/java/me/Danker/commands/MoveCommand.java
@@ -20,6 +20,7 @@ public class MoveCommand extends CommandBase {
public static int[] lividHpXY = {0, 0};
public static int[] cakeTimerXY = {0, 0};
public static int[] skillTrackerXY = {0, 0};
+ public static int[] waterAnswerXY = {0, 0};
@Override
public String getCommandName() {
@@ -28,7 +29,7 @@ public class MoveCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker> <x> <y>";
+ return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <x> <y>";
}
@Override
@@ -39,7 +40,7 @@ public class MoveCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker");
+ return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer");
}
return null;
}
@@ -103,6 +104,13 @@ public class MoveCommand extends CommandBase {
ConfigHandler.writeIntConfig("locations", "skillTrackerY", skillTrackerXY[1]);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker has been moved to " + DankersSkyblockMod.SECONDARY_COLOUR + arg1[1] + ", " + arg1[2]));
break;
+ case "wateranswer":
+ waterAnswerXY[0] = Integer.parseInt(arg1[1]);
+ waterAnswerXY[1] = Integer.parseInt(arg1[2]);
+ ConfigHandler.writeIntConfig("locations", "waterAnswerX", waterAnswerXY[0]);
+ ConfigHandler.writeIntConfig("locations", "waterAnswerY", waterAnswerXY[1]);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Water solver answer has been moved to " + DankersSkyblockMod.SECONDARY_COLOUR + arg1[1] + ", " + arg1[2]));
+ break;
default:
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
}
diff --git a/src/main/java/me/Danker/commands/ScaleCommand.java b/src/main/java/me/Danker/commands/ScaleCommand.java
index c194fcb..85d0d5c 100644
--- a/src/main/java/me/Danker/commands/ScaleCommand.java
+++ b/src/main/java/me/Danker/commands/ScaleCommand.java
@@ -8,6 +8,7 @@ import net.minecraft.command.ICommandSender;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ChatComponentText;
+import sun.security.krb5.Config;
import java.util.List;
@@ -20,6 +21,7 @@ public class ScaleCommand extends CommandBase {
public static double lividHpScale;
public static double cakeTimerScale;
public static double skillTrackerScale;
+ public static double waterAnswerScale;
@Override
public String getCommandName() {
@@ -28,7 +30,7 @@ public class ScaleCommand extends CommandBase {
@Override
public String getCommandUsage(ICommandSender arg0) {
- return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker> <size (0.1 - 10)>";
+ return "/" + getCommandName() + " <coords/display/dungeontimer/skill50/lividhp/caketimer/skilltracker/wateranswer> <size (0.1 - 10)>";
}
@Override
@@ -39,7 +41,7 @@ public class ScaleCommand extends CommandBase {
@Override
public List<String> addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos) {
if (args.length == 1) {
- return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker");
+ return getListOfStringsMatchingLastWord(args, "coords", "display", "dungeontimer", "skill50", "lividhp", "caketimer", "skilltracker", "wateranswer");
}
return null;
}
@@ -95,6 +97,11 @@ public class ScaleCommand extends CommandBase {
ConfigHandler.writeDoubleConfig("scales", "skillTrackerScale", skillTrackerScale);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Skill tracker has been scaled to " + DankersSkyblockMod.SECONDARY_COLOUR + skillTrackerScale + "x"));
break;
+ case "wateranswer":
+ waterAnswerScale = scaleAmount;
+ ConfigHandler.writeDoubleConfig("scales", "waterAnswerScale", waterAnswerScale);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Water solver answer has been scaled to " + DankersSkyblockMod.SECONDARY_COLOUR + waterAnswerScale + "x"));
+ break;
default:
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.ERROR_COLOUR + "Usage: " + getCommandUsage(arg0)));
}
diff --git a/src/main/java/me/Danker/commands/ToggleCommand.java b/src/main/java/me/Danker/commands/ToggleCommand.java
index 5c473e5..172411c 100644
--- a/src/main/java/me/Danker/commands/ToggleCommand.java
+++ b/src/main/java/me/Danker/commands/ToggleCommand.java
@@ -37,6 +37,8 @@ public class ToggleCommand extends CommandBase implements ICommand {
public static boolean lowHealthNotifyToggled;
public static boolean lividSolverToggled;
public static boolean stopSalvageStarredToggled;
+ public static boolean watcherReadyToggled;
+ public static boolean swapToPickBlockToggled;
// Puzzle Solvers
public static boolean threeManToggled;
public static boolean oruoToggled;
@@ -52,7 +54,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
public static boolean ultrasequencerToggled;
public static boolean chronomatronToggled;
public static boolean superpairsToggled;
- public static boolean swapToPickBlockInExperimentsToggled;
+ public static boolean hideTooltipsInExperimentAddonsToggled;
@Override
public String getCommandName() {
@@ -65,7 +67,7 @@ public class ToggleCommand extends CommandBase implements ICommand {
"aotd/lividdagger/sceptremessages/petcolors/dungeontimer/golemalerts/expertiselore/skill50display/" +
"outlinetext/midasstaffmessages/implosionmessages/healmessages/caketimer/lowhealthnotify/" +
"lividsolver/stopsalvagestarred/threemanpuzzle/oruopuzzle/blazepuzzle/creeperpuzzle/waterpuzzle/tictactoepuzzle/" +
- "startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/pickblockinexperiments/list>";
+ "watchermessage/startswithterminal/selectallterminal/itemframeonsealanterns/ultrasequencer/chronomatron/superpairs/hidetooltipsinaddons/pickblock/list>";
}
@Override
@@ -82,9 +84,9 @@ public class ToggleCommand extends CommandBase implements ICommand {
"expertiselore", "skill50display", "outlinetext", "midasstaffmessages",
"implosionmessages", "healmessages", "caketimer", "lowhealthnotify",
"lividsolver", "stopsalvagestarred", "threemanpuzzle", "oruopuzzle", "blazepuzzle",
- "creeperpuzzle", "waterpuzzle", "tictactoepuzzle", "startswithterminal",
+ "creeperpuzzle", "waterpuzzle", "tictactoepuzzle", "watchermessage", "startswithterminal",
"selectallterminal", "itemframeonsealanterns", "ultrasequencer",
- "chronomatron", "superpairs", "pickblockinexperiments", "list");
+ "chronomatron", "superpairs", "hidetooltipsinaddons", "pickblock", "list");
}
return null;
}
@@ -250,6 +252,11 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "TicTacToePuzzle", ticTacToeToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Tic tac toe puzzle solver has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + ticTacToeToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
+ case "watchermessage":
+ watcherReadyToggled = !watcherReadyToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "WatcherReadyMessage", watcherReadyToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Display Watcher ready message has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + watcherReadyToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
case "startswithterminal":
startsWithToggled = !startsWithToggled;
ConfigHandler.writeBooleanConfig("toggles", "StartsWithTerminal", startsWithToggled);
@@ -280,10 +287,15 @@ public class ToggleCommand extends CommandBase implements ICommand {
ConfigHandler.writeBooleanConfig("toggles", "Superpairs", superpairsToggled);
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Superpairs solver has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + superpairsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
- case "pickblockinexperiments":
- swapToPickBlockInExperimentsToggled = !swapToPickBlockInExperimentsToggled;
- ConfigHandler.writeBooleanConfig("toggles", "PickBlockInExperiments", superpairsToggled);
- player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Auto-swap to pick block in experiments has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + swapToPickBlockInExperimentsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ case "hidetooltipsinaddons":
+ hideTooltipsInExperimentAddonsToggled = !hideTooltipsInExperimentAddonsToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "HideTooltipsInExperimentAddons", hideTooltipsInExperimentAddonsToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Hide tooltips in ultrasequencer and chronomatron has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + hideTooltipsInExperimentAddonsToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
+ break;
+ case "pickblock":
+ swapToPickBlockToggled = !swapToPickBlockToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "PickBlock", swapToPickBlockToggled);
+ player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Auto-swap to pick block has been set to " + DankersSkyblockMod.SECONDARY_COLOUR + swapToPickBlockToggled + DankersSkyblockMod.MAIN_COLOUR + "."));
break;
case "list":
player.addChatMessage(new ChatComponentText(DankersSkyblockMod.TYPE_COLOUR + "Guild party notifications: " + DankersSkyblockMod.VALUE_COLOUR + gpartyToggled + "\n" +
@@ -315,12 +327,15 @@ public class ToggleCommand extends CommandBase implements ICommand {
DankersSkyblockMod.TYPE_COLOUR + " Creeper puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + creeperToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Water puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + waterToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Tic tac toe puzzle solver: " + DankersSkyblockMod.VALUE_COLOUR + ticTacToeToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Watcher ready message: " + DankersSkyblockMod.VALUE_COLOUR + watcherReadyToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Starts with letter terminal solver: " + DankersSkyblockMod.VALUE_COLOUR + startsWithToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Select all color items terminal solver: " + DankersSkyblockMod.VALUE_COLOUR + selectAllToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Ignore item frames on sea lanterns: " + DankersSkyblockMod.VALUE_COLOUR + itemFrameOnSeaLanternsToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Ultra sequencer solver: " + DankersSkyblockMod.VALUE_COLOUR + ultrasequencerToggled + "\n" +
DankersSkyblockMod.TYPE_COLOUR + " Chronomatron solver: " + DankersSkyblockMod.VALUE_COLOUR + chronomatronToggled + "\n" +
- DankersSkyblockMod.TYPE_COLOUR + " Superpairs solver: " + DankersSkyblockMod.VALUE_COLOUR + superpairsToggled
+ DankersSkyblockMod.TYPE_COLOUR + " Superpairs solver: " + DankersSkyblockMod.VALUE_COLOUR + superpairsToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Hide tooltips in experiment addons: " + DankersSkyblockMod.VALUE_COLOUR + hideTooltipsInExperimentAddonsToggled + "\n" +
+ DankersSkyblockMod.TYPE_COLOUR + " Auto-swap to pick block " + DankersSkyblockMod.VALUE_COLOUR + swapToPickBlockToggled
));
break;
default:
diff --git a/src/main/java/me/Danker/gui/DankerGui.java b/src/main/java/me/Danker/gui/DankerGui.java
index 1c40dc4..613e968 100644
--- a/src/main/java/me/Danker/gui/DankerGui.java
+++ b/src/main/java/me/Danker/gui/DankerGui.java
@@ -54,6 +54,8 @@ public class DankerGui extends GuiScreen {
private GuiButton lowHealthNotify;
private GuiButton lividSolver;
private GuiButton stopSalvageStarred;
+ private GuiButton watcherReadyMessage;
+ private GuiButton pickBlock;
public DankerGui(int page) {
this.page = page;
@@ -86,7 +88,7 @@ public class DankerGui extends GuiScreen {
experimentationTableSolvers = new GuiButton(0, width / 2 - 100, (int) (height * 0.4), "Toggle Experimentation Table Solvers");
skillTracker = new GuiButton(0, width / 2 - 100, (int) (height * 0.5), "Toggle Skill XP/Hour Tracking");
outlineText = new GuiButton(0, width / 2 - 100, (int) (height * 0.6), "Outline Displayed Text: " + Utils.getColouredBoolean(ToggleCommand.outlineTextToggled));
- splitFishing = new GuiButton(0, width / 2 - 100, (int) (height * 0.7), "Split Fishing Display: " + Utils.getColouredBoolean(ToggleCommand.splitFishing));
+ pickBlock = new GuiButton(0, width / 2 - 100, (int) (height * 0.7), "Auto-Swap to Pick Block: " + Utils.getColouredBoolean(ToggleCommand.swapToPickBlockToggled));
// Page 2
coords = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Coordinate/Angle Display: " + Utils.getColouredBoolean(ToggleCommand.coordsToggled));
dungeonTimer = new GuiButton(0, width / 2 - 100, (int) (height * 0.2), "Display Dungeon Timers: " + Utils.getColouredBoolean(ToggleCommand.dungeonTimerToggled));
@@ -113,7 +115,8 @@ public class DankerGui extends GuiScreen {
lowHealthNotify = new GuiButton(0, width / 2 - 100, (int) (height * 0.7), "Low Health Notifications: " + Utils.getColouredBoolean(ToggleCommand.lowHealthNotifyToggled));
// Page 5
stopSalvageStarred = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Stop Salvaging Starred Items: " + Utils.getColouredBoolean(ToggleCommand.stopSalvageStarredToggled));
-
+ watcherReadyMessage = new GuiButton(0, width / 2 - 100, (int) (height * 0.2), "Display Watcher Ready Message: " + Utils.getColouredBoolean(ToggleCommand.watcherReadyToggled));
+ splitFishing = new GuiButton(0, width / 2 - 100, (int) (height * 0.3), "Split Fishing Display: " + Utils.getColouredBoolean(ToggleCommand.splitFishing));
switch (page) {
case 1:
this.buttonList.add(changeDisplay);
@@ -122,7 +125,7 @@ public class DankerGui extends GuiScreen {
this.buttonList.add(experimentationTableSolvers);
this.buttonList.add(skillTracker);
this.buttonList.add(outlineText);
- this.buttonList.add(splitFishing);
+ this.buttonList.add(pickBlock);
this.buttonList.add(nextPage);
break;
case 2:
@@ -160,6 +163,8 @@ public class DankerGui extends GuiScreen {
break;
case 5:
this.buttonList.add(stopSalvageStarred);
+ this.buttonList.add(watcherReadyMessage);
+ this.buttonList.add(splitFishing);
this.buttonList.add(backPage);
break;
}
@@ -304,6 +309,14 @@ public class DankerGui extends GuiScreen {
ToggleCommand.stopSalvageStarredToggled = !ToggleCommand.stopSalvageStarredToggled;
ConfigHandler.writeBooleanConfig("toggles", "StopSalvageStarred", ToggleCommand.stopSalvageStarredToggled);
stopSalvageStarred.displayString = "Stop Salvaging Starred Items: " + Utils.getColouredBoolean(ToggleCommand.stopSalvageStarredToggled);
+ } else if (button == watcherReadyMessage) {
+ ToggleCommand.watcherReadyToggled = !ToggleCommand.watcherReadyToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "WatcherReadyMessage", ToggleCommand.watcherReadyToggled);
+ watcherReadyMessage.displayString = "Display Watcher Ready Message: " + Utils.getColouredBoolean(ToggleCommand.watcherReadyToggled);
+ } else if (button == pickBlock) {
+ ToggleCommand.swapToPickBlockToggled = !ToggleCommand.swapToPickBlockToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "PickBlock", ToggleCommand.swapToPickBlockToggled);
+ pickBlock.displayString = "Auto-Swap to Pick Block: " + Utils.getColouredBoolean(ToggleCommand.swapToPickBlockToggled);
}
}
diff --git a/src/main/java/me/Danker/gui/EditLocationsGui.java b/src/main/java/me/Danker/gui/EditLocationsGui.java
index 63a47c0..b610ae0 100644
--- a/src/main/java/me/Danker/gui/EditLocationsGui.java
+++ b/src/main/java/me/Danker/gui/EditLocationsGui.java
@@ -25,6 +25,7 @@ public class EditLocationsGui extends GuiScreen {
private LocationButton lividHP;
private LocationButton cakeTimer;
private LocationButton skillTracker;
+ private LocationButton waterAnswer;
@Override
public boolean doesGuiPauseGame() {
@@ -74,7 +75,14 @@ public class EditLocationsGui extends GuiScreen {
String skillTrackerText = DankersSkyblockMod.SKILL_TRACKER_COLOUR + "Farming XP Earned: 462,425.3\n" +
DankersSkyblockMod.SKILL_TRACKER_COLOUR + "Time Elapsed: " + Utils.getTimeBetween(0, 3602) + "\n" +
DankersSkyblockMod.SKILL_TRACKER_COLOUR + "XP Per Hour: 462,168";
-
+
+ String waterAnswerText = DankersSkyblockMod.MAIN_COLOUR + "The following levers must be down:\n" +
+ EnumChatFormatting.DARK_PURPLE + "Purple: " + EnumChatFormatting.WHITE + "Quartz, " + EnumChatFormatting.YELLOW + "Gold, " + EnumChatFormatting.GREEN + "Emerald, " + EnumChatFormatting.RED + "Clay\n" +
+ EnumChatFormatting.GOLD + "Orange: " + EnumChatFormatting.YELLOW + "Gold, " + EnumChatFormatting.DARK_GRAY + "Coal\n" +
+ EnumChatFormatting.BLUE + "Blue: " + EnumChatFormatting.WHITE + "Quartz, " + EnumChatFormatting.YELLOW + "Gold, " + EnumChatFormatting.DARK_GRAY + "Coal, " + EnumChatFormatting.GREEN + "Emerald, " + EnumChatFormatting.RED + "Clay\n" +
+ EnumChatFormatting.GREEN + "Green: " + EnumChatFormatting.YELLOW + "Gold, " + EnumChatFormatting.GREEN + "Emerald\n" +
+ EnumChatFormatting.RED + "Red: " + EnumChatFormatting.YELLOW + "Gold, " + EnumChatFormatting.AQUA + "Diamond, " + EnumChatFormatting.GREEN + "Emerald, " + EnumChatFormatting.RED + "Clay";
+
display = new LocationButton(0, MoveCommand.displayXY[0], MoveCommand.displayXY[1], 145 * ScaleCommand.displayScale, 102 * ScaleCommand.displayScale, ScaleCommand.displayScale, displayText, displayNums, 110);
dungeonTimer = new LocationButton(0, MoveCommand.dungeonTimerXY[0], MoveCommand.dungeonTimerXY[1], 113 * ScaleCommand.dungeonTimerScale, 57 * ScaleCommand.dungeonTimerScale, ScaleCommand.dungeonTimerScale, dungeonTimerText, dungeonTimerNums, 80);
coords = new LocationButton(0, MoveCommand.coordsXY[0], MoveCommand.coordsXY[1], 141 * ScaleCommand.coordsScale, 12 * ScaleCommand.coordsScale, ScaleCommand.coordsScale, DankersSkyblockMod.COORDS_COLOUR + "74 / 14 / -26 (141.1 / 6.7)", null, null);
@@ -82,12 +90,14 @@ public class EditLocationsGui extends GuiScreen {
lividHP = new LocationButton(0, MoveCommand.lividHpXY[0], MoveCommand.lividHpXY[1], 85 * ScaleCommand.lividHpScale, 12 * ScaleCommand.lividHpScale, ScaleCommand.lividHpScale, EnumChatFormatting.WHITE + "﴾ Livid " + EnumChatFormatting.YELLOW + "6.9M" + EnumChatFormatting.RED + "❤ " + EnumChatFormatting.WHITE + "﴿", null, null);
cakeTimer = new LocationButton(0, MoveCommand.cakeTimerXY[0], MoveCommand.cakeTimerXY[1] + 5, 85 * ScaleCommand.cakeTimerScale, 18 * ScaleCommand.cakeTimerScale, ScaleCommand.cakeTimerScale, DankersSkyblockMod.CAKE_COLOUR + " 11h16m", null, null);
skillTracker = new LocationButton(0, MoveCommand.skillTrackerXY[0], MoveCommand.skillTrackerXY[1], 150 * ScaleCommand.skillTrackerScale, 28 * ScaleCommand.skillTrackerScale, ScaleCommand.skillTrackerScale, skillTrackerText, null, null);
-
+ waterAnswer = new LocationButton(0, MoveCommand.waterAnswerXY[0], MoveCommand.waterAnswerXY[1], 190 * ScaleCommand.waterAnswerScale, 54 * ScaleCommand.waterAnswerScale, ScaleCommand.waterAnswerScale, waterAnswerText, null, null);
+
this.buttonList.add(coords);
this.buttonList.add(dungeonTimer);
this.buttonList.add(lividHP);
this.buttonList.add(cakeTimer);
this.buttonList.add(skillTracker);
+ this.buttonList.add(waterAnswer);
this.buttonList.add(display);
this.buttonList.add(skill50);
}
@@ -155,6 +165,12 @@ public class EditLocationsGui extends GuiScreen {
skillTracker.xPosition = MoveCommand.skillTrackerXY[0];
skillTracker.yPosition = MoveCommand.skillTrackerXY[1];
break;
+ case "waterAnswer":
+ MoveCommand.waterAnswerXY[0] += xMoved;
+ MoveCommand.waterAnswerXY[1] += yMoved;
+ waterAnswer.xPosition = MoveCommand.waterAnswerXY[0];
+ waterAnswer.yPosition = MoveCommand.waterAnswerXY[1];
+ break;
}
this.buttonList.clear();
initGui();
@@ -181,6 +197,8 @@ public class EditLocationsGui extends GuiScreen {
moving = "cakeTimer";
} else if (button == skillTracker) {
moving = "skillTracker";
+ } else if (button == waterAnswer) {
+ moving = "waterAnswer";
}
}
}
@@ -203,6 +221,8 @@ public class EditLocationsGui extends GuiScreen {
ConfigHandler.writeIntConfig("locations", "cakeTimerY", MoveCommand.cakeTimerXY[1]);
ConfigHandler.writeIntConfig("locations", "skillTrackerX", MoveCommand.skillTrackerXY[0]);
ConfigHandler.writeIntConfig("locations", "skillTrackerY", MoveCommand.skillTrackerXY[1]);
+ ConfigHandler.writeIntConfig("locations", "waterAnswerX", MoveCommand.waterAnswerXY[0]);
+ ConfigHandler.writeIntConfig("locations", "waterAnswerY", MoveCommand.waterAnswerXY[1]);
}
}
diff --git a/src/main/java/me/Danker/gui/ExperimentsGui.java b/src/main/java/me/Danker/gui/ExperimentsGui.java
index b27ff16..c3f4f47 100644
--- a/src/main/java/me/Danker/gui/ExperimentsGui.java
+++ b/src/main/java/me/Danker/gui/ExperimentsGui.java
@@ -15,7 +15,7 @@ public class ExperimentsGui extends GuiScreen {
private GuiButton ultrasequencer;
private GuiButton chronomatron;
private GuiButton superpairs;
- private GuiButton pickBlock;
+ private GuiButton hideTooltips;
@Override
public boolean doesGuiPauseGame() {
@@ -34,14 +34,13 @@ public class ExperimentsGui extends GuiScreen {
ultrasequencer = new GuiButton(0, width / 2 - 100, (int) (height * 0.1), "Ultrasequencer Solver: " + Utils.getColouredBoolean(ToggleCommand.ultrasequencerToggled));
chronomatron = new GuiButton(0, width / 2 - 100, (int) (height * 0.2), "Chronomatron Solver: " + Utils.getColouredBoolean(ToggleCommand.chronomatronToggled));
superpairs = new GuiButton(0, width / 2 - 100, (int) (height * 0.3), "Superpairs Solver: " + Utils.getColouredBoolean(ToggleCommand.superpairsToggled));
- pickBlock = new GuiButton(0, width / 2 - 100, (int) (height * 0.4), "Auto-Swap to Pick Block: " + Utils.getColouredBoolean(ToggleCommand.swapToPickBlockInExperimentsToggled));
-
+ hideTooltips = new GuiButton(0, width / 2 - 100, (int) (height * 0.4), "Hide Tooltips in Addons: " + Utils.getColouredBoolean(ToggleCommand.hideTooltipsInExperimentAddonsToggled));
this.buttonList.add(goBack);
this.buttonList.add(ultrasequencer);
this.buttonList.add(chronomatron);
this.buttonList.add(superpairs);
- this.buttonList.add(pickBlock);
+ this.buttonList.add(hideTooltips);
}
@Override
@@ -66,10 +65,10 @@ public class ExperimentsGui extends GuiScreen {
ToggleCommand.superpairsToggled = !ToggleCommand.superpairsToggled;
ConfigHandler.writeBooleanConfig("toggles", "Superpairs", ToggleCommand.superpairsToggled);
superpairs.displayString = "Superpairs Solver: " + Utils.getColouredBoolean(ToggleCommand.superpairsToggled);
- } else if (button == pickBlock) {
- ToggleCommand.swapToPickBlockInExperimentsToggled = !ToggleCommand.swapToPickBlockInExperimentsToggled;
- ConfigHandler.writeBooleanConfig("toggles", "PickBlockInExperiments", ToggleCommand.swapToPickBlockInExperimentsToggled);
- pickBlock.displayString = "Auto-Swap to Pick Block: " + Utils.getColouredBoolean(ToggleCommand.swapToPickBlockInExperimentsToggled);
+ } else if (button == hideTooltips) {
+ ToggleCommand.hideTooltipsInExperimentAddonsToggled = !ToggleCommand.hideTooltipsInExperimentAddonsToggled;
+ ConfigHandler.writeBooleanConfig("toggles", "HideTooltipsInExperimentAddons", ToggleCommand.hideTooltipsInExperimentAddonsToggled);
+ hideTooltips.displayString = "Hide Tooltips in Addons: " + Utils.getColouredBoolean(ToggleCommand.hideTooltipsInExperimentAddonsToggled);
}
}
diff --git a/src/main/java/me/Danker/handlers/ConfigHandler.java b/src/main/java/me/Danker/handlers/ConfigHandler.java
index cbfb52b..a0e446f 100644
--- a/src/main/java/me/Danker/handlers/ConfigHandler.java
+++ b/src/main/java/me/Danker/handlers/ConfigHandler.java
@@ -192,6 +192,8 @@ public class ConfigHandler {
if (!hasKey("toggles", "LowHealthNotify")) writeBooleanConfig("toggles", "LowHealthNotify", false);
if (!hasKey("toggles", "LividSolver")) writeBooleanConfig("toggles", "LividSolver", false);
if (!hasKey("toggles", "StopSalvageStarred")) writeBooleanConfig("toggles", "StopSalvageStarred", false);
+ if (!hasKey("toggles", "WatcherReadyMessage")) writeBooleanConfig("toggles", "WatcherReadyMessage", false);
+ if (!hasKey("toggles", "PickBlock")) writeBooleanConfig("toggles", "PickBlock", false);
// Puzzle Solvers
if (!hasKey("toggles", "ThreeManPuzzle")) writeBooleanConfig("toggles", "ThreeManPuzzle", false);
if (!hasKey("toggles", "OruoPuzzle")) writeBooleanConfig("toggles", "OruoPuzzle", false);
@@ -202,10 +204,11 @@ public class ConfigHandler {
if (!hasKey("toggles", "StartsWithTerminal")) writeBooleanConfig("toggles", "StartsWithTerminal", false);
if (!hasKey("toggles", "SelectAllTerminal")) writeBooleanConfig("toggles", "SelectAllTerminal", false);
if (!hasKey("toggles", "IgnoreItemFrameOnSeaLanterns")) writeBooleanConfig("toggles", "IgnoreItemFrameOnSeaLanterns", false);
+ // Experiment Solvers
if (!hasKey("toggles", "UltraSequencer")) writeBooleanConfig("toggles", "UltraSequencer", false);
if (!hasKey("toggles", "Chronomatron")) writeBooleanConfig("toggles", "Chronomatron", false);
if (!hasKey("toggles", "Superpairs")) writeBooleanConfig("toggles", "Superpairs", false);
- if (!hasKey("toggles", "PickBlockInExperiments")) writeBooleanConfig("toggles", "PickBlockInExperiments", false);
+ if (!hasKey("toggles", "HideTooltipsInExperimentAddons")) writeBooleanConfig("toggles", "HideTooltipsInExperimentAddons", false);
if (!hasKey("api", "APIKey")) writeStringConfig("api", "APIKey", "");
@@ -391,6 +394,8 @@ public class ConfigHandler {
if (!hasKey("locations", "cakeTimerY")) writeIntConfig("locations", "cakeTimerY", 30);
if (!hasKey("locations", "skillTrackerX")) writeIntConfig("locations", "skillTrackerX", 40);
if (!hasKey("locations", "skillTrackerY")) writeIntConfig("locations", "skillTrackerY", 50);
+ if (!hasKey("locations", "waterAnswerX")) writeIntConfig("locations", "waterAnswerX", 100);
+ if (!hasKey("locations", "waterAnswerY")) writeIntConfig("locations", "waterAnswerY", 100);
if (!hasKey("scales", "coordsScale")) writeDoubleConfig("scales", "coordsScale", 1);
if (!hasKey("scales", "displayScale")) writeDoubleConfig("scales", "displayScale", 1);
if (!hasKey("scales", "dungeonTimerScale")) writeDoubleConfig("scales", "dungeonTimerScale", 1);
@@ -398,6 +403,7 @@ public class ConfigHandler {
if (!hasKey("scales", "lividHpScale")) writeDoubleConfig("scales", "lividHpScale", 1);
if (!hasKey("scales", "cakeTimerScale")) writeDoubleConfig("scales", "cakeTimerScale", 1);
if (!hasKey("scales", "skillTrackerScale")) writeDoubleConfig("scales", "skillTrackerScale", 1);
+ if (!hasKey("scales", "waterAnswerScale")) writeDoubleConfig("scales", "waterAnswerScale", 1);
if (!hasKey("colors", "main")) writeStringConfig("colors", "main", EnumChatFormatting.GREEN.toString());
if (!hasKey("colors", "secondary")) writeStringConfig("colors", "secondary", EnumChatFormatting.DARK_GREEN.toString());
@@ -414,6 +420,17 @@ public class ConfigHandler {
if (!hasKey("colors", "triviaWrongAnswer")) writeStringConfig("colors", "triviaWrongAnswer", EnumChatFormatting.RED.toString());
if (!hasKey("colors", "blazeLowest")) writeIntConfig("colors", "blazeLowest", 0xFF0000);
if (!hasKey("colors", "blazeHighest")) writeIntConfig("colors", "blazeHighest", 0x40FF40);
+ if (!hasKey("colors", "pet1To9")) writeIntConfig("colors", "pet1To9", 0x999999); // Gray
+ if (!hasKey("colors", "pet10To19")) writeIntConfig("colors", "pet10To19", 0xD62440); // Red
+ if (!hasKey("colors", "pet20To29")) writeIntConfig("colors", "pet20To29", 0xEF5230); // Orange
+ if (!hasKey("colors", "pet30To39")) writeIntConfig("colors", "pet30To39", 0xFFC400); // Yellow
+ if (!hasKey("colors", "pet40To49")) writeIntConfig("colors", "pet40To49", 0x0EAC35); // Green
+ if (!hasKey("colors", "pet50To59")) writeIntConfig("colors", "pet50To59", 0x008AD8); // Light Blue
+ if (!hasKey("colors", "pet60To69")) writeIntConfig("colors", "pet60To69", 0x7E4FC6); // Purple
+ if (!hasKey("colors", "pet70To79")) writeIntConfig("colors", "pet70To79", 0xD64FC8); // Pink
+ if (!hasKey("colors", "pet80To89")) writeIntConfig("colors", "pet80To89", 0x5C1F35); // idk weird magenta
+ if (!hasKey("colors", "pet90To99")) writeIntConfig("colors", "pet90To99", 0x9E794E); // Brown
+ if (!hasKey("colors", "pet100")) writeIntConfig("colors", "pet100", 0xF2D249); // Gold
ToggleCommand.gpartyToggled = getBoolean("toggles", "GParty");
ToggleCommand.coordsToggled = getBoolean("toggles", "Coords");
@@ -439,6 +456,8 @@ public class ConfigHandler {
ToggleCommand.lowHealthNotifyToggled = getBoolean("toggles", "LowHealthNotify");
ToggleCommand.lividSolverToggled = getBoolean("toggles", "LividSolver");
ToggleCommand.stopSalvageStarredToggled = getBoolean("toggles", "StopSalvageStarred");
+ ToggleCommand.watcherReadyToggled = getBoolean("toggles", "WatcherReadyMessage");
+ ToggleCommand.swapToPickBlockToggled = getBoolean("toggles", "PickBlock");
// Puzzle Solvers
ToggleCommand.threeManToggled = getBoolean("toggles", "ThreeManPuzzle");
ToggleCommand.oruoToggled = getBoolean("toggles", "OruoPuzzle");
@@ -449,10 +468,11 @@ public class ConfigHandler {
ToggleCommand.startsWithToggled = getBoolean("toggles", "StartsWithTerminal");
ToggleCommand.selectAllToggled = getBoolean("toggles", "SelectAllTerminal");
ToggleCommand.itemFrameOnSeaLanternsToggled = getBoolean("toggles", "IgnoreItemFrameOnSeaLanterns");
+ // Experiment Solvers
ToggleCommand.ultrasequencerToggled = getBoolean("toggles", "UltraSequencer");
ToggleCommand.chronomatronToggled = getBoolean("toggles", "Chronomatron");
ToggleCommand.superpairsToggled = getBoolean("toggles", "Superpairs");
- ToggleCommand.swapToPickBlockInExperimentsToggled = getBoolean("toggles", "PickBlockInExperiments");
+ ToggleCommand.hideTooltipsInExperimentAddonsToggled = getBoolean("toggles", "HideTooltipsInExperimentAddons");
String onlySlayer = getString("toggles", "BlockSlayer");
if (!onlySlayer.equals("")) {
@@ -640,6 +660,8 @@ public class ConfigHandler {
MoveCommand.cakeTimerXY[1] = getInt("locations", "cakeTimerY");
MoveCommand.skillTrackerXY[0] = getInt("locations", "skillTrackerX");
MoveCommand.skillTrackerXY[1] = getInt("locations", "skillTrackerY");
+ MoveCommand.waterAnswerXY[0] = getInt("locations", "waterAnswerX");
+ MoveCommand.waterAnswerXY[1] = getInt("locations", "waterAnswerY");
ScaleCommand.coordsScale = getDouble("scales", "coordsScale");
ScaleCommand.displayScale = getDouble("scales", "displayScale");
@@ -648,7 +670,8 @@ public class ConfigHandler {
ScaleCommand.lividHpScale = getDouble("scales", "lividHpScale");
ScaleCommand.cakeTimerScale = getDouble("scales", "cakeTimerScale");
ScaleCommand.skillTrackerScale = getDouble("scales", "skillTrackerScale");
-
+ ScaleCommand.waterAnswerScale = getDouble("scales", "waterAnswerScale");
+
DankersSkyblockMod.MAIN_COLOUR = getString("colors", "main");
DankersSkyblockMod.SECONDARY_COLOUR = getString("colors", "secondary");
DankersSkyblockMod.DELIMITER_COLOUR = getString("colors", "delimiter");
@@ -664,6 +687,17 @@ public class ConfigHandler {
DankersSkyblockMod.TRIVIA_WRONG_ANSWER_COLOUR = getString("colors", "triviaWrongAnswer");
DankersSkyblockMod.LOWEST_BLAZE_COLOUR = getInt("colors", "blazeLowest");
DankersSkyblockMod.HIGHEST_BLAZE_COLOUR = getInt("colors", "blazeHighest");
+ DankersSkyblockMod.PET_1_TO_9 = getInt("colors", "pet1To9");
+ DankersSkyblockMod.PET_10_TO_19 = getInt("colors", "pet10To19");
+ DankersSkyblockMod.PET_20_TO_29 = getInt("colors", "pet20To29");
+ DankersSkyblockMod.PET_30_TO_39 = getInt("colors", "pet30To39");
+ DankersSkyblockMod.PET_40_TO_49 = getInt("colors", "pet40To49");
+ DankersSkyblockMod.PET_50_TO_59 = getInt("colors", "pet50To59");
+ DankersSkyblockMod.PET_60_TO_69 = getInt("colors", "pet60To69");
+ DankersSkyblockMod.PET_70_TO_79 = getInt("colors", "pet70To79");
+ DankersSkyblockMod.PET_80_TO_89 = getInt("colors", "pet80To89");
+ DankersSkyblockMod.PET_90_TO_99 = getInt("colors", "pet90To99");
+ DankersSkyblockMod.PET_100 = getInt("colors", "pet100");
}
}
diff --git a/src/main/java/me/Danker/utils/Utils.java b/src/main/java/me/Danker/utils/Utils.java
index e0a7454..e4f7873 100644
--- a/src/main/java/me/Danker/utils/Utils.java
+++ b/src/main/java/me/Danker/utils/Utils.java
@@ -64,7 +64,7 @@ public class Utils {
}
public static String returnGoldenEnchants(String line) {
- Matcher matcher = DankersSkyblockMod.pattern.matcher(line);
+ Matcher matcher = DankersSkyblockMod.t6EnchantPattern.matcher(line);
StringBuffer out = new StringBuffer();
while (matcher.find()) {
@@ -103,16 +103,21 @@ public class Utils {
int height = scaledResolution.getScaledHeight();
int width = scaledResolution.getScaledWidth();
- int textLength = mc.fontRendererObj.getStringWidth(text);
-
- double scale = 4;
- if (textLength * scale > (width * 0.9F)) {
- scale = (width * 0.9F) / (float) textLength;
+ int drawHeight = 0;
+ String[] splitText = text.split("\n");
+ for (String title : splitText) {
+ int textLength = mc.fontRendererObj.getStringWidth(title);
+
+ double scale = 4;
+ if (textLength * scale > (width * 0.9F)) {
+ scale = (width * 0.9F) / (float) textLength;
+ }
+
+ int titleX = (int) ((width / 2) - (textLength * scale / 2));
+ int titleY = (int) ((height * 0.45) / scale) + (int) (drawHeight * scale);
+ new TextRenderer(mc, title, titleX, titleY, scale);
+ drawHeight += mc.fontRendererObj.FONT_HEIGHT;
}
-
- int titleX = (int) ((width / 2) - (textLength * scale / 2));
- int titleY = (int) ((height * 0.45) / scale);
- new TextRenderer(mc, text, titleX, titleY, scale);
}
public static void checkForSkyblock() {
@@ -275,7 +280,7 @@ public class Utils {
GlStateManager.disableAlpha();
GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
GL11.glLineWidth(2);
- GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue()/ 255f, colour.getAlpha() / 255f);
+ GlStateManager.color(colour.getRed() / 255f, colour.getGreen() / 255f, colour.getBlue() / 255f, colour.getAlpha() / 255f);
worldRenderer.begin(GL11.GL_LINE_STRIP, DefaultVertexFormats.POSITION);
worldRenderer.pos(pos1.xCoord, pos1.yCoord, pos1.zCoord).endVertex();