diff options
author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2022-04-30 14:24:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-30 16:24:52 +0200 |
commit | 7243827ec602efa0d2386ab53a61472465e8555a (patch) | |
tree | f854d9ecddd27a200f3a91193448cfbf85303780 | |
parent | e6d58c7281375e8ca67b0e217e9c0eea2626ee19 (diff) | |
download | NotEnoughUpdates-7243827ec602efa0d2386ab53a61472465e8555a.tar.gz NotEnoughUpdates-7243827ec602efa0d2386ab53a61472465e8555a.tar.bz2 NotEnoughUpdates-7243827ec602efa0d2386ab53a61472465e8555a.zip |
made it so "pane gui scale" doesnt effect armour/pet huds (#117)
* made it so "pane gui scale" doesnt effect armour/pet huds ( i did not know that was a feature)
this did NOT take me 20 minutes to make this commit on the right branch
* = Updated the syntax for the /sthw command, putting name after the coordinates (@My-Name-Is-Jeff)
* deez nuts
* move equipment tooltips to the left
* move tooltip when rendering
fixes some opengl shenanigans when using GlTranslate
* import static
* i think the number 27 is cooler than 21 but its needed here
* fix pet tooltip when equipment is not cached
* added master star support to the search overlay (no texture rn cos lazy)
* Added 6-10 stars to the auction search overlay
i am not using the web editor
* texture - jani
* ➓/➓ pr adding numbers to /neurename
* ➓/➓ pr adding numbers 2.1.md
* neuec support to attributes (THIS DID NOT TAKE OVER AN HOUR)
* 2.1.md 🙂
* Added flares to tools itemtab / fixed todo move option not showing / some fixes for my heart
* fix normal keybinds not working in CalendarOverlay
* 2.1.md 🙂
* cobble pro time keeper
* added MAXED_ATTRIBUTE_SHARD
* Update 2.1.md
Co-authored-by: Lulonaut <lulonaut@tutanota.de>
Co-authored-by: jani270 <jani270@gmx.de>
18 files changed, 452 insertions, 340 deletions
diff --git a/Update Notes/2.1.md b/Update Notes/2.1.md index aa8cd3f2..935ca4f1 100644 --- a/Update Notes/2.1.md +++ b/Update Notes/2.1.md @@ -49,7 +49,7 @@ - Added an option to turn off showing next click in chronomatron - Turns off inv search mode after 2 minutes - Made /neustats modlist show normal /neustats if under 15 mods -- Added max enchant book to /neuec - Dokm +- Added max enchant book and max attribute shard to /neuec - Dokm - [Added bingo and Stranded profile icons to /pv](https://cdn.discordapp.com/attachments/832652653292027904/915844465372065842/unknown.png) - Added an icon if neu doesn't know about a gamemode in /pv - Fixed pet overlay not resetting pet when making new profile @@ -80,6 +80,9 @@ - Added optional radius argument for neupackdev subcommands. - whalker - Added tab completion to /neupackdev subcommands. - whalker - Made it if you hold shift in the enchant solvers it overrides prevent missclicks +- Added 6-10 stars to the auction search overlay +- Added 6-10 stars to /neucustomize +- Added support for attributes in neuec - Added Heavy Pearls to todo overlay - cobble8 ### **Bug Fixes:** - Fix wiki pages freezing the entire game - nea89 @@ -108,7 +111,7 @@ - Added checks for chat messages for dungeon win overlay - Fixed minion tiers crafted by coop members not showing up in /pv - Lulonaut - Fixed crash in /pv when the player had a pet that is not saved in the repo - Lulonaut -- Made it so you can close /et with your inventory keybind +- Fixed some vanilla Minecraft keybinds not working in NEU GUIs ### **Other:** - New icons was added in storage_icons.png - Moved the help icon in /neucustomize over a little diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java index f473a56f..d3efc06a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java @@ -1,63 +1,9 @@ package io.github.moulberry.notenoughupdates; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.ascending_overlay; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.close; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.descending_overlay; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.help; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.itemPaneTabArrow; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.item_haschild; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.item_mask; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_alphabetical; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_alphabetical_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_rarity; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_rarity_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_value; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.order_value_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.quickcommand_background; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.rightarrow; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.rightarrow_overlay; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.settings; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_accessory; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_accessory_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_all; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_all_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_armor; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_armor_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_mob; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_mob_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_pet; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_pet_active; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_tool; -import static io.github.moulberry.notenoughupdates.util.GuiTextures.sort_tool_active; - -import java.awt.Color; -import java.lang.reflect.InvocationTargetException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; -import java.util.UUID; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicReference; - import com.google.common.collect.Lists; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import org.lwjgl.input.Keyboard; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL14; -import org.lwjgl.util.vector.Vector2f; import io.github.moulberry.notenoughupdates.auction.CustomAHGui; import io.github.moulberry.notenoughupdates.core.BackgroundBlur; import io.github.moulberry.notenoughupdates.core.GuiScreenElementWrapper; @@ -75,6 +21,7 @@ import io.github.moulberry.notenoughupdates.miscfeatures.SunTzu; import io.github.moulberry.notenoughupdates.miscgui.GuiPriceGraph; import io.github.moulberry.notenoughupdates.options.NEUConfigEditor; import io.github.moulberry.notenoughupdates.util.Constants; +import io.github.moulberry.notenoughupdates.util.GuiTextures; import io.github.moulberry.notenoughupdates.util.LerpingFloat; import io.github.moulberry.notenoughupdates.util.NotificationHandler; import io.github.moulberry.notenoughupdates.util.SpecialColour; @@ -115,6 +62,30 @@ import net.minecraft.util.Matrix4f; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.client.ClientCommandHandler; +import org.lwjgl.input.Keyboard; +import org.lwjgl.input.Mouse; +import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GL14; +import org.lwjgl.util.vector.Vector2f; + +import java.awt.*; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; public class NEUOverlay extends Gui { private static final ResourceLocation SUPERGEHEIMNISVERMOGEN = new ResourceLocation( @@ -170,17 +141,27 @@ public class NEUOverlay extends Gui { private final String petRegex = ".*?;[0-5]$"; private final ResourceLocation[] sortIcons = new ResourceLocation[]{ - sort_all, sort_mob, sort_pet, sort_tool, sort_armor, sort_accessory + GuiTextures.sort_all, + GuiTextures.sort_mob, + GuiTextures.sort_pet, + GuiTextures.sort_tool, + GuiTextures.sort_armor, + GuiTextures.sort_accessory }; private final ResourceLocation[] sortIconsActive = new ResourceLocation[]{ - sort_all_active, sort_mob_active, sort_pet_active, sort_tool_active, sort_armor_active, sort_accessory_active + GuiTextures.sort_all_active, + GuiTextures.sort_mob_active, + GuiTextures.sort_pet_active, + GuiTextures.sort_tool_active, + GuiTextures.sort_armor_active, + GuiTextures.sort_accessory_active }; private final ResourceLocation[] orderIcons = new ResourceLocation[]{ - order_alphabetical, order_rarity, order_value + GuiTextures.order_alphabetical, GuiTextures.order_rarity, GuiTextures.order_value }; private final ResourceLocation[] orderIconsActive = new ResourceLocation[]{ - order_alphabetical_active, order_rarity_active, order_value_active + GuiTextures.order_alphabetical_active, GuiTextures.order_rarity_active, GuiTextures.order_value_active }; //Various constants used for GUI structure @@ -449,13 +430,13 @@ public class NEUOverlay extends Gui { if (!NotEnoughUpdates.INSTANCE.config.toolbar.enableSettingsButton) { return; } - Minecraft.getMinecraft().getTextureManager().bindTexture(quickcommand_background); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.quickcommand_background); GlStateManager.color(1, 1, 1, 1); Utils.drawTexturedRect(x, y, searchYSize + paddingUnscaled * 2, searchYSize + paddingUnscaled * 2, GL11.GL_NEAREST ); - Minecraft.getMinecraft().getTextureManager().bindTexture(settings); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.settings); GlStateManager.color(1f, 1f, 1f, 1f); Utils.drawTexturedRect((int) x + paddingUnscaled, (int) y + paddingUnscaled, searchYSize, searchYSize @@ -507,13 +488,13 @@ public class NEUOverlay extends Gui { return; } - Minecraft.getMinecraft().getTextureManager().bindTexture(quickcommand_background); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.quickcommand_background); GlStateManager.color(1, 1, 1, 1); Utils.drawTexturedRect(x, y, searchYSize + paddingUnscaled * 2, searchYSize + paddingUnscaled * 2, GL11.GL_NEAREST ); - Minecraft.getMinecraft().getTextureManager().bindTexture(help); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.help); GlStateManager.color(1f, 1f, 1f, 1f); Utils.drawTexturedRect((int) x + paddingUnscaled, (int) y + paddingUnscaled, getSearchBarYSize(), getSearchBarYSize() @@ -609,7 +590,7 @@ public class NEUOverlay extends Gui { tag.setString("qc_id", quickCommandStrSplit[0].toLowerCase().trim()); render.setTagCompound(tag); - Minecraft.getMinecraft().getTextureManager().bindTexture(quickcommand_background); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.quickcommand_background); GlStateManager.color(1, 1, 1, 1); Utils.drawTexturedRect(x, y, bigItemSize + paddingUnscaled * 2, bigItemSize + paddingUnscaled * 2, GL11.GL_NEAREST @@ -1378,7 +1359,8 @@ public class NEUOverlay extends Gui { "DUNGEON BOW", "DRILL", "GAUNTLET", - "LONGSWORD" + "LONGSWORD", + "DEPLOYABLE" ) >= 0; } else if (getSortMode() == SORT_MODE_ARMOR) { return checkItemType( @@ -1679,12 +1661,12 @@ public class NEUOverlay extends Gui { drawRect(leftSide - 1, top, leftSide - 1 + buttonXSize, top + ySize, fg.getRGB()); GlStateManager.color(1f, 1f, 1f, 1f); - Minecraft.getMinecraft().getTextureManager().bindTexture(rightarrow); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.rightarrow); Utils.drawTexturedRect(leftSide - 1 + leftPressed, top + leftPressed, buttonXSize, ySize, 1, 0, 0, 1 ); - Minecraft.getMinecraft().getTextureManager().bindTexture(rightarrow_overlay); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.rightarrow_overlay); Utils.drawTexturedRect(leftSide - 1, top, buttonXSize, ySize, 1 - leftPressed, leftPressed, 1 - leftPressed, leftPressed @@ -1698,12 +1680,12 @@ public class NEUOverlay extends Gui { drawRect(rightSide + 1 - buttonXSize, top, rightSide + 1, top + ySize, fg.getRGB()); GlStateManager.color(1f, 1f, 1f, 1f); - Minecraft.getMinecraft().getTextureManager().bindTexture(rightarrow); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.rightarrow); Utils.drawTexturedRect(rightSide + 1 - buttonXSize + rightPressed, top + rightPressed, buttonXSize, ySize ); - Minecraft.getMinecraft().getTextureManager().bindTexture(rightarrow_overlay); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.rightarrow_overlay); Utils.drawTexturedRect(rightSide + 1 - buttonXSize, top, buttonXSize, ySize, 1 - rightPressed, rightPressed, 1 - rightPressed, rightPressed @@ -1879,7 +1861,6 @@ public class NEUOverlay extends Gui { return wardrobeOpen; } - private ItemStack getChestSlotsAsItemStack(int slot) { GuiScreen guiScreen = Minecraft.getMinecraft().currentScreen; if (guiScreen instanceof GuiChest) { @@ -1890,14 +1871,12 @@ public class NEUOverlay extends Gui { } } - private ItemStack getWardrobeSlot(int armourSlot) { if (isInNamedGui("Your Equipment")) { - return getChestSlotsAsItemStack(armourSlot); + return getChestSlotsAsItemStack(armourSlot); } else return null; } - public ItemStack slot1 = null; public ItemStack slot2 = null; public ItemStack slot3 = null; @@ -1944,228 +1923,6 @@ public class NEUOverlay extends Gui { Utils.drawTexturedRect((width - 64) / 2f, (height - 64) / 2f - 114, 64, 64, GL11.GL_LINEAR); GlStateManager.bindTexture(0); } - GuiScreen guiScreen = Minecraft.getMinecraft().currentScreen; - - if (NotEnoughUpdates.INSTANCE.config.customArmour.enableArmourHud && - NotEnoughUpdates.INSTANCE.config.misc.hidePotionEffect - && NotEnoughUpdates.INSTANCE.hasSkyblockScoreboard()) { - if (getWardrobeSlot(10) != null) { - slot1 = getWardrobeSlot(10); - slot2 = getWardrobeSlot(19); - slot3 = getWardrobeSlot(28); - slot4 = getWardrobeSlot(37); - } - if (guiScreen instanceof GuiInventory) { - renderingArmorHud = true; - - List<String> tooltipToDisplay = null; - if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 0) { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY); - } - if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 1) { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_GREY); - } - if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 2) { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_DARK); - } - if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 3) { - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3 && - NotEnoughUpdates.INSTANCE.config.petOverlay.petInvDisplay && petSlot != null) { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_TRANSPARENT_PET); - } else { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_TRANSPARENT); - } - } - if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 4) { - Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_FSR); - } - - GlStateManager.color(1, 1, 1, 1); - GL11.glTranslatef(0, 0, 401); - float yNumber = (float) (height - 167) / 2f; - Utils.drawTexturedRect((float) ((width - 224.1) / 2f), yNumber, 31, 86, GL11.GL_NEAREST); - GlStateManager.bindTexture(0); - - Utils.drawItemStack(slot1, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105)); - Utils.drawItemStack(slot2, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 18); - Utils.drawItemStack(slot3, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 36); - Utils.drawItemStack(slot4, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 54); - if (slot1 == null) { - Minecraft.getMinecraft().getTextureManager().bindTexture(QUESTION_MARK); - GlStateManager.color(1, 1, 1, 1); - Utils.drawTexturedRect(((width - 208) / 2f), ((height + 60) / 2f - 105), 16, 16, GL11.GL_NEAREST); - GlStateManager.bindTexture(0); - - tooltipToDisplay = Lists.newArrayList( - EnumChatFormatting.RED + "Warning", - EnumChatFormatting.GREEN + "You need to open /equipment", - EnumChatFormatting.GREEN + "To cache your armour" - ); - if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { - if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 70 && - NotEnoughUpdates.INSTANCE.config.customArmour.sendWardrobeCommand) { - if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { - if (Mouse.getEventButtonState()) { - if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/equipment") == - 0) { - NotEnoughUpdates.INSTANCE.sendChatMessage("/equipment"); - } - } - } - } - if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 16) { - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - GL11.glTranslatef(0, 0, -401); - } - } - - } - if (slot1 != null && slot2 != null && slot3 != null && slot4 != null) { - if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { - if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 70 && - NotEnoughUpdates.INSTANCE.config.customArmour.sendWardrobeCommand) { - if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { - if (Mouse.getEventButtonState()) { - if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/equipment") == - 0) { - NotEnoughUpdates.INSTANCE.sendChatMessage("/equipment"); - } - } - } - } - //top slot - if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 16) { - tooltipToDisplay = slot1.getTooltip(Minecraft.getMinecraft().thePlayer, false); - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - tooltipToDisplay = null; - GL11.glTranslatef(0, 0, -401); - } - if (mouseY >= ((height + 60) / 2f - 105) + 18 && mouseY <= ((height + 60) / 2f - 105) + 34) { - tooltipToDisplay = slot2.getTooltip(Minecraft.getMinecraft().thePlayer, false); - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - tooltipToDisplay = null; - GL11.glTranslatef(0, 0, -401); - } - if (mouseY >= ((height + 60) / 2f - 105) + 36 && mouseY <= ((height + 60) / 2f - 105) + 52) { - tooltipToDisplay = slot3.getTooltip(Minecraft.getMinecraft().thePlayer, false); - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - tooltipToDisplay = null; - GL11.glTranslatef(0, 0, -401); - } - if (mouseY >= ((height + 60) / 2f - 105) + 54 && mouseY <= ((height + 60) / 2f - 105) + 70) { - tooltipToDisplay = slot4.getTooltip(Minecraft.getMinecraft().thePlayer, false); - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - tooltipToDisplay = null; - GL11.glTranslatef(0, 0, -401); - } - } - GL11.glTranslatef(0, 0, -401); - } - } - } - if (PetInfoOverlay.getCurrentPet() != null) { - if (NotEnoughUpdates.INSTANCE.config.petOverlay.petInvDisplay - && (NotEnoughUpdates.INSTANCE.manager - .jsonToStack(NotEnoughUpdates.INSTANCE.manager - .getItemInformation() - .get(PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)) - .hasDisplayName() - || NotEnoughUpdates.INSTANCE.manager - .jsonToStack(NotEnoughUpdates.INSTANCE.manager - .getItemInformation() - .get(PetInfoOverlay.getCurrentPet().petType + ";" + (PetInfoOverlay.getCurrentPet().rarity.petId - 1))) - .hasDisplayName()) - && NotEnoughUpdates.INSTANCE.config.misc.hidePotionEffect && - NotEnoughUpdates.INSTANCE.hasSkyblockScoreboard()) { - if (!NotEnoughUpdates.INSTANCE.manager - .jsonToStack( - NotEnoughUpdates.INSTANCE.manager - .getItemInformation() - .get(PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)) - .hasDisplayName()) { - petSlot = NotEnoughUpdates.INSTANCE.manager.jsonToStack( - NotEnoughUpdates.INSTANCE.manager.getItemInformation().get( - PetInfoOverlay.getCurrentPet().petType + ";" + (PetInfoOverlay.getCurrentPet().rarity.petId - 1))); - } else { - petSlot = NotEnoughUpdates.INSTANCE.manager.jsonToStack( - NotEnoughUpdates.INSTANCE.manager.getItemInformation().get( - PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)); - } - petSlot.getTagCompound().setBoolean("NEUPETINVDISPLAY", true); - petSlot.getTagCompound().setBoolean( - "NEUHIDEPETTOOLTIP", - NotEnoughUpdates.INSTANCE.config.petOverlay.hidePetTooltip - ); - ItemStack petInfo = petSlot; - - if (guiScreen instanceof GuiInventory) { - GL11.glTranslatef(0, 0, 401); - if (!NotEnoughUpdates.INSTANCE.config.customArmour.enableArmourHud) { - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 0) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 1) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_GREY); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 2) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_DARK); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_TRANSPARENT); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 4) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_FSR); - } - } else { - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 0) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 1) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_GREY); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 2) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_DARK); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_TRANSPARENT); - } - if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 4) { - Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_FSR); - } - } - - GlStateManager.color(1, 1, 1, 1); - float yNumber = (float) (height - 23) / 2f; - Utils.drawTexturedRect((float) ((width - 224.1) / 2f), yNumber, 31, 32, GL11.GL_NEAREST); - GlStateManager.bindTexture(0); - - Utils.drawItemStack(petInfo, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 72); - renderingPetHud = true; - - List<String> tooltipToDisplay = null; - if (petInfo != null) { - if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { - if (mouseY >= ((height + 60) / 2f - 105) + 72 && mouseY <= ((height + 60) / 2f - 105) + 88 && - NotEnoughUpdates.INSTANCE.config.petOverlay.sendPetsCommand) { - if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { - if (Mouse.getEventButtonState()) { - if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/pets") == - 0) { - NotEnoughUpdates.INSTANCE.sendChatMessage("/pets"); - } - } - } - tooltipToDisplay = petInfo.getTooltip(Minecraft.getMinecraft().thePlayer, false); - Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); - tooltipToDisplay = null; - GL11.glTranslatef(0, 0, -80); - } - } - - } - } - } - } SunTzu.setEnabled(textField.getText().toLowerCase().startsWith("potato")); @@ -2239,7 +1996,7 @@ public class NEUOverlay extends Gui { //Tab if (NotEnoughUpdates.INSTANCE.config.itemlist.tabOpen) { - Minecraft.getMinecraft().getTextureManager().bindTexture(itemPaneTabArrow); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.itemPaneTabArrow); GlStateManager.color(1f, 1f, 1f, 0.3f); Utils.drawTexturedRect(width - itemPaneTabOffset.getValue() * 64 / 20f, height / 2f - 32, 64, 64); GlStateManager.bindTexture(0); @@ -2301,8 +2058,8 @@ public class NEUOverlay extends Gui { Utils.drawTexturedRect(orderIconX, iconTop, scaledITEM_SIZE, scaledITEM_SIZE, 0, 1, 0, 1, GL11.GL_NEAREST); Minecraft.getMinecraft().getTextureManager().bindTexture(getCompareAscending().get(i) - ? ascending_overlay - : descending_overlay); + ? GuiTextures.ascending_overlay + : GuiTextures.descending_overlay); GlStateManager.color(1f, 1f, 1f, 1f); Utils.drawTexturedRect(orderIconX, iconTop, scaledITEM_SIZE, scaledITEM_SIZE, 0, 1, 0, 1, GL11.GL_NEAREST); GlStateManager.bindTexture(0); @@ -2486,7 +2243,7 @@ public class NEUOverlay extends Gui { activeInfoPane.render(width, height, bg, fg, Utils.peekGuiScale(), mouseX, mouseY); GlStateManager.color(1f, 1f, 1f, 1f); - Minecraft.getMinecraft().getTextureManager().bindTexture(close); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.close); Utils.drawTexturedRect(rightSide - getBoxPadding() - 8, getBoxPadding() - 8, 16, 16); GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0); } @@ -2532,7 +2289,7 @@ public class NEUOverlay extends Gui { GlStateManager.enableAlpha(); GlStateManager.alphaFunc(516, 0.1F); GlStateManager.disableLighting(); - + renderInfoHuds(); Utils.pushGuiScale(-1); if (System.currentTimeMillis() - lastSearchMode > 120000 && @@ -2542,6 +2299,245 @@ public class NEUOverlay extends Gui { } } + void renderInfoHuds() { + FontRenderer fr = Minecraft.getMinecraft().fontRendererObj; + + Utils.resetGuiScale(); + Utils.pushGuiScale(Minecraft.getMinecraft().gameSettings.guiScale); + + int width = Utils.peekGuiScale().getScaledWidth(); + int height = Utils.peekGuiScale().getScaledHeight(); + int mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth; + int mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1; + GuiScreen guiScreen = Minecraft.getMinecraft().currentScreen; + + if (NotEnoughUpdates.INSTANCE.config.customArmour.enableArmourHud && + NotEnoughUpdates.INSTANCE.config.misc.hidePotionEffect + && NotEnoughUpdates.INSTANCE.hasSkyblockScoreboard()) { + if (getWardrobeSlot(10) != null) { + slot1 = getWardrobeSlot(10); + slot2 = getWardrobeSlot(19); + slot3 = getWardrobeSlot(28); + slot4 = getWardrobeSlot(37); + } + if (guiScreen instanceof GuiInventory) { + renderingArmorHud = true; + + List<String> tooltipToDisplay = null; + if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 0) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY); + } + if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 1) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_GREY); + } + if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 2) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_DARK); + } + if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 3) { + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3 && + NotEnoughUpdates.INSTANCE.config.petOverlay.petInvDisplay && petSlot != null) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_TRANSPARENT_PET); + } else { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_TRANSPARENT); + } + } + if (NotEnoughUpdates.INSTANCE.config.customArmour.colourStyle == 4) { + Minecraft.getMinecraft().getTextureManager().bindTexture(ARMOR_DISPLAY_FSR); + } + + GlStateManager.color(1, 1, 1, 1); + GL11.glTranslatef(0, 0, 401); + float yNumber = (float) (height - 167) / 2f; + Utils.drawTexturedRect((float) ((width - 224.1) / 2f), yNumber, 31, 86, GL11.GL_NEAREST); + GlStateManager.bindTexture(0); + + Utils.drawItemStack(slot1, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105)); + Utils.drawItemStack(slot2, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 18); + Utils.drawItemStack(slot3, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 36); + Utils.drawItemStack(slot4, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 54); + if (slot1 == null) { + Minecraft.getMinecraft().getTextureManager().bindTexture(QUESTION_MARK); + GlStateManager.color(1, 1, 1, 1); + Utils.drawTexturedRect(((width - 208) / 2f), ((height + 60) / 2f - 105), 16, 16, GL11.GL_NEAREST); + GlStateManager.bindTexture(0); + + tooltipToDisplay = Lists.newArrayList( + EnumChatFormatting.RED + "Warning", + EnumChatFormatting.GREEN + "You need to open /equipment", + EnumChatFormatting.GREEN + "To cache your armour" + ); + if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { + if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 70 && + NotEnoughUpdates.INSTANCE.config.customArmour.sendWardrobeCommand) { + if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { + if (Mouse.getEventButtonState()) { + if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/equipment") == + 0) { + NotEnoughUpdates.INSTANCE.sendChatMessage("/equipment"); + } + } + } + } + if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 16) { + Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); + } + } + GL11.glTranslatef(0, 0, -401); + } + if (slot1 != null && slot2 != null && slot3 != null && slot4 != null) { + if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { + if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 70 && + NotEnoughUpdates.INSTANCE.config.customArmour.sendWardrobeCommand) { + if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { + if (Mouse.getEventButtonState()) { + if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/equipment") == + 0) { + NotEnoughUpdates.INSTANCE.sendChatMessage("/equipment"); + } + } + } + } + //top slot + int tooltipXModifier = -175; + if (mouseY >= ((height + 60) / 2f - 105) && mouseY <= ((height + 60) / 2f - 105) + 16) { + tooltipToDisplay = slot1.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (shouldShowEquipmentTooltip(tooltipToDisplay)) { + Utils.drawHoveringText(tooltipToDisplay, mouseX + tooltipXModifier, mouseY, width, height, -1, fr); + } + } + if (mouseY >= ((height + 60) / 2f - 105) + 18 && mouseY <= ((height + 60) / 2f - 105) + 34) { + tooltipToDisplay = slot2.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (shouldShowEquipmentTooltip(tooltipToDisplay)) { + Utils.drawHoveringText(tooltipToDisplay, mouseX + tooltipXModifier, mouseY, width, height, -1, fr); + } + } + if (mouseY >= ((height + 60) / 2f - 105) + 36 && mouseY <= ((height + 60) / 2f - 105) + 52) { + tooltipToDisplay = slot3.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (shouldShowEquipmentTooltip(tooltipToDisplay)) { + Utils.drawHoveringText(tooltipToDisplay, mouseX + tooltipXModifier, mouseY, width, height, -1, fr); + } + } + if (mouseY >= ((height + 60) / 2f - 105) + 54 && mouseY <= ((height + 60) / 2f - 105) + 70) { + tooltipToDisplay = slot4.getTooltip(Minecraft.getMinecraft().thePlayer, false); + if (shouldShowEquipmentTooltip(tooltipToDisplay)) { + Utils.drawHoveringText(tooltipToDisplay, mouseX + tooltipXModifier, mouseY, width, height, -1, fr); + } + } + } + GL11.glTranslatef(0, 0, -401); + } + } + } + if (PetInfoOverlay.getCurrentPet() != null) { + if (NotEnoughUpdates.INSTANCE.config.petOverlay.petInvDisplay + && (NotEnoughUpdates.INSTANCE.manager + .jsonToStack(NotEnoughUpdates.INSTANCE.manager + .getItemInformation() + .get(PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)) + .hasDisplayName() + || NotEnoughUpdates.INSTANCE.manager + .jsonToStack(NotEnoughUpdates.INSTANCE.manager + .getItemInformation() + .get(PetInfoOverlay.getCurrentPet().petType + ";" + (PetInfoOverlay.getCurrentPet().rarity.petId - 1))) + .hasDisplayName()) + && NotEnoughUpdates.INSTANCE.config.misc.hidePotionEffect && + NotEnoughUpdates.INSTANCE.hasSkyblockScoreboard()) { + if (!NotEnoughUpdates.INSTANCE.manager + .jsonToStack( + NotEnoughUpdates.INSTANCE.manager + .getItemInformation() + .get(PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)) + .hasDisplayName()) { + petSlot = NotEnoughUpdates.INSTANCE.manager.jsonToStack( + NotEnoughUpdates.INSTANCE.manager.getItemInformation().get( + PetInfoOverlay.getCurrentPet().petType + ";" + (PetInfoOverlay.getCurrentPet().rarity.petId - 1))); + } else { + petSlot = NotEnoughUpdates.INSTANCE.manager.jsonToStack( + NotEnoughUpdates.INSTANCE.manager.getItemInformation().get( + PetInfoOverlay.getCurrentPet().petType + ";" + PetInfoOverlay.getCurrentPet().rarity.petId)); + } + if (petSlot == null) { + return; + } + petSlot.getTagCompound().setBoolean( + "NEUHIDEPETTOOLTIP", + NotEnoughUpdates.INSTANCE.config.petOverlay.hidePetTooltip + ); + ItemStack petInfo = petSlot; + + if (guiScreen instanceof GuiInventory) { + GL11.glTranslatef(0, 0, 401); + if (!NotEnoughUpdates.INSTANCE.config.customArmour.enableArmourHud) { + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 0) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 1) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_GREY); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 2) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_DARK); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_TRANSPARENT); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 4) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_DISPLAY_FSR); + } + } else { + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 0) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 1) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_GREY); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 2) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_DARK); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 3) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_TRANSPARENT); + } + if (NotEnoughUpdates.INSTANCE.config.petOverlay.colourStyle == 4) { + Minecraft.getMinecraft().getTextureManager().bindTexture(PET_ARMOR_DISPLAY_FSR); + } + } + + GlStateManager.color(1, 1, 1, 1); + float yNumber = (float) (height - 23) / 2f; + Utils.drawTexturedRect((float) ((width - 224.1) / 2f), yNumber, 31, 32, GL11.GL_NEAREST); + GlStateManager.bindTexture(0); + + Utils.drawItemStack(petInfo, (int) ((width - 208) / 2f), (int) ((height + 60) / 2f - 105) + 72); + renderingPetHud = true; + + List<String> tooltipToDisplay = null; + if (petInfo != null) { + if (mouseX >= ((width - 208) / 2f) && mouseX < ((width - 208) / 2f) + 16) { + if (mouseY >= ((height + 60) / 2f - 105) + 72 && mouseY <= ((height + 60) / 2f - 105) + 88 && + NotEnoughUpdates.INSTANCE.config.petOverlay.sendPetsCommand) { + if (Minecraft.getMinecraft().thePlayer.inventory.getItemStack() == null) { + if (Mouse.getEventButtonState()) { + if (ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/pets") == + 0) { + NotEnoughUpdates.INSTANCE.sendChatMessage("/pets"); + } + } + } + tooltipToDisplay = petInfo.getTooltip(Minecraft.getMinecraft().thePlayer, false); + Utils.drawHoveringText(tooltipToDisplay, mouseX - 200, mouseY, width, height, -1, fr); + GL11.glTranslatef(0, 0, -80); + } + } + + } + } + } + } + } + + private boolean shouldShowEquipmentTooltip(List<String> toolTip) { + return !toolTip.get(0).equals("§o§7Empty Equipment Slot§r"); + } + /** * Used in SettingsInfoPane to redraw the items when a setting changes. */ @@ -2753,7 +2749,7 @@ public class NEUOverlay extends Gui { return; } - Minecraft.getMinecraft().getTextureManager().bindTexture(item_mask); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.item_mask); if (getFavourites().contains(json.get("internalname").getAsString())) { if (NotEnoughUpdates.INSTANCE.config.itemlist.itemStyle == 0) { GlStateManager.color(fgFavourite2.getRed() / 255f, fgFavourite2.getGreen() / 255f, @@ -2835,7 +2831,7 @@ public class NEUOverlay extends Gui { GlStateManager.translate(0, 0, 50); if (searchedItemsSubgroup.containsKey(json.get("internalname").getAsString())) { - Minecraft.getMinecraft().getTextureManager().bindTexture(item_haschild); + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiTextures.item_haschild); GlStateManager.color(1, 1, 1, 1); Utils.drawTexturedRect(x - 1, y - 1, ITEM_SIZE + 2, ITEM_SIZE + 2, GL11.GL_NEAREST); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java index 51a4654c..f3d038e9 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/core/GuiElementTextField.java @@ -36,6 +36,7 @@ public class GuiElementTextField { private int y; private String prependText = ""; + private String masterStarUnicode = ""; private int customTextColour = 0xffffffff; private final GuiTextField textField = new GuiTextField(0, Minecraft.getMinecraft().fontRendererObj, @@ -395,6 +396,55 @@ public class GuiElementTextField { textField.setCursorPosition(pos + 1); } } + } else { + for (int i = 0; i < 10; i++) { + if (typedChar == Integer.toString(i + 1).charAt(0)) { + int pos = textField.getCursorPosition() - 2; + if (pos >= 0 && pos < textField.getText().length()) { + if (textField.getText().charAt(pos) == '*') { + switch (i) { + case 0: + masterStarUnicode = "\u278A"; + break; + case 1: + masterStarUnicode = "\u278B"; + break; + case 2: + masterStarUnicode = "\u278C"; + break; + case 3: + masterStarUnicode = "\u278D"; + break; + case 4: + masterStarUnicode = "\u278E"; + break; + case 5: + masterStarUnicode = "\u278F"; + break; + case 6: + masterStarUnicode = "\u2790"; + break; + case 7: + masterStarUnicode = "\u2791"; + break; + case 8: + masterStarUnicode = "\u2792"; + break; + case 9: + masterStarUnicode = "\u2793"; + break; + } + String before = textField.getText().substring(0, pos); + String after = ""; + if (pos + 2 < textField.getText().length()) { + after = textField.getText().substring(pos + 2); + } + textField.setText(before + masterStarUnicode + after); + textField.setCursorPosition(pos + 1); + } + } + } + } } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java index a00e7e8a..ab4e9dca 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java @@ -16,7 +16,6 @@ import io.github.moulberry.notenoughupdates.util.Constants; import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiChest; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.inventory.ContainerChest; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; @@ -36,8 +35,15 @@ import java.awt.*; import java.awt.datatransfer.StringSelection; import java.text.DecimalFormat; import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; -import java.util.*; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; @@ -90,10 +96,13 @@ public class ItemTooltipListener { "enchantments", 10 ); + boolean hasAttributes = event.itemStack.getTagCompound().getCompoundTag("ExtraAttributes").hasKey( + "attributes", + 10 + ); Set<String> enchantIds = new HashSet<>(); - if (hasEnchantments) - enchantIds = - event.itemStack.getTagCompound().getCompoundTag("ExtraAttributes").getCompoundTag("enchantments").getKeySet(); + if (hasEnchantments) enchantIds = event.itemStack.getTagCompound().getCompoundTag("ExtraAttributes").getCompoundTag( + "enchantments").getKeySet(); JsonObject enchantsConst = Constants.ENCHANTS; JsonArray allItemEnchs = null; @@ -348,6 +357,8 @@ public class ItemTooltipListener { } } } + } + if (hasEnchantments || hasAttributes) { for (String op : NotEnoughUpdates.INSTANCE.config.hidden.enchantColours) { List<String> colourOps = GuiEnchantColour.splitter.splitToList(op); String enchantName = GuiEnchantColour.getColourOpIndex(colourOps, 0); @@ -388,9 +399,10 @@ public class ItemTooltipListener { //9([a-zA-Z ]+?) ([0-9]+|(I|II|III|IV|V|VI|VII|VIII|IX|X))(,|$) Pattern pattern; try { - pattern = Pattern.compile("(\\u00A79|\\u00A7(9|l)\\u00A7d\\u00A7l)(?<enchantName>" + enchantName + ") " + - "(?<level>[0-9]+|(I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV|XVI|XVII|XVIII|XIX|XX))((\\u00A79)?,|( \\u00A78(?:,?[0-9]+)*)?$)"); - } catch (PatternSyntaxException e) { + pattern = Pattern.compile( + "(\\u00A7b|\\u00A79|\\u00A7(b|9|l)\\u00A7d\\u00A7l)(?<enchantName>" + enchantName + ") " + + "(?<level>[0-9]+|(I|II|III|IV|V|VI|VII|VIII|IX|X|XI|XII|XIII|XIV|XV|XVI|XVII|XVIII|XIX|XX))((\\u00A79)?,|( \\u00A78(?:,?[0-9]+)*)?$)"); + } catch (Exception e) { continue; } Matcher matcher = pattern.matcher(line); @@ -441,11 +453,16 @@ public class ItemTooltipListener { if (!colourCode.equals("z")) { line = line.replace("\u00A79" + enchantText, "\u00A7" + colourCode + extraMods + enchantText); + line = line.replace("\u00A7b" + enchantText, "\u00A7" + colourCode + extraMods + enchantText); line = line.replace( "\u00A79\u00A7d\u00A7l" + enchantText, "\u00A7" + colourCode + extraMods + enchantText ); line = line.replace( + "\u00A7b\u00A7d\u00A7l" + enchantText, + "\u00A7" + colourCode + extraMods + enchantText + ); + line = line.replace( "\u00A7l\u00A7d\u00A7l" + enchantText, "\u00A7" + colourCode + extraMods + enchantText ); @@ -781,7 +798,6 @@ public class ItemTooltipListener { /** * This method does the following: - * Move the pet inventory display tooltip to the left to avoid conflicts * Remove reforge stats for Legendary items from Hypixel if enabled * Show NBT data when holding LCONTROL */ @@ -789,10 +805,6 @@ public class ItemTooltipListener { public void onItemTooltip(ItemTooltipEvent event) { if (!neu.isOnSkyblock()) return; if (event.toolTip == null) return; - //Render the pet inventory display tooltip to the left to avoid things from other mods rendering over the tooltip - if (event.itemStack.getTagCompound() != null && event.itemStack.getTagCompound().getBoolean("NEUPETINVDISPLAY")) { - GlStateManager.translate(-200, 0, 0); - } if (event.toolTip.size() > 2 && NotEnoughUpdates.INSTANCE.config.tooltipTweaks.hideDefaultReforgeStats) { String secondLine = StringUtils.stripControlCodes(event.toolTip.get(1)); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java index a9cf44c4..06cf28e1 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/CalendarOverlay.java @@ -659,6 +659,8 @@ public class CalendarOverlay { } } } + } else { + Minecraft.getMinecraft().dispatchKeypresses(); } } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java index bd4bd680..4e865b28 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiEnchantColour.java @@ -66,7 +66,9 @@ public class GuiEnchantColour extends GuiScreen { private static final Pattern settingPattern = Pattern.compile(".*:[>=<]:[0-9]+:[a-zA-Z0-9]+(:[a-zA-Z0-9]+)?"); private ItemStack maxedBook; + private ItemStack maxedAttBook; private int maxedBookFound = 0; + private int maxedAttBookFound = 0; private List<String> getEnchantColours() { return NotEnoughUpdates.INSTANCE.config.hidden.enchantColours; @@ -227,13 +229,37 @@ public class GuiEnchantColour extends GuiScreen { if (maxedBookFound == 1) { Utils.drawItemStack(maxedBook, guiLeft + xSize + 3, guiTopSidebar - 34); } + if (maxedAttBookFound == 0) { + try { + if (NotEnoughUpdates.INSTANCE.manager.jsonToStack( + NotEnoughUpdates.INSTANCE.manager.getItemInformation().get("MAXED_ATTRIBUTE_SHARD")).hasDisplayName()) { + maxedAttBook = NotEnoughUpdates.INSTANCE.manager.jsonToStack(NotEnoughUpdates.INSTANCE.manager + .getItemInformation() + .get("MAXED_ATTRIBUTE_SHARD")); + maxedAttBookFound = 1; + } else { + maxedAttBookFound = 2; + } - if (mouseX >= guiLeft + xSize + 3 && mouseX < guiLeft + xSize + 19) { + } catch (Exception ignored) { + maxedAttBookFound = 2; + } + } + if (maxedAttBookFound == 1) { + Utils.drawItemStack(maxedAttBook, guiLeft + xSize + 3, guiTopSidebar - 52); + } + + if (mouseX >= guiLeft + xSize + 3 && mouseX < guiLeft + xSize + 39) { if (mouseY >= guiTopSidebar - 34 && mouseY <= guiTopSidebar - 18 && maxedBookFound == 1) { tooltipToDisplay = maxedBook.getTooltip(Minecraft.getMinecraft().thePlayer, false); Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); tooltipToDisplay = null; } + if (mouseY >= guiTopSidebar - 52 && mouseY <= guiTopSidebar - 34 && maxedAttBookFound == 1) { + tooltipToDisplay = maxedAttBook.getTooltip(Minecraft.getMinecraft().thePlayer, false); + Utils.drawHoveringText(tooltipToDisplay, mouseX, mouseY, width, height, -1, fr); + tooltipToDisplay = null; + } if (mouseY >= guiTopSidebar - 18 && mouseY <= guiTopSidebar - 2) { tooltipToDisplay = Lists.newArrayList( EnumChatFormatting.AQUA + "NEUEC Colouring Guide", diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java index 222a0f88..12d48991 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemCustomize.java @@ -199,6 +199,7 @@ public class GuiItemCustomize extends GuiScreen { EnumChatFormatting.GREEN + "", EnumChatFormatting.GREEN + "Type \"&&\" to use colour codes", EnumChatFormatting.GREEN + "Type \"**\" for \u272A", + EnumChatFormatting.GREEN + "Type \"*1-9\" for \u278A-\u2792", EnumChatFormatting.GREEN + "", EnumChatFormatting.GREEN + "Available colour codes:", Utils.chromaString("\u00B6z = Chroma"), diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java index d69eca82..03465db7 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java @@ -136,7 +136,7 @@ public class DungeonMapConfig { @Expose @ConfigOption( name = "Position", - desc = "The position of the map" + desc = "Change the position of the map" ) public Position dmPosition = new Position(10, 10); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java index 2fedf559..9298623b 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java @@ -242,7 +242,7 @@ public class ItemOverlays { @Expose @ConfigOption( name = "Bonemerang Overlay Position", - desc = "The position of the Bonemerang overlay." + desc = "Change the position of the Bonemerang overlay." ) @ConfigEditorButton( runnableId = 9, diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java index 385a3cc1..462fbd92 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java @@ -20,7 +20,7 @@ public class LocationEdit { @Expose @ConfigOption( name = "Edit Pet Info Position", - desc = "The position of the pet info overlay." + desc = "Change the position of the pet info overlay" ) @ConfigEditorButton( runnableId = 4, @@ -37,13 +37,12 @@ public class LocationEdit { runnableId = 5, buttonText = "Edit" ) - @ConfigAccordionId(id = 0) public Position todoPosition = new Position(100, 0); @Expose @ConfigOption( name = "Edit Bonemerang Overlay Position", - desc = "The position of the Bonemerang overlay." + desc = "Change the position of the Bonemerang overlay" ) @ConfigEditorButton( runnableId = 9, @@ -72,7 +71,7 @@ public class LocationEdit { @Expose @ConfigOption( name = "Edit Toolbar Positions", - desc = "Edit the position of the QuickCommands / Search Bar" + desc = "Change the position of the QuickCommands / Search Bar" ) @ConfigAccordionId(id = 1) @ConfigEditorButton(runnableId = 6, buttonText = "Edit") @@ -109,7 +108,7 @@ public class LocationEdit { @Expose @ConfigOption( name = "Edit Crystal Overlay Position", - desc = "Change the position of the Crystal Hollows Overlay." + desc = "Change the position of the Crystal Hollows Overlay" ) @ConfigEditorButton( runnableId = 10, @@ -121,7 +120,7 @@ public class LocationEdit { @Expose @ConfigOption( name = "Edit Fuel Bar Position", - desc = "Set the position of the drill fuel bar" + desc = "Change the position of the drill fuel bar" ) @ConfigEditorButton( runnableId = 2, diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java index 9ff88089..697cabf3 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java @@ -84,7 +84,7 @@ public class Mining { @Expose @ConfigOption( name = "Edit Fuel Bar Position", - desc = "Set the position of the drill fuel bar" + desc = "Change the position of the drill fuel bar" ) @ConfigEditorButton( runnableId = 2, diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java index 6f96e972..9cba8202 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java @@ -20,7 +20,7 @@ public class PetOverlay { @Expose @ConfigOption( name = "Edit Pet Info Position", - desc = "The position of the pet info." + desc = "Change the position of the pet info overlay" ) @ConfigEditorButton( runnableId = 4, diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java index ff1b94c5..741b57e5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java @@ -7,7 +7,7 @@ public class Toolbar { @Expose @ConfigOption( name = "Edit Toolbar Positions", - desc = "Edit the position of the QuickCommands / Search Bar" + desc = "Change the position of the QuickCommands / Search Bar" ) @ConfigEditorButton(runnableId = 6, buttonText = "Edit") public boolean positionButton = true; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java index 7281eecf..36b37766 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/AuctionSearchOverlay.java @@ -35,6 +35,7 @@ public class AuctionSearchOverlay { private static final ResourceLocation SEARCH_OVERLAY_TEXTURE_TAB_COMPLETED = new ResourceLocation( "notenoughupdates:auc_search/ah_search_overlay_tab_completed.png"); private static final ResourceLocation STAR = new ResourceLocation("notenoughupdates:auc_search/star.png"); + private static final ResourceLocation MASTER_STAR = new ResourceLocation("notenoughupdates:auc_search/master_star.png"); private static final ResourceLocation STAR_BOARD = new ResourceLocation("notenoughupdates:auc_search/star_board.png"); private static final GuiElementTextField textField = new GuiElementTextField("", 200, 20, 0); @@ -114,22 +115,26 @@ public class AuctionSearchOverlay { Utils.drawTexturedRect(width / 2 - 100, topY - 1, 203, h, 0, 203 / 512f, 0, h / 256f, GL11.GL_NEAREST); Minecraft.getMinecraft().getTextureManager().bindTexture(STAR_BOARD); - Utils.drawTexturedRect(width / 2 + 105, topY + 27, 55, 13, GL11.GL_NEAREST); + Utils.drawTexturedRect(width / 2 + 105, topY + 27, 105, 13, GL11.GL_NEAREST); Minecraft.getMinecraft().getTextureManager().bindTexture(STAR); GlStateManager.color(1, 1, 1, 1); - int stars = atLeast && selectedStars > 0 ? 5 : selectedStars; + int stars = atLeast && selectedStars > 0 ? 10 : selectedStars; for (int i = 0; i < stars; i++) { + if (i >= 5) { + Minecraft.getMinecraft().getTextureManager().bindTexture(MASTER_STAR); + GlStateManager.color(1, 1, 1, 1); + } if (i >= selectedStars) { GlStateManager.color(1, 1, 1, 0.3f); } Utils.drawTexturedRect(width / 2 + 108 + 10 * i, topY + 29, 9, 10, GL11.GL_NEAREST); } - Gui.drawRect(width / 2 + 106, topY + 42, width / 2 + 115, topY + 51, 0xffffffff); - Gui.drawRect(width / 2 + 107, topY + 43, width / 2 + 114, topY + 50, 0xff000000); - if (atLeast) Gui.drawRect(width / 2 + 108, topY + 44, width / 2 + 113, topY + 49, 0xffffffff); - Minecraft.getMinecraft().fontRendererObj.drawString("At Least?", width / 2 + 117, topY + 43, 0xffffff); + if (selectedStars < 6) Gui.drawRect(width / 2 + 106, topY + 42, width / 2 + 115, topY + 51, 0xffffffff); + if (selectedStars < 6) Gui.drawRect(width / 2 + 107, topY + 43, width / 2 + 114, topY + 50, 0xff000000); + if (atLeast && selectedStars < 6) Gui.drawRect(width / 2 + 108, topY + 44, width / 2 + 113, topY + 49, 0xffffffff); + if (selectedStars < 6) Minecraft.getMinecraft().fontRendererObj.drawString("At Least?", width / 2 + 117, topY + 43, 0xffffff); Minecraft.getMinecraft().fontRendererObj.drawString("Enter Query:", width / 2 - 100, topY - 10, 0xdddddd, true); @@ -507,10 +512,10 @@ public class AuctionSearchOverlay { topY = height / 2 - h / 2 + 5; } - if (Mouse.getEventButtonState() && mouseX > width / 2 + 105 && mouseX < width / 2 + 105 + 55 && + if (Mouse.getEventButtonState() && mouseX > width / 2 + 105 && mouseX < width / 2 + 105 + 105 && mouseY > topY + 27 && mouseY < topY + 40) { - int starClicked = 5; - for (int i = 1; i <= 5; i++) { + int starClicked = 10; + for (int i = 1; i <= 10; i++) { if (mouseX < width / 2 + 108 + 10 * i) { starClicked = i; break; @@ -584,9 +589,27 @@ public class AuctionSearchOverlay { searchStringExtra = ""; if (essenceCosts != null && essenceCosts.has(str) && selectedStars > 0) { for (int i = 0; i < selectedStars; i++) { + if (i > 4) break; searchStringExtra += "\u272A"; } - if (selectedStars < 5 && !atLeast) { + switch (selectedStars) { + case 6: + searchStringExtra += "\u278A"; + break; + case 7: + searchStringExtra += "\u278B"; + break; + case 8: + searchStringExtra += "\u278C"; + break; + case 9: + searchStringExtra += "\u278D"; + break; + case 10: + searchStringExtra += "\u278E"; + break; + } + if (selectedStars < 6 && !atLeast) { searchStringExtra += " "; searchStringExtra += stack.getItem().getItemStackDisplayName(stack).substring(0, 1); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java index 59a77ea3..d3f17fbf 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/TimersOverlay.java @@ -535,7 +535,7 @@ public class TimersOverlay extends TextOverlay { } long midnightReset = (currentTime - 18000000) / 86400000 * 86400000 + 18000000; // 12am est - long pearlsReset = midnightReset - 14400000 + 86400000; //8pm est + long pearlsReset = midnightReset - 14400000; //8pm est long catacombsReset = currentTime / 86400000 * 86400000; // 7pm est long timeDiffMidnightNow = midnightReset + 86400000 - currentTime; long catacombsDiffNow = catacombsReset + 86400000 - currentTime; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java index 06ba32ad..87712378 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java @@ -5013,7 +5013,7 @@ public class GuiProfileViewer extends GuiScreen { ); if (mouseX > guiLeft + 132 && mouseX < guiLeft + 212) { - if (mouseY > guiTop + 27 + 11f * i && mouseY < guiTop + 37 + 11f * i) { + if (mouseY > guiTop + 21 + 11f * i && mouseY < guiTop + 37 + 11f * i) { List<String> split = splitter.splitToList(statNamePretty); PlayerStats.Stats baseStats = PlayerStats.getBaseStats(); tooltipToDisplay = new ArrayList<>(); diff --git a/src/main/resources/assets/notenoughupdates/auc_search/master_star.png b/src/main/resources/assets/notenoughupdates/auc_search/master_star.png Binary files differnew file mode 100644 index 00000000..210ecf49 --- /dev/null +++ b/src/main/resources/assets/notenoughupdates/auc_search/master_star.png diff --git a/src/main/resources/assets/notenoughupdates/auc_search/star_board.png b/src/main/resources/assets/notenoughupdates/auc_search/star_board.png Binary files differindex 8251731f..0a42884d 100644 --- a/src/main/resources/assets/notenoughupdates/auc_search/star_board.png +++ b/src/main/resources/assets/notenoughupdates/auc_search/star_board.png |