diff options
Diffstat (limited to 'src/main/java/me/Danker/utils/Utils.java')
-rw-r--r-- | src/main/java/me/Danker/utils/Utils.java | 55 |
1 files changed, 48 insertions, 7 deletions
diff --git a/src/main/java/me/Danker/utils/Utils.java b/src/main/java/me/Danker/utils/Utils.java index 67f8439..ba01071 100644 --- a/src/main/java/me/Danker/utils/Utils.java +++ b/src/main/java/me/Danker/utils/Utils.java @@ -1,6 +1,7 @@ package me.Danker.utils; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.regex.Matcher; @@ -12,20 +13,26 @@ import me.Danker.handlers.TextRenderer; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.gui.inventory.GuiChest; +import net.minecraft.client.network.NetworkPlayerInfo; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StringUtils; public class Utils { public static boolean inSkyblock = false; static int[] skillXPPerLevel = {0, 50, 125, 200, 300, 500, 750, 1000, 1500, 2000, 3500, 5000, 7500, 10000, 15000, 20000, 30000, 50000, - 75000, 100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000, 1100000, - 1200000, 1300000, 1400000, 1500000, 1600000, 1700000, 1800000, 1900000, 2000000, 2100000, 2200000, - 2300000, 2400000, 2500000, 2600000, 2750000, 2900000, 3100000, 3400000, 3700000, 4000000}; + 75000, 100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000, 1100000, + 1200000, 1300000, 1400000, 1500000, 1600000, 1700000, 1800000, 1900000, 2000000, 2100000, 2200000, + 2300000, 2400000, 2500000, 2600000, 2750000, 2900000, 3100000, 3400000, 3700000, 4000000}; + static int[] dungeonsXPPerLevel = {0, 50, 75, 110, 160, 230, 330, 470, 670, 950, 1340, 1890, 2665, 3760, 5260, 7380, 10300, 14400, + 20000, 27600, 38000, 52500, 71500, 97000, 132000, 180000, 243000, 328000, 445000, 600000, 800000, + 1065000, 1410000, 1900000, 2500000, 3300000, 4300000, 5600000, 7200000, 9200000, 12000000, 15000000, + 19000000, 24000000, 30000000, 38000000, 48000000, 60000000, 75000000, 93000000, 116250000}; + static int[] expertiseKills = {50, 100, 250, 500, 1000, 2500, 5500, 10000, 15000}; public static int getItems(String item) { Minecraft mc = Minecraft.getMinecraft(); @@ -59,10 +66,11 @@ public class Utils { public static List<String> getMatchingPlayers(String arg) { List<String> matchingPlayers = new ArrayList<>(); - List<EntityPlayer> players = Minecraft.getMinecraft().theWorld.playerEntities; + Collection<NetworkPlayerInfo> players = Minecraft.getMinecraft().getNetHandler().getPlayerInfoMap(); - for (EntityPlayer player : players) { - String playerName = player.getName(); + for (NetworkPlayerInfo player : players) { + String playerName = player.getGameProfile().getName(); + if (playerName.startsWith("!")) continue; // New tablist if (playerName.toLowerCase().startsWith(arg.toLowerCase())) { matchingPlayers.add(playerName); } @@ -187,4 +195,37 @@ public class Utils { return 50D; } + public static double xpToDungeonsLevel(double xp) { + for (int i = 0, xpAdded = 0; i < dungeonsXPPerLevel.length; i++) { + xpAdded += dungeonsXPPerLevel[i]; + if (xp < xpAdded) { + double level = (i - 1) + (xp - (xpAdded - dungeonsXPPerLevel[i])) / dungeonsXPPerLevel[i]; + return (double) Math.round(level * 100) / 100; + } + } + return 50D; + } + + public static int expertiseKillsLeft(int kills) { + for (int i = 0; i < expertiseKills.length; i++) { + if (kills < expertiseKills[i]) { + return expertiseKills[i] - kills; + } + } + return -1; + } + + public static int getPastXpEarned(int currentLevelXp) { + if (currentLevelXp == 0) return 55172425; + for (int i = 1, xpAdded = 0; i < skillXPPerLevel.length; i++) { + xpAdded += skillXPPerLevel[i - 1]; + if (currentLevelXp == skillXPPerLevel[i]) return xpAdded; + } + return 0; + } + + public static String getColouredBoolean(boolean bool) { + return bool ? EnumChatFormatting.GREEN + "On" : EnumChatFormatting.RED + "Off"; + } + } |