diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui')
16 files changed, 11615 insertions, 10125 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java index 584f6bf7..8996dc7a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/AccessoryBagOverlay.java @@ -41,690 +41,940 @@ import java.util.regex.Pattern; import static io.github.moulberry.notenoughupdates.util.GuiTextures.accessory_bag_overlay; public class AccessoryBagOverlay { - private static final int TAB_BASIC = 0; - private static final int TAB_TOTAL = 1; - private static final int TAB_BONUS = 2; - private static final int TAB_DUP = 3; - private static final int TAB_MISSING = 4; - private static final int TAB_OPTIMIZER = 5; - - private static final ItemStack[] TAB_STACKS = new ItemStack[]{ - Utils.createItemStack(Items.dye, EnumChatFormatting.DARK_AQUA + "Basic Information", - 10, EnumChatFormatting.GREEN + "- Talis count by rarity"), - Utils.createItemStack(Items.diamond_sword, EnumChatFormatting.DARK_AQUA + "Total Stat Bonuses", - 0), - Utils.createItemStack(Item.getItemFromBlock(Blocks.anvil), EnumChatFormatting.DARK_AQUA + "Total Stat Bonuses (from reforges)", - 0), - Utils.createItemStack(Items.dye, EnumChatFormatting.DARK_AQUA + "Duplicates", - 8), - Utils.createItemStack(Item.getItemFromBlock(Blocks.barrier), EnumChatFormatting.DARK_AQUA + "Missing", - 0), - Utils.createItemStack(Item.getItemFromBlock(Blocks.redstone_block), EnumChatFormatting.DARK_AQUA + "Optimizer", - 0), - }; - - private static int currentTab = TAB_BASIC; - - public static boolean mouseClick() { - if (Minecraft.getMinecraft().currentScreen instanceof GuiChest) { - GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen; - ContainerChest cc = (ContainerChest) eventGui.inventorySlots; - String containerName = cc.getLowerChestInventory().getDisplayName().getUnformattedText(); - if (!containerName.trim().startsWith("Accessory Bag")) { - return false; - } - } else { - return false; - } - - if (!Mouse.getEventButtonState()) return false; - try { - ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft()); - - int width = scaledResolution.getScaledWidth(); - int height = scaledResolution.getScaledHeight(); - - int mouseX = Mouse.getX() / scaledResolution.getScaleFactor(); - int mouseY = height - Mouse.getY() / scaledResolution.getScaleFactor(); - - int xSize = (int) Utils.getField(GuiContainer.class, Minecraft.getMinecraft().currentScreen, "xSize", "field_146999_f"); - int ySize = (int) Utils.getField(GuiContainer.class, Minecraft.getMinecraft().currentScreen, "ySize", "field_147000_g"); - int guiLeft = (int) Utils.getField(GuiContainer.class, Minecraft.getMinecraft().currentScreen, "guiLeft", "field_147003_i"); - int guiTop = (int) Utils.getField(GuiContainer.class, Minecraft.getMinecraft().currentScreen, "guiTop", "field_147009_r"); - - if (mouseX < guiLeft + xSize + 3 || mouseX > guiLeft + xSize + 80 + 28) return false; - if (mouseY < guiTop || mouseY > guiTop + 166) return false; - - if (mouseX > guiLeft + xSize + 83 && mouseY < guiTop + 20 * TAB_MISSING + 22) { - currentTab = (mouseY - guiTop) / 20; - if (currentTab < 0) currentTab = 0; - if (currentTab > TAB_MISSING) currentTab = TAB_MISSING; - } - - if (currentTab == TAB_OPTIMIZER) { - int x = guiLeft + xSize + 3; - int y = guiTop; - - if (mouseY > y + 92 && mouseY < y + 103) { - if (mouseX > x + 5 && mouseX < x + 75) { - mainWeapon = (int) Math.floor((mouseX - x - 5) / 70f * 9); - if (mainWeapon < 1) { - mainWeapon = 1; - } else if (mainWeapon > 9) { - mainWeapon = 9; - } - } - } - - if (mouseX > x + 5 && mouseX < x + 35 || mouseX > x + 45 && mouseX < x + 75) { - boolean set = mouseX > x + 5 && mouseX < x + 35; - - if (mouseY > y + 32 && mouseY < y + 43) { - forceCC = set; - } else if (mouseY > y + 52 && mouseY < y + 63) { - forceAS = set; - } else if (mouseY > y + 72 && mouseY < y + 83) { - useGodPot = set; - } else if (mouseY > y + 92 && mouseY < y + 103) { - allowShaded = set; - } - } - } - - return true; - } catch (Exception e) { - return false; - } - } - - public static void resetCache() { - accessoryStacks = new HashSet<>(); - pagesVisited = new HashSet<>(); - talismanCountRarity = null; - totalStats = null; - reforgeStats = null; - duplicates = null; - missing = null; - } - - private static Set<ItemStack> accessoryStacks = new HashSet<>(); - private static Set<Integer> pagesVisited = new HashSet<>(); - - public static void renderVisitOverlay(int x, int y) { - Utils.drawStringCenteredScaledMaxWidth("Please visit all", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 78, true, 70, -1); - Utils.drawStringCenteredScaledMaxWidth("pages of the bag", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 86, true, 70, -1); - } - - private static TreeMap<Integer, Integer> talismanCountRarity = null; - - public static void renderBasicOverlay(int x, int y) { - if (talismanCountRarity == null) { - talismanCountRarity = new TreeMap<>(); - for (ItemStack stack : accessoryStacks) { - int rarity = getRarity(stack); - if (rarity >= 0) { - talismanCountRarity.put(rarity, talismanCountRarity.getOrDefault(rarity, 0) + 1); - } - } - } - - Utils.drawStringCenteredScaledMaxWidth("# By Rarity", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - - int yIndex = 0; - for (Map.Entry<Integer, Integer> entry : talismanCountRarity.descendingMap().entrySet()) { - String rarityName = Utils.rarityArrC[entry.getKey()]; - Utils.renderAlignedString(rarityName, EnumChatFormatting.WHITE.toString() + entry.getValue(), x + 5, y + 20 + 11 * yIndex, 70); - yIndex++; - } - } - - private static PlayerStats.Stats totalStats = null; - - public static void renderTotalStatsOverlay(int x, int y) { - if (totalStats == null) { - totalStats = new PlayerStats.Stats(); - for (ItemStack stack : accessoryStacks) { - if (stack != null) totalStats.add(getStatForItem(stack, STAT_PATTERN_MAP, true)); - } - } - - Utils.drawStringCenteredScaledMaxWidth("Total Stats", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - int yIndex = 0; - for (int i = 0; i < PlayerStats.defaultStatNames.length; i++) { - String statName = PlayerStats.defaultStatNames[i]; - String statNamePretty = PlayerStats.defaultStatNamesPretty[i]; - - int val = Math.round(totalStats.get(statName)); - - if (Math.abs(val) < 1E-5) continue; - - GlStateManager.color(1, 1, 1, 1); - GlStateManager.enableBlend(); - GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA); - Utils.renderAlignedString(statNamePretty, EnumChatFormatting.WHITE.toString() + val, x + 5, y + 20 + 11 * yIndex, 70); - - yIndex++; - } - } - - private static PlayerStats.Stats reforgeStats = null; - - public static void renderReforgeStatsOverlay(int x, int y) { - if (reforgeStats == null) { - reforgeStats = new PlayerStats.Stats(); - for (ItemStack stack : accessoryStacks) { - if (stack != null) reforgeStats.add(getStatForItem(stack, STAT_PATTERN_MAP_BONUS, false)); - } - } - - Utils.drawStringCenteredScaledMaxWidth("Reforge Stats", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - int yIndex = 0; - for (int i = 0; i < PlayerStats.defaultStatNames.length; i++) { - String statName = PlayerStats.defaultStatNames[i]; - String statNamePretty = PlayerStats.defaultStatNamesPretty[i]; - - int val = Math.round(reforgeStats.get(statName)); - - if (Math.abs(val) < 1E-5) continue; - - GlStateManager.color(1, 1, 1, 1); - GlStateManager.enableBlend(); - GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA); - Utils.renderAlignedString(statNamePretty, EnumChatFormatting.WHITE.toString() + val, x + 5, y + 20 + 11 * yIndex, 70); - - yIndex++; - } - } - - private static Set<ItemStack> duplicates = null; - - public static void renderDuplicatesOverlay(int x, int y) { - if (duplicates == null) { - JsonObject misc = Constants.MISC; - if (misc == null) { - Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - return; - } - JsonElement talisman_upgrades_element = misc.get("talisman_upgrades"); - if (talisman_upgrades_element == null) { - Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - return; - } - JsonObject talisman_upgrades = talisman_upgrades_element.getAsJsonObject(); - - duplicates = new HashSet<>(); - - Set<String> prevInternalnames = new HashSet<>(); - for (ItemStack stack : accessoryStacks) { - String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(stack); - - if (prevInternalnames.contains(internalname)) { - duplicates.add(stack); - continue; - } - prevInternalnames.add(internalname); - - if (talisman_upgrades.has(internalname)) { - JsonArray upgrades = talisman_upgrades.get(internalname).getAsJsonArray(); - for (ItemStack stack2 : accessoryStacks) { - if (stack != stack2) { - String internalname2 = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(stack2); - for (int j = 0; j < upgrades.size(); j++) { - String upgrade = upgrades.get(j).getAsString(); - if (internalname2.equals(upgrade)) { - duplicates.add(stack); - break; - } - } - } - } - } - } - } - if (duplicates.isEmpty()) { - Utils.drawStringCenteredScaledMaxWidth("No Duplicates", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - } else { - Utils.drawStringCenteredScaledMaxWidth("Duplicates: " + duplicates.size(), Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - - int yIndex = 0; - for (ItemStack duplicate : duplicates) { - String s = duplicate.getDisplayName(); - Utils.renderShadowedString(s, x + 40, y + 20 + 11 * yIndex, 70); - if (duplicates.size() > 11) { - if (++yIndex >= 10) break; - } else { - if (++yIndex >= 11) break; - } - } - - if (duplicates.size() > 11) { - Utils.drawStringCenteredScaledMaxWidth("+" + (duplicates.size() - 10) + " More", - Minecraft.getMinecraft().fontRendererObj, x + 40, y + 16 + 121, false, 70, - new Color(80, 80, 80).getRGB()); - } - } - } - - private static List<ItemStack> missing = null; - - public static void renderMissingOverlay(int x, int y) { - if (missing == null) { - JsonObject misc = Constants.MISC; - if (misc == null) { - Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - return; - } - JsonElement talisman_upgrades_element = misc.get("talisman_upgrades"); - if (talisman_upgrades_element == null) { - Utils.drawStringCenteredScaledMaxWidth("Duplicates: ERROR", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - return; - } - JsonObject talisman_upgrades = talisman_upgrades_element.getAsJsonObject(); - - missing = new ArrayList<>(); - - List<String> missingInternal = new ArrayList<>(); - for (Map.Entry<String, JsonObject> entry : NotEnoughUpdates.INSTANCE.manager.getItemInformation().entrySet()) { - if (entry.getValue().has("lore")) { - if (checkItemType(entry.getValue().get("lore").getAsJsonArray(), "ACCESSORY", "HATCCESSORY", "DUNGEON ACCESSORY") >= 0) { - missingInternal.add(entry.getKey()); - } - } - } - - for (ItemStack stack : accessoryStacks) { - String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalNameForItem(stack); - missingInternal.remove(internalname); - - for (Map.Entry<String, JsonElement> talisman_upgrade_element : talisman_upgrades.entrySet()) { - JsonArray upgrades = talisman_upgrade_element.getValue().getAsJsonArray(); - for (int j = 0; j < upgrades.size(); j++) { - String upgrade = upgrades.get(j).getAsString(); - if (internalname.equals(upgrade)) { - missingInternal.remove(talisman_upgrade_element.getKey()); - break; - } - } - } - } - - missingInternal.sort(getItemComparator()); - - Set<String> missingDisplayNames = new HashSet<>(); - for (String internal : missingInternal) { - boolean hasDup = false; - - if (talisman_upgrades.has(internal)) { - JsonArray upgrades = talisman_upgrades.get(internal).getAsJsonArray(); - for (int j = 0; j < upgrades.size(); j++) { - String upgrade = upgrades.get(j).getAsString(); - if (missingInternal.contains(upgrade)) { - hasDup = true; - break; - } - } - } - - ItemStack stack = NotEnoughUpdates.INSTANCE.manager.jsonToStack(NotEnoughUpdates.INSTANCE.manager.getItemInformation().get(internal), false); - - if (missingDisplayNames.contains(stack.getDisplayName())) continue; - missingDisplayNames.add(stack.getDisplayName()); - - if (hasDup) { - stack.setStackDisplayName(stack.getDisplayName() + "*"); - } - missing.add(stack); - } - } - if (missing.isEmpty()) { - Utils.drawStringCenteredScaledMaxWidth("No Missing", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - } else { - Utils.drawStringCenteredScaledMaxWidth("Missing: " + missing.size(), Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - - int yIndex = 0; - long currentTime = System.currentTimeMillis(); - int marqueeOffset = (int) (currentTime / 500 % 100); - for (ItemStack missingStack : missing) { - String s = missingStack.getDisplayName(); - - //int marueeOffset - //if(s.length()) { - - //} - - s = Minecraft.getMinecraft().fontRendererObj.trimStringToWidth(s, 70); - - String clean = StringUtils.cleanColourNotModifiers(s); - for (int xO = -1; xO <= 1; xO++) { - for (int yO = -1; yO <= 1; yO++) { - int col = 0xff202020; - //if(xO != 0 && yO != 0) col = 0xff252525; - Minecraft.getMinecraft().fontRendererObj.drawString(clean, x + 5 + xO, y + 20 + 11 * yIndex + yO, col, false); - } - } - Minecraft.getMinecraft().fontRendererObj.drawString(s, x + 5, y + 20 + 11 * yIndex, 0xffffff, false); - if (missing.size() > 11) { - if (++yIndex >= 10) break; - } else { - if (++yIndex >= 11) break; - } - } - - if (missing.size() > 11) { - Utils.drawStringCenteredScaledMaxWidth("Show All", - Minecraft.getMinecraft().fontRendererObj, x + 40, y + 16 + 121, false, 70, - new Color(80, 80, 80).getRGB()); - - final ScaledResolution scaledresolution = new ScaledResolution(Minecraft.getMinecraft()); - final int scaledWidth = scaledresolution.getScaledWidth(); - final int scaledHeight = scaledresolution.getScaledHeight(); - int mouseX = Mouse.getX() * scaledWidth / Minecraft.getMinecraft().displayWidth; - int mouseY = scaledHeight - Mouse.getY() * scaledHeight / Minecraft.getMinecraft().displayHeight - 1; - - if (mouseX > x && mouseX < x + 80 && - mouseY > y + 11 + 121 && mouseY < y + 21 + 121) { - List<String> text = new ArrayList<>(); - StringBuilder line = new StringBuilder(); - int leftMaxSize = 0; - int middleMaxSize = 0; - for (int i = 0; i < missing.size(); i += 3) { - leftMaxSize = Math.max(leftMaxSize, Minecraft.getMinecraft().fontRendererObj. - getStringWidth(missing.get(i).getDisplayName())); - } - for (int i = 1; i < missing.size(); i += 3) { - middleMaxSize = Math.max(middleMaxSize, Minecraft.getMinecraft().fontRendererObj. - getStringWidth(missing.get(i).getDisplayName())); - } - for (int i = 0; i < missing.size(); i++) { - if (i % 3 == 0 && i > 0) { - text.add(line.toString()); - line = new StringBuilder(); - } - StringBuilder name = new StringBuilder(missing.get(i).getDisplayName()); - int nameLen = Minecraft.getMinecraft().fontRendererObj.getStringWidth(name.toString()); - - int padSize = -1; - if (i % 3 == 0) padSize = leftMaxSize; - if (i % 3 == 1) padSize = middleMaxSize; - if (padSize > 0) { - float padNum = (padSize - nameLen) / 4.0f; - int remainder = (int) ((padNum % 1) * 4); - while (padNum >= 1) { - if (remainder > 0) { - name.append(EnumChatFormatting.BOLD).append(" "); - remainder--; - } else { - name.append(EnumChatFormatting.RESET).append(" "); - } - padNum--; - } - } - line.append('\u00A7').append(Utils.getPrimaryColourCode(missing.get(i).getDisplayName())); - if (i < 9) { - line.append((char) ('\u2776' + i)).append(' '); - } else { - line.append("\u2b24 "); - } - line.append(name); - if (i % 3 < 2) line.append(" "); - } - - GlStateManager.pushMatrix(); - GlStateManager.scale(2f / scaledresolution.getScaleFactor(), 2f / scaledresolution.getScaleFactor(), 1); - Utils.drawHoveringText(text, - mouseX * scaledresolution.getScaleFactor() / 2, - mouseY * scaledresolution.getScaleFactor() / 2, - scaledWidth * scaledresolution.getScaleFactor() / 2, - scaledHeight * scaledresolution.getScaleFactor() / 2, -1, Minecraft.getMinecraft().fontRendererObj); - GlStateManager.popMatrix(); - } - } - } - } - - private static boolean forceCC = false; - private static boolean forceAS = false; - private static boolean useGodPot = true; - private static boolean allowShaded = true; - private static int mainWeapon = 1; - - public static void renderOptimizerOverlay(int x, int y) { - Utils.drawStringCenteredScaledMaxWidth("Optimizer", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 12, false, 70, - new Color(80, 80, 80).getRGB()); - - int light = new Color(220, 220, 220).getRGB(); - int dark = new Color(170, 170, 170).getRGB(); - - Gui.drawRect(x + 5, y + 32, x + 35, y + 43, forceCC ? dark : light); - Gui.drawRect(x + 45, y + 32, x + 75, y + 43, forceCC ? light : dark); - - Gui.drawRect(x + 5, y + 52, x + 35, y + 63, forceAS ? dark : light); - Gui.drawRect(x + 45, y + 52, x + 75, y + 63, forceAS ? light : dark); - - Gui.drawRect(x + 5, y + 72, x + 35, y + 83, useGodPot ? dark : light); - Gui.drawRect(x + 45, y + 72, x + 75, y + 83, useGodPot ? light : dark); - - Gui.drawRect(x + 5, y + 92, x + 35, y + 103, allowShaded ? dark : light); - Gui.drawRect(x + 45, y + 92, x + 75, y + 103, allowShaded ? light : dark); - - Gui.drawRect(x + 5, y + 102, x + 75, y + 113, light); - Gui.drawRect(x + 5 + (int) ((mainWeapon - 1) / 9f * 70), y + 102, x + 5 + (int) (mainWeapon / 9f * 70), y + 113, dark); - - Utils.drawStringCenteredScaledMaxWidth("Force 100% CC", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 27, false, 70, - new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((forceCC ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES", - Minecraft.getMinecraft().fontRendererObj, x + 20, y + 37, - true, 30, new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((forceCC ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO", Minecraft.getMinecraft().fontRendererObj, x + 60, y + 37, - true, 30, new Color(80, 80, 80).getRGB()); - - Utils.drawStringCenteredScaledMaxWidth("Force 100% ATKSPEED", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 47, false, 70, - new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((forceAS ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES", Minecraft.getMinecraft().fontRendererObj, x + 20, y + 57, - true, 30, new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((forceAS ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO", Minecraft.getMinecraft().fontRendererObj, x + 60, y + 57, - true, 30, new Color(80, 80, 80).getRGB()); - - Utils.drawStringCenteredScaledMaxWidth("Use God Potion", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 67, false, 70, - new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((useGodPot ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES", Minecraft.getMinecraft().fontRendererObj, x + 20, y + 77, - true, 30, new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((useGodPot ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO", Minecraft.getMinecraft().fontRendererObj, x + 60, y + 77, - true, 30, new Color(80, 80, 80).getRGB()); - - Utils.drawStringCenteredScaledMaxWidth("Use God Potion", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 87, false, 70, - new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((allowShaded ? EnumChatFormatting.GREEN : EnumChatFormatting.GRAY) + "YES", - Minecraft.getMinecraft().fontRendererObj, x + 20, y + 97, - true, 30, new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaledMaxWidth((allowShaded ? EnumChatFormatting.GRAY : EnumChatFormatting.RED) + "NO", - Minecraft.getMinecraft().fontRendererObj, x + 60, y + 97, - true, 30, new Color(80, 80, 80).getRGB()); - - Utils.drawStringCenteredScaledMaxWidth("Main Weapon", Minecraft.getMinecraft().fontRendererObj, x + 40, y + 107, false, 70, - new Color(80, 80, 80).getRGB()); - Utils.drawStringCenteredScaled("1 2 3 4 5 6 7 8 9", - Minecraft.getMinecraft().fontRendererObj, x + 40, y + 117, - true, 70, new Color(80, 80, 80).getRGB()); - } - - private static Comparator<String> getItemComparator() { - return (o1, o2) -> { - float cost1; - JsonObject o1Auc = NotEnoughUpdates.INSTANCE.manager.auctionManager.getItemAuctionInfo(o1); - if (o1Auc != null && o1Auc.has("price")) { - cost1 = o1Auc.get("price").getAsFloat(); - } else { - APIManager.CraftInfo info = NotEnoughUpdates.INSTANCE.manager.auctionManager.getCraftCost(o1); - if (info != null) - cost1 = info.craftCost; - else - cost1 = 0; - } - float cost2; - JsonObject o2Auc = NotEnoughUpdates.INSTANCE.manager.auctionManager.getItemAuctionInfo(o2); - if (o2Auc != null && o2Auc.has("price")) { - cost2 = o2Auc.get("price").getAsFloat(); - } else { - APIManager.CraftInfo info = NotEnoughUpdates.INSTANCE.manager.auctionManager.getCraftCost(o2); - if (info != null) - cost2 = info.craftCost; - else - cost2 = 0; - } - - if (cost1 == -1 && cost2 == -1) return o1.compareTo(o2); - if (cost1 == -1) return 1; - if (cost2 == -1) return -1; - - if (cost1 < cost2) return -1; - if (cost1 > cost2) return 1; - - return o1.compareTo(o2); - }; - } - - private static boolean inAccessoryBag = false; - - public static boolean isInAccessoryBag() { - return inAccessoryBag; - } - - public static void renderOverlay() { - inAccessoryBag = false; - if (Minecraft.getMinecraft().currentScreen instanceof GuiChest && NEUEventListener.inventoryLoaded) { - GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen; - ContainerChest cc = (ContainerChest) eventGui.inventorySlots; - String containerName = cc.getLowerChestInventory().getDisplayName().getUnformattedText(); - if (containerName.trim().startsWith("Accessory Bag")) { - inAccessoryBag = true; - try { - int xSize = (int) Utils.getField(GuiContainer.class, eventGui, "xSize", "field_146999_f"); - int ySize = (int) Utils.getField(GuiContainer.class, eventGui, "ySize", "field_147000_g"); - int guiLeft = (int) Utils.getField(GuiContainer.class, eventGui, "guiLeft", "field_147003_i"); - int guiTop = (int) Utils.getField(GuiContainer.class, eventGui, "guiTop", "field_147009_r"); - - if (accessoryStacks.isEmpty()) { - for (ItemStack stack : Minecraft.getMinecraft().thePlayer.inventory.mainInventory) { - if (stack != null && isAccessory(stack)) { - accessoryStacks.add(stack); - } - } - } - - if (containerName.trim().contains("(")) { - String first = containerName.trim().split("\\(")[1].split("/")[0]; - Integer currentPageNumber = Integer.parseInt(first); - //System.out.println("current:"+currentPageNumber); - if (!pagesVisited.contains(currentPageNumber)) { - boolean hasStack = false; - if (Minecraft.getMinecraft().thePlayer.openContainer instanceof ContainerChest) { - IInventory inv = ((ContainerChest) Minecraft.getMinecraft().thePlayer.openContainer).getLowerChestInventory(); - for (int i = 0; i < inv.getSizeInventory(); i++) { - ItemStack stack = inv.getStackInSlot(i); - if (stack != null) { - hasStack = true; - if (isAccessory(stack)) { - accessoryStacks.add(stack); - } - } - } - } - - if (hasStack) pagesVisited.add(currentPageNumber); - } - - String second = containerName.trim().split("/")[1].split("\\)")[0]; - //System.out.println(second + ":" + pagesVisited.size()); - if (Integer.parseInt(second) > pagesVisited.size()) { - GlStateManager.color(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(accessory_bag_overlay); - Utils.drawTexturedRect(guiLeft + xSize + 3, guiTop, 80, 149, 0, 80 / 256f, 0, 149 / 256f, GL11.GL_NEAREST); - - renderVisitOverlay(guiLeft + xSize + 3, guiTop); - return; - } - } else if (pagesVisited.isEmpty()) { - boolean hasStack = false; - if (Minecraft.getMinecraft().thePlayer.openContainer instanceof ContainerChest) { - IInventory inv = ((ContainerChest) Minecraft.getMinecraft().thePlayer.openContainer).getLowerChestInventory(); - for (int i = 0; i < inv.getSizeInventory(); i++) { - ItemStack stack = inv.getStackInSlot(i); - if (stack != null) { - hasStack = true; - if (isAccessory(stack)) { - accessoryStacks.add(stack); - } - } - } - } - - if (hasStack) pagesVisited.add(1); - } - - GlStateManager.disableLighting(); - - for (int i = 0; i <= TAB_MISSING; i++) { - if (i != currentTab) { - GlStateManager.color(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(accessory_bag_overlay); - Utils.drawTexturedRect(guiLeft + xSize + 80, guiTop + 20 * i, 25, 22, - 80 / 256f, 105 / 256f, 0, 22 / 256f, GL11.GL_NEAREST); - Utils.drawItemStack(TAB_STACKS[i], guiLeft + xSize + 80 + 5, guiTop + 20 * i + 3); - } - } - - GlStateManager.color(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(accessory_bag_overlay); - Utils.drawTexturedRect(guiLeft + xSize + 3, guiTop, 80, 149, 0, 80 / 256f, 0, 149 / 256f, GL11.GL_NEAREST); - - if (pagesVisited.size() < 1) { - renderVisitOverlay(guiLeft + xSize + 3, guiTop); - return; - } - - Minecraft.getMinecraft().getTextureManager().bindTexture(accessory_bag_overlay); - Utils.drawTexturedRect(guiLeft + xSize + 80, guiTop + 20 * currentTab, 28, 22, - 80 / 256f, 108 / 256f, 22 / 256f, 44 / 256f, GL11.GL_NEAREST); - Utils.drawItemStack(TAB_STACKS[currentTab], guiLeft + xSize + 80 + 8, guiTop + 20 * currentTab + 3); - - switch (currentTab) { - case TAB_BASIC: - renderBasicOverlay(guiLeft + xSize + 3, guiTop); - return; - case TAB_TOTAL: - renderTotalStatsOverlay(guiLeft + xSize + 3, guiTop); - return; - case TAB_BONUS: - renderReforgeStatsOverlay(guiLeft + xSize + 3, guiTop); - return; - case TAB_DUP: - renderDuplicatesOverlay(guiLeft + xSize + 3, guiTop); - |
