From 7c00af18febf6c0b833c7633b4fb60a9a1bb93af Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Sat, 16 Oct 2021 15:50:41 -0400 Subject: Code Clean Up (#2) * intellij code clean up * optimize imports * format * intellij suggestions * fix empty catch issues --- .../miscgui/tutorials/NeuTutorial.java | 152 ++++++++++----------- .../miscgui/tutorials/TutorialBase.java | 97 ++++++------- 2 files changed, 117 insertions(+), 132 deletions(-) (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java index 454c8788..f4d09b54 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java @@ -1,13 +1,7 @@ package io.github.moulberry.notenoughupdates.miscgui.tutorials; -import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; -import org.lwjgl.util.vector.Vector2f; - -import java.util.ArrayList; -import java.util.HashMap; public class NeuTutorial extends TutorialBase { @@ -27,101 +21,101 @@ public class NeuTutorial extends TutorialBase { // static { // // texts[0].put(new Vector2f(0.73f, 0.60f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"Here you will find a list of (most) skyblock items", -// EnumChatFormatting.GRAY+"The itemlist can be accessed by opening your inventory or most menus while on skyblock")); +// EnumChatFormatting.GOLD + "Itemlist", +// EnumChatFormatting.GRAY + "Here you will find a list of (most) skyblock items", +// EnumChatFormatting.GRAY + "The itemlist can be accessed by opening your inventory or most menus while on skyblock")); // texts[1].put(new Vector2f(0.73f, 0.16f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"These are the page controls for the itemlist", -// EnumChatFormatting.GRAY+"Clicking these controls will bring you to other pages of the itemlist")); +// EnumChatFormatting.GOLD + "Itemlist", +// EnumChatFormatting.GRAY + "These are the page controls for the itemlist", +// EnumChatFormatting.GRAY + "Clicking these controls will bring you to other pages of the itemlist")); // texts[2].put(new Vector2f(0.73f, 1.05f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"These are the sorting controls for the itemlist", -// EnumChatFormatting.GRAY+"The buttons on the left control the ordering of the items", -// EnumChatFormatting.GRAY+"The buttons on the right can be used to filter a certain type of item")); +// EnumChatFormatting.GOLD + "Itemlist", +// EnumChatFormatting.GRAY + "These are the sorting controls for the itemlist", +// EnumChatFormatting.GRAY + "The buttons on the left control the ordering of the items", +// EnumChatFormatting.GRAY + "The buttons on the right can be used to filter a certain type of item")); // texts[3].put(new Vector2f(0.39f, 1.04f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"This is the search bar for the itemlist", -// EnumChatFormatting.GRAY+"Double-click the bar to enable inventory search mode", -// EnumChatFormatting.GRAY+"The button on the left opens up the mod settings", -// EnumChatFormatting.GRAY+"The button on the right displays this tutorial")); +// EnumChatFormatting.GOLD + "Itemlist", +// EnumChatFormatting.GRAY + "This is the search bar for the itemlist", +// EnumChatFormatting.GRAY + "Double-click the bar to enable inventory search mode", +// EnumChatFormatting.GRAY + "The button on the left opens up the mod settings", +// EnumChatFormatting.GRAY + "The button on the right displays this tutorial")); // texts[4].put(new Vector2f(0.39f, 0.99f), Utils.createList( -// EnumChatFormatting.GOLD+"QuickCommands", -// EnumChatFormatting.GRAY+"These are the QuickCommands", -// EnumChatFormatting.GRAY+"They let you warp around or access certain menus more easily")); +// EnumChatFormatting.GOLD + "QuickCommands", +// EnumChatFormatting.GRAY + "These are the QuickCommands", +// EnumChatFormatting.GRAY + "They let you warp around or access certain menus more easily")); // texts[5].put(new Vector2f(0.7f, 0.71f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"Hover over an item in the list to display it's lore", -// EnumChatFormatting.GRAY+"Left clicking some items will display the recipe for that item", -// EnumChatFormatting.GRAY+"Right clicking some items will display a wiki page for that item", -// EnumChatFormatting.GRAY+"'F' will favourite an item, putting it to the top of the itemlist")); +// EnumChatFormatting.GOLD + "Itemlist", +// EnumChatFormatting.GRAY + "Hover over an item in the list to display it's lore", +// EnumChatFormatting.GRAY + "Left clicking some items will display the recipe for that item", +// EnumChatFormatting.GRAY + "Right clicking some items will display a wiki page for that item", +// EnumChatFormatting.GRAY + "'F' will favourite an item, putting it to the top of the itemlist")); // texts[6].put(new Vector2f(0.17f, 0.21f), Utils.createList( -// EnumChatFormatting.GOLD+"Collection Log", -// EnumChatFormatting.GRAY+"This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", -// EnumChatFormatting.GRAY+"The collection log keeps track of all items that enter your inventory while you are playing skyblock", -// EnumChatFormatting.GRAY+"If you are a completionist, this feature is for you")); +// EnumChatFormatting.GOLD + "Collection Log", +// EnumChatFormatting.GRAY + "This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", +// EnumChatFormatting.GRAY + "The collection log keeps track of all items that enter your inventory while you are playing skyblock", +// EnumChatFormatting.GRAY + "If you are a completionist, this feature is for you")); // texts[7].put(new Vector2f(0.05f, 0.13f), Utils.createList( -// EnumChatFormatting.GOLD+"Collection Log", -// EnumChatFormatting.GRAY+"Clicking on 'Filter' will change the items that", -// EnumChatFormatting.GRAY+"appear in the list")); +// EnumChatFormatting.GOLD + "Collection Log", +// EnumChatFormatting.GRAY + "Clicking on 'Filter' will change the items that", +// EnumChatFormatting.GRAY + "appear in the list")); // texts[8].put(new Vector2f(0.35f, 0.74f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"This is the NEU Auction House (NeuAH)", -// EnumChatFormatting.GRAY+"This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", -// EnumChatFormatting.GRAY+"The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", -// EnumChatFormatting.GRAY+"Sometimes, you might have to wait until the list is populated with items from the API")); +// EnumChatFormatting.GOLD + "NeuAH", +// EnumChatFormatting.GRAY + "This is the NEU Auction House (NeuAH)", +// EnumChatFormatting.GRAY + "This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", +// EnumChatFormatting.GRAY + "The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", +// EnumChatFormatting.GRAY + "Sometimes, you might have to wait until the list is populated with items from the API")); // texts[9].put(new Vector2f(0.41f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"These tabs control the items that appear in NeuAH", -// EnumChatFormatting.GRAY+"You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); +// EnumChatFormatting.GOLD + "NeuAH", +// EnumChatFormatting.GRAY + "These tabs control the items that appear in NeuAH", +// EnumChatFormatting.GRAY + "You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); // texts[10].put(new Vector2f(0.57f, 0.38f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"Search for items using the search bar at the top", -// EnumChatFormatting.GRAY+"Boolean operators such as &, | or ! work here.")); +// EnumChatFormatting.GOLD + "NeuAH", +// EnumChatFormatting.GRAY + "Search for items using the search bar at the top", +// EnumChatFormatting.GRAY + "Boolean operators such as &, | or ! work here.")); // texts[10].put(new Vector2f(0.40f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"This toolbar contains many useful features", -// EnumChatFormatting.GRAY+"which control the sorting and ordering of", -// EnumChatFormatting.GRAY+"the auction house, similar to the normal AH")); +// EnumChatFormatting.GOLD + "NeuAH", +// EnumChatFormatting.GRAY + "This toolbar contains many useful features", +// EnumChatFormatting.GRAY + "which control the sorting and ordering of", +// EnumChatFormatting.GRAY + "the auction house, similar to the normal AH")); // texts[11].put(new Vector2f(0.55f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"Clicking on an item will bring up the auction view", -// EnumChatFormatting.GRAY+"Here you can viewer the buyer/seller and place bids or make purchases", -// EnumChatFormatting.GRAY+"Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); +// EnumChatFormatting.GOLD + "NeuAH", +// EnumChatFormatting.GRAY + "Clicking on an item will bring up the auction view", +// EnumChatFormatting.GRAY + "Here you can viewer the buyer/seller and place bids or make purchases", +// EnumChatFormatting.GRAY + "Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); // texts[12].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"Access the profile viewer using /neuprofile (ign) or /pv (ign)", -// EnumChatFormatting.GRAY+"This is the main page of the profile viewer", -// EnumChatFormatting.GRAY+"This page contains basic information like stats and skill levels")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "Access the profile viewer using /neuprofile (ign) or /pv (ign)", +// EnumChatFormatting.GRAY + "This is the main page of the profile viewer", +// EnumChatFormatting.GRAY + "This page contains basic information like stats and skill levels")); // texts[12].put(new Vector2f(0.72f, 0.55f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"Click the button on the left to switch profiles and use the bar on the right to switch players")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "Click the button on the left to switch profiles and use the bar on the right to switch players")); // texts[13].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the extra info page of the profile viewer", -// EnumChatFormatting.GRAY+"This page contains all the small bits of information about a player that don't fit anywhere else")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "This is the extra info page of the profile viewer", +// EnumChatFormatting.GRAY + "This page contains all the small bits of information about a player that don't fit anywhere else")); // texts[14].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the inventories page of the profile viewer", -// EnumChatFormatting.GRAY+"Click on the inventory icons in the top-left or use your keyboard to switch the inventory type", -// EnumChatFormatting.GRAY+"The bar on the bottom-left searches the current inventory for matching items")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "This is the inventories page of the profile viewer", +// EnumChatFormatting.GRAY + "Click on the inventory icons in the top-left or use your keyboard to switch the inventory type", +// EnumChatFormatting.GRAY + "The bar on the bottom-left searches the current inventory for matching items")); // texts[15].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the collections page of the profile viewer", -// EnumChatFormatting.GRAY+"Click on the icons on the left or use the keyboard shortcut to switch collection type")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "This is the collections page of the profile viewer", +// EnumChatFormatting.GRAY + "Click on the icons on the left or use the keyboard shortcut to switch collection type")); // texts[16].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the pets page of the profile viewer", -// EnumChatFormatting.GRAY+"Click to select the pet on the left", -// EnumChatFormatting.GRAY+"The selected pet's stats will display on the right")); +// EnumChatFormatting.GOLD + "Profile Viewer", +// EnumChatFormatting.GRAY + "This is the pets page of the profile viewer", +// EnumChatFormatting.GRAY + "Click to select the pet on the left", +// EnumChatFormatting.GRAY + "The selected pet's stats will display on the right")); // texts[17].put(new Vector2f(0.27f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD+"Overlay", -// EnumChatFormatting.GRAY+"Rearrange certain GUI elements of the main overlay using /neuoverlay", -// EnumChatFormatting.GRAY+"If you accidentally move them off screen, use the button in the top left to reset the GUI")); +// EnumChatFormatting.GOLD + "Overlay", +// EnumChatFormatting.GRAY + "Rearrange certain GUI elements of the main overlay using /neuoverlay", +// EnumChatFormatting.GRAY + "If you accidentally move them off screen, use the button in the top left to reset the GUI")); // } // // static { // buttons = new ArrayList<>(); -// buttons.add(createNewButton(0.27f, 0.40f, new int[]{1, 2},"TESTSHIT", "neu")); +// buttons.add(createNewButton(0.27f, 0.40f, new int[]{1, 2}, "TESTSHIT", "neu")); // } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java index 215f210c..48ee3bc7 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java @@ -31,14 +31,12 @@ public class TutorialBase extends GuiScreen { protected static String title; private int page = 0; - private ResourceLocation screenshotBorder = new ResourceLocation("notenoughupdates:ss_border.jpg"); + private final ResourceLocation screenshotBorder = new ResourceLocation("notenoughupdates:ss_border.jpg"); protected ResourceLocation[] screenshots = null; int scaleFactor = 0; - - @Override public void setWorldAndResolution(Minecraft mc, int width, int height) { super.setWorldAndResolution(mc, width, height); @@ -48,9 +46,9 @@ public class TutorialBase extends GuiScreen { protected void keyTyped(char typedChar, int keyCode) throws IOException { Keyboard.enableRepeatEvents(true); super.keyTyped(typedChar, keyCode); - if(keyCode == Keyboard.KEY_LEFT) { + if (keyCode == Keyboard.KEY_LEFT) { page--; - } else if(keyCode == Keyboard.KEY_RIGHT) { + } else if (keyCode == Keyboard.KEY_RIGHT) { page++; } } @@ -64,10 +62,10 @@ public class TutorialBase extends GuiScreen { ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft()); scaleFactor = scaledResolution.getScaleFactor(); - sizeX = width/2+40/scaleFactor; - sizeY = height/2+40/scaleFactor; - guiLeft = width/4-20/scaleFactor; - guiTop = height/4-20/scaleFactor; + sizeX = width / 2 + 40 / scaleFactor; + sizeY = height / 2 + 40 / scaleFactor; + guiLeft = width / 4 - 20 / scaleFactor; + guiTop = height / 4 - 20 / scaleFactor; Minecraft.getMinecraft().getTextureManager().bindTexture(screenshotBorder); Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY); @@ -75,12 +73,13 @@ public class TutorialBase extends GuiScreen { page = Math.max(0, Math.min(17, page)); Minecraft.getMinecraft().getTextureManager().bindTexture(screenshots[page]); - Utils.drawTexturedRect(guiLeft+20f/scaleFactor, guiTop+20f/scaleFactor, sizeX-40f/scaleFactor, sizeY-40f/scaleFactor); + Utils.drawTexturedRect(guiLeft + 20f / scaleFactor, guiTop + 20f / scaleFactor, sizeX - 40f / scaleFactor, sizeY - 40f / scaleFactor); - Utils.drawStringCentered(EnumChatFormatting.GOLD+title+" - Page "+(page+1)+"/"+(texts.size())+" - Use arrow keys", Minecraft.getMinecraft().fontRendererObj, - width/2, guiTop+8, true, 0); - if(scaleFactor != 2) Utils.drawStringCentered(EnumChatFormatting.GOLD+"Use GUI Scale normal for better reading experience", Minecraft.getMinecraft().fontRendererObj, - width/2, guiTop+18, true, 0); + Utils.drawStringCentered(EnumChatFormatting.GOLD + title + " - Page " + (page + 1) + "/" + (texts.size()) + " - Use arrow keys", Minecraft.getMinecraft().fontRendererObj, + width / 2, guiTop + 8, true, 0); + if (scaleFactor != 2) + Utils.drawStringCentered(EnumChatFormatting.GOLD + "Use GUI Scale normal for better reading experience", Minecraft.getMinecraft().fontRendererObj, + width / 2, guiTop + 18, true, 0); JsonArray pageTexts = texts.get(page); for (int i = 0; i < pageTexts.size(); i++) { JsonObject textElement = pageTexts.get(i).getAsJsonObject(); @@ -94,29 +93,27 @@ public class TutorialBase extends GuiScreen { text.add(textArray.get(j).getAsString()); } + float x = guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * oldX; + float y = guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * oldY; - float x = guiLeft+20f/scaleFactor+(sizeX-40f/scaleFactor)*oldX; - float y = guiTop+20f/scaleFactor+(sizeY-40f/scaleFactor)*oldY; - - Utils.drawHoveringText(text, (int)x, (int)y+12, 100000, 100000, 200, Minecraft.getMinecraft().fontRendererObj); + Utils.drawHoveringText(text, (int) x, (int) y + 12, 100000, 100000, 200, Minecraft.getMinecraft().fontRendererObj); } drawButtons(); } - protected void drawButtons(){ + protected void drawButtons() { - for (int i = 0; i < buttons.size(); i++) { - JsonObject button = buttons.get(i); + for (JsonObject button : buttons) { JsonArray pages = button.get("pages").getAsJsonArray(); boolean drawButton = false; for (int i1 = 0; i1 < pages.size(); i1++) { - if(pages.get(i1).getAsInt() == page){ + if (pages.get(i1).getAsInt() == page) { drawButton = true; break; } } - if(!drawButton){ + if (!drawButton) { continue; } float x = button.get("x").getAsFloat(); @@ -125,9 +122,8 @@ public class TutorialBase extends GuiScreen { // String command = button.get("command").getAsString(); Minecraft.getMinecraft().getTextureManager().bindTexture(custom_ench_colour); GlStateManager.color(1, 1, 1, 1); - Utils.drawTexturedRect(guiLeft+20f/scaleFactor+(sizeX-40f/scaleFactor)*x, guiTop+20f/scaleFactor+(sizeY-40f/scaleFactor)*y, 88, 20, 64/217f, 152/217f, 48/78f, 68/78f, GL11.GL_NEAREST); - Utils.drawStringCenteredScaledMaxWidth(text, fontRendererObj, (guiLeft+20f/scaleFactor+(sizeX-40f/scaleFactor)*x)+44, (guiTop+20f/scaleFactor+(sizeY-40f/scaleFactor)*y)+10, false, 86, 4210752); - + Utils.drawTexturedRect(guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * x, guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * y, 88, 20, 64 / 217f, 152 / 217f, 48 / 78f, 68 / 78f, GL11.GL_NEAREST); + Utils.drawStringCenteredScaledMaxWidth(text, fontRendererObj, (guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * x) + 44, (guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * y) + 10, false, 86, 4210752); } } @@ -135,51 +131,46 @@ public class TutorialBase extends GuiScreen { @Override protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { super.mouseClicked(mouseX, mouseY, mouseButton); - int width= 88; + int width = 88; int height = 20; - for (int i = 0; i < buttons.size(); i++) { - JsonObject button = buttons.get(i); + for (JsonObject button : buttons) { JsonArray pages = button.get("pages").getAsJsonArray(); boolean drawButton = false; for (int i1 = 0; i1 < pages.size(); i1++) { - if(pages.get(i1).getAsInt() == page){ + if (pages.get(i1).getAsInt() == page) { drawButton = true; break; } } - if(!drawButton){ + if (!drawButton) { continue; } float x = button.get("x").getAsFloat(); float y = button.get("y").getAsFloat(); //String text = button.get("text").getAsString(); - float realX = guiLeft+20f/scaleFactor+(sizeX-40f/scaleFactor)*x; - float realY = guiTop+20f/scaleFactor+(sizeY-40f/scaleFactor)*y; - if(mouseX > realX && mouseX < realX+width && mouseY > realY && mouseY < realY+height){ + float realX = guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * x; + float realY = guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * y; + if (mouseX > realX && mouseX < realX + width && mouseY > realY && mouseY < realY + height) { String command = button.get("command").getAsString(); NotEnoughUpdates.INSTANCE.openGui = null; - ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/"+command); + ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/" + command); return; } } } - - - - - protected static List texts = new ArrayList(); + protected static List texts = new ArrayList<>(); protected static List buttons = new ArrayList<>(); - protected static JsonObject createNewButton(float x, float y, int[] pages, String text, String command){ + protected static JsonObject createNewButton(float x, float y, int[] pages, String text, String command) { JsonObject button = new JsonObject(); JsonArray pagesArray = new JsonArray(); - for (int i = 0; i < pages.length; i++) { - pagesArray.add(new JsonPrimitive(pages[i])); + for (int j : pages) { + pagesArray.add(new JsonPrimitive(j)); } - button.add("pages",pagesArray); + button.add("pages", pagesArray); button.add("x", new JsonPrimitive(x)); button.add("y", new JsonPrimitive(y)); button.add("text", new JsonPrimitive(text)); @@ -187,33 +178,33 @@ public class TutorialBase extends GuiScreen { return button; } - protected static JsonArray createNewTexts(JsonObject... texts){ + protected static JsonArray createNewTexts(JsonObject... texts) { JsonArray textArray = new JsonArray(); - for (int i = 0; i < texts.length; i++) { - textArray.add(texts[i]); + for (JsonObject text : texts) { + textArray.add(text); } return textArray; } - protected static JsonObject createNewText(float x, float y, String... texts){ + protected static JsonObject createNewText(float x, float y, String... texts) { JsonObject tooltip = new JsonObject(); tooltip.add("x", new JsonPrimitive(x)); tooltip.add("y", new JsonPrimitive(y)); JsonArray lines = new JsonArray(); - for (int i = 0; i < texts.length; i++) { - lines.add(new JsonPrimitive(texts[i])); + for (String text : texts) { + lines.add(new JsonPrimitive(text)); } tooltip.add("lines", lines); return tooltip; } - protected static JsonObject createNewText(float x, float y, List texts){ + protected static JsonObject createNewText(float x, float y, List texts) { JsonObject tooltip = new JsonObject(); tooltip.add("x", new JsonPrimitive(x)); tooltip.add("y", new JsonPrimitive(y)); JsonArray lines = new JsonArray(); - for (int i = 0; i < texts.size(); i++) { - lines.add(new JsonPrimitive(texts.get(i))); + for (String text : texts) { + lines.add(new JsonPrimitive(text)); } tooltip.add("lines", lines); return tooltip; -- cgit From ea3ec354ba3bb5b4ac64b8032816b8e4c407f099 Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Tue, 28 Dec 2021 00:49:28 -0500 Subject: more code clean up (#38) --- .../miscgui/tutorials/NeuConfigTutorial.java | 2 - .../miscgui/tutorials/NeuTutorial.java | 201 ++++++++++----------- .../miscgui/tutorials/TutorialBase.java | 201 ++++++++++----------- 3 files changed, 200 insertions(+), 204 deletions(-) (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java index c4d0115f..1cb9443f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuConfigTutorial.java @@ -1,9 +1,7 @@ package io.github.moulberry.notenoughupdates.miscgui.tutorials; public class NeuConfigTutorial extends TutorialBase { - static { title = "NEU Config Tutorial"; } - } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java index f4d09b54..204bd5e9 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/NeuTutorial.java @@ -4,7 +4,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.util.ResourceLocation; public class NeuTutorial extends TutorialBase { - static { title = "NEU Tutorial"; } @@ -18,104 +17,104 @@ public class NeuTutorial extends TutorialBase { } } -// static { -// -// texts[0].put(new Vector2f(0.73f, 0.60f), Utils.createList( -// EnumChatFormatting.GOLD + "Itemlist", -// EnumChatFormatting.GRAY + "Here you will find a list of (most) skyblock items", -// EnumChatFormatting.GRAY + "The itemlist can be accessed by opening your inventory or most menus while on skyblock")); -// texts[1].put(new Vector2f(0.73f, 0.16f), Utils.createList( -// EnumChatFormatting.GOLD + "Itemlist", -// EnumChatFormatting.GRAY + "These are the page controls for the itemlist", -// EnumChatFormatting.GRAY + "Clicking these controls will bring you to other pages of the itemlist")); -// texts[2].put(new Vector2f(0.73f, 1.05f), Utils.createList( -// EnumChatFormatting.GOLD + "Itemlist", -// EnumChatFormatting.GRAY + "These are the sorting controls for the itemlist", -// EnumChatFormatting.GRAY + "The buttons on the left control the ordering of the items", -// EnumChatFormatting.GRAY + "The buttons on the right can be used to filter a certain type of item")); -// texts[3].put(new Vector2f(0.39f, 1.04f), Utils.createList( -// EnumChatFormatting.GOLD + "Itemlist", -// EnumChatFormatting.GRAY + "This is the search bar for the itemlist", -// EnumChatFormatting.GRAY + "Double-click the bar to enable inventory search mode", -// EnumChatFormatting.GRAY + "The button on the left opens up the mod settings", -// EnumChatFormatting.GRAY + "The button on the right displays this tutorial")); -// texts[4].put(new Vector2f(0.39f, 0.99f), Utils.createList( -// EnumChatFormatting.GOLD + "QuickCommands", -// EnumChatFormatting.GRAY + "These are the QuickCommands", -// EnumChatFormatting.GRAY + "They let you warp around or access certain menus more easily")); -// texts[5].put(new Vector2f(0.7f, 0.71f), Utils.createList( -// EnumChatFormatting.GOLD + "Itemlist", -// EnumChatFormatting.GRAY + "Hover over an item in the list to display it's lore", -// EnumChatFormatting.GRAY + "Left clicking some items will display the recipe for that item", -// EnumChatFormatting.GRAY + "Right clicking some items will display a wiki page for that item", -// EnumChatFormatting.GRAY + "'F' will favourite an item, putting it to the top of the itemlist")); -// texts[6].put(new Vector2f(0.17f, 0.21f), Utils.createList( -// EnumChatFormatting.GOLD + "Collection Log", -// EnumChatFormatting.GRAY + "This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", -// EnumChatFormatting.GRAY + "The collection log keeps track of all items that enter your inventory while you are playing skyblock", -// EnumChatFormatting.GRAY + "If you are a completionist, this feature is for you")); -// texts[7].put(new Vector2f(0.05f, 0.13f), Utils.createList( -// EnumChatFormatting.GOLD + "Collection Log", -// EnumChatFormatting.GRAY + "Clicking on 'Filter' will change the items that", -// EnumChatFormatting.GRAY + "appear in the list")); -// texts[8].put(new Vector2f(0.35f, 0.74f), Utils.createList( -// EnumChatFormatting.GOLD + "NeuAH", -// EnumChatFormatting.GRAY + "This is the NEU Auction House (NeuAH)", -// EnumChatFormatting.GRAY + "This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", -// EnumChatFormatting.GRAY + "The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", -// EnumChatFormatting.GRAY + "Sometimes, you might have to wait until the list is populated with items from the API")); -// texts[9].put(new Vector2f(0.41f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD + "NeuAH", -// EnumChatFormatting.GRAY + "These tabs control the items that appear in NeuAH", -// EnumChatFormatting.GRAY + "You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); -// texts[10].put(new Vector2f(0.57f, 0.38f), Utils.createList( -// EnumChatFormatting.GOLD + "NeuAH", -// EnumChatFormatting.GRAY + "Search for items using the search bar at the top", -// EnumChatFormatting.GRAY + "Boolean operators such as &, | or ! work here.")); -// texts[10].put(new Vector2f(0.40f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD + "NeuAH", -// EnumChatFormatting.GRAY + "This toolbar contains many useful features", -// EnumChatFormatting.GRAY + "which control the sorting and ordering of", -// EnumChatFormatting.GRAY + "the auction house, similar to the normal AH")); -// texts[11].put(new Vector2f(0.55f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD + "NeuAH", -// EnumChatFormatting.GRAY + "Clicking on an item will bring up the auction view", -// EnumChatFormatting.GRAY + "Here you can viewer the buyer/seller and place bids or make purchases", -// EnumChatFormatting.GRAY + "Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); -// texts[12].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "Access the profile viewer using /neuprofile (ign) or /pv (ign)", -// EnumChatFormatting.GRAY + "This is the main page of the profile viewer", -// EnumChatFormatting.GRAY + "This page contains basic information like stats and skill levels")); -// texts[12].put(new Vector2f(0.72f, 0.55f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "Click the button on the left to switch profiles and use the bar on the right to switch players")); -// texts[13].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "This is the extra info page of the profile viewer", -// EnumChatFormatting.GRAY + "This page contains all the small bits of information about a player that don't fit anywhere else")); -// texts[14].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "This is the inventories page of the profile viewer", -// EnumChatFormatting.GRAY + "Click on the inventory icons in the top-left or use your keyboard to switch the inventory type", -// EnumChatFormatting.GRAY + "The bar on the bottom-left searches the current inventory for matching items")); -// texts[15].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "This is the collections page of the profile viewer", -// EnumChatFormatting.GRAY + "Click on the icons on the left or use the keyboard shortcut to switch collection type")); -// texts[16].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD + "Profile Viewer", -// EnumChatFormatting.GRAY + "This is the pets page of the profile viewer", -// EnumChatFormatting.GRAY + "Click to select the pet on the left", -// EnumChatFormatting.GRAY + "The selected pet's stats will display on the right")); -// texts[17].put(new Vector2f(0.27f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD + "Overlay", -// EnumChatFormatting.GRAY + "Rearrange certain GUI elements of the main overlay using /neuoverlay", -// EnumChatFormatting.GRAY + "If you accidentally move them off screen, use the button in the top left to reset the GUI")); -// } -// -// static { -// buttons = new ArrayList<>(); -// buttons.add(createNewButton(0.27f, 0.40f, new int[]{1, 2}, "TESTSHIT", "neu")); -// } + // static { + // texts[0].put(new Vector2f(0.73f, 0.60f), Utils.createList( + // EnumChatFormatting.GOLD + "Itemlist", + // EnumChatFormatting.GRAY + "Here you will find a list of (most) skyblock items", + // EnumChatFormatting.GRAY + "The itemlist can be accessed by opening your inventory or most menus while on skyblock")); + // texts[1].put(new Vector2f(0.73f, 0.16f), Utils.createList( + // EnumChatFormatting.GOLD + "Itemlist", + // EnumChatFormatting.GRAY + "These are the page controls for the itemlist", + // EnumChatFormatting.GRAY + "Clicking these controls will bring you to other pages of the itemlist")); + // texts[2].put(new Vector2f(0.73f, 1.05f), Utils.createList( + // EnumChatFormatting.GOLD + "Itemlist", + // EnumChatFormatting.GRAY + "These are the sorting controls for the itemlist", + // EnumChatFormatting.GRAY + "The buttons on the left control the ordering of the items", + // EnumChatFormatting.GRAY + "The buttons on the right can be used to filter a certain type of item")); + // texts[3].put(new Vector2f(0.39f, 1.04f), Utils.createList( + // EnumChatFormatting.GOLD + "Itemlist", + // EnumChatFormatting.GRAY + "This is the search bar for the itemlist", + // EnumChatFormatting.GRAY + "Double-click the bar to enable inventory search mode", + // EnumChatFormatting.GRAY + "The button on the left opens up the mod settings", + // EnumChatFormatting.GRAY + "The button on the right displays this tutorial")); + // texts[4].put(new Vector2f(0.39f, 0.99f), Utils.createList( + // EnumChatFormatting.GOLD + "QuickCommands", + // EnumChatFormatting.GRAY + "These are the QuickCommands", + // EnumChatFormatting.GRAY + "They let you warp around or access certain menus more easily")); + // texts[5].put(new Vector2f(0.7f, 0.71f), Utils.createList( + // EnumChatFormatting.GOLD + "Itemlist", + // EnumChatFormatting.GRAY + "Hover over an item in the list to display it's lore", + // EnumChatFormatting.GRAY + "Left clicking some items will display the recipe for that item", + // EnumChatFormatting.GRAY + "Right clicking some items will display a wiki page for that item", + // EnumChatFormatting.GRAY + "'F' will favourite an item, putting it to the top of the itemlist")); + // texts[6].put(new Vector2f(0.17f, 0.21f), Utils.createList( + // EnumChatFormatting.GOLD + "Collection Log", + // EnumChatFormatting.GRAY + "This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", + // EnumChatFormatting.GRAY + "The collection log keeps track of all items that enter your inventory while you are playing skyblock", + // EnumChatFormatting.GRAY + "If you are a completionist, this feature is for you")); + // texts[7].put(new Vector2f(0.05f, 0.13f), Utils.createList( + // EnumChatFormatting.GOLD + "Collection Log", + // EnumChatFormatting.GRAY + "Clicking on 'Filter' will change the items that", + // EnumChatFormatting.GRAY + "appear in the list")); + // texts[8].put(new Vector2f(0.35f, 0.74f), Utils.createList( + // EnumChatFormatting.GOLD + "NeuAH", + // EnumChatFormatting.GRAY + "This is the NEU Auction House (NeuAH)", + // EnumChatFormatting.GRAY + "This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", + // EnumChatFormatting.GRAY + "The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", + // EnumChatFormatting.GRAY + "Sometimes, you might have to wait until the list is populated with items from the API")); + // texts[9].put(new Vector2f(0.41f, 0.40f), Utils.createList( + // EnumChatFormatting.GOLD + "NeuAH", + // EnumChatFormatting.GRAY + "These tabs control the items that appear in NeuAH", + // EnumChatFormatting.GRAY + "You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); + // texts[10].put(new Vector2f(0.57f, 0.38f), Utils.createList( + // EnumChatFormatting.GOLD + "NeuAH", + // EnumChatFormatting.GRAY + "Search for items using the search bar at the top", + // EnumChatFormatting.GRAY + "Boolean operators such as &, | or ! work here.")); + // texts[10].put(new Vector2f(0.40f, 0.72f), Utils.createList( + // EnumChatFormatting.GOLD + "NeuAH", + // EnumChatFormatting.GRAY + "This toolbar contains many useful features", + // EnumChatFormatting.GRAY + "which control the sorting and ordering of", + // EnumChatFormatting.GRAY + "the auction house, similar to the normal AH")); + // texts[11].put(new Vector2f(0.55f, 0.72f), Utils.createList( + // EnumChatFormatting.GOLD + "NeuAH", + // EnumChatFormatting.GRAY + "Clicking on an item will bring up the auction view", + // EnumChatFormatting.GRAY + "Here you can viewer the buyer/seller and place bids or make purchases", + // EnumChatFormatting.GRAY + "Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); + // texts[12].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "Access the profile viewer using /neuprofile (ign) or /pv (ign)", + // EnumChatFormatting.GRAY + "This is the main page of the profile viewer", + // EnumChatFormatting.GRAY + "This page contains basic information like stats and skill levels")); + // texts[12].put(new Vector2f(0.72f, 0.55f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "Click the button on the left to switch profiles and use the bar on the right to switch players")); + // texts[13].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "This is the extra info page of the profile viewer", + // EnumChatFormatting.GRAY + "This page contains all the small bits of information about a player that don't fit anywhere else")); + // texts[14].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "This is the inventories page of the profile viewer", + // EnumChatFormatting.GRAY + "Click on the inventory icons in the top-left or use your keyboard to switch the inventory type", + // EnumChatFormatting.GRAY + "The bar on the bottom-left searches the current inventory for matching items")); + // texts[15].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "This is the collections page of the profile viewer", + // EnumChatFormatting.GRAY + "Click on the icons on the left or use the keyboard shortcut to switch collection type")); + // texts[16].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD + "Profile Viewer", + // EnumChatFormatting.GRAY + "This is the pets page of the profile viewer", + // EnumChatFormatting.GRAY + "Click to select the pet on the left", + // EnumChatFormatting.GRAY + "The selected pet's stats will display on the right")); + // texts[17].put(new Vector2f(0.27f, 0.40f), Utils.createList( + // EnumChatFormatting.GOLD + "Overlay", + // EnumChatFormatting.GRAY + "Rearrange certain GUI elements of the main overlay using /neuoverlay", + // EnumChatFormatting.GRAY + "If you accidentally move them off screen, use the button in the top left to reset the GUI")); + // } + // + // static { + // buttons = new ArrayList() {{ + // add(createNewButton(0.27f, 0.40f, new int[]{1, 2}, "TESTSHIT", "neu")); + // }}; + // } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java index 48ee3bc7..05b304a6 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/tutorials/TutorialBase.java @@ -22,7 +22,6 @@ import java.util.List; import static io.github.moulberry.notenoughupdates.miscgui.GuiEnchantColour.custom_ench_colour; public class TutorialBase extends GuiScreen { - private int guiLeft = 0; private int guiTop = 0; private int sizeX = 0; @@ -86,7 +85,7 @@ public class TutorialBase extends GuiScreen { float oldX = textElement.get("x").getAsFloat(); float oldY = textElement.get("y").getAsFloat(); -// List text = entry.getValue(); + // List text = entry.getValue(); JsonArray textArray = textElement.getAsJsonArray("lines"); List text = new ArrayList<>(); for (int j = 0; j < textArray.size(); j++) { @@ -119,7 +118,7 @@ public class TutorialBase extends GuiScreen { float x = button.get("x").getAsFloat(); float y = button.get("y").getAsFloat(); String text = button.get("text").getAsString(); -// String command = button.get("command").getAsString(); + // String command = button.get("command").getAsString(); Minecraft.getMinecraft().getTextureManager().bindTexture(custom_ench_colour); GlStateManager.color(1, 1, 1, 1); Utils.drawTexturedRect(guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * x, guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * y, 88, 20, 64 / 217f, 152 / 217f, 48 / 78f, 68 / 78f, GL11.GL_NEAREST); @@ -148,7 +147,7 @@ public class TutorialBase extends GuiScreen { } float x = button.get("x").getAsFloat(); float y = button.get("y").getAsFloat(); - //String text = button.get("text").getAsString(); + // String text = button.get("text").getAsString(); float realX = guiLeft + 20f / scaleFactor + (sizeX - 40f / scaleFactor) * x; float realY = guiTop + 20f / scaleFactor + (sizeY - 40f / scaleFactor) * y; if (mouseX > realX && mouseX < realX + width && mouseY > realY && mouseY < realY + height) { @@ -210,101 +209,101 @@ public class TutorialBase extends GuiScreen { return tooltip; } -// static { -// for(int i=0; i<18; i++) { -// texts[i] = new HashMap<>(); -// } -// texts[0].put(new Vector2f(0.73f, 0.60f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"Here you will find a list of (most) skyblock items", -// EnumChatFormatting.GRAY+"The itemlist can be accessed by opening your inventory or most menus while on skyblock")); -// texts[1].put(new Vector2f(0.73f, 0.16f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"These are the page controls for the itemlist", -// EnumChatFormatting.GRAY+"Clicking these controls will bring you to other pages of the itemlist")); -// texts[2].put(new Vector2f(0.73f, 1.05f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"These are the sorting controls for the itemlist", -// EnumChatFormatting.GRAY+"The buttons on the left control the ordering of the items", -// EnumChatFormatting.GRAY+"The buttons on the right can be used to filter a certain type of item")); -// texts[3].put(new Vector2f(0.39f, 1.04f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"This is the search bar for the itemlist", -// EnumChatFormatting.GRAY+"Double-click the bar to enable inventory search mode", -// EnumChatFormatting.GRAY+"The button on the left opens up the mod settings", -// EnumChatFormatting.GRAY+"The button on the right displays this tutorial")); -// texts[4].put(new Vector2f(0.39f, 0.99f), Utils.createList( -// EnumChatFormatting.GOLD+"QuickCommands", -// EnumChatFormatting.GRAY+"These are the QuickCommands", -// EnumChatFormatting.GRAY+"They let you warp around or access certain menus more easily")); -// texts[5].put(new Vector2f(0.7f, 0.71f), Utils.createList( -// EnumChatFormatting.GOLD+"Itemlist", -// EnumChatFormatting.GRAY+"Hover over an item in the list to display it's lore", -// EnumChatFormatting.GRAY+"Left clicking some items will display the recipe for that item", -// EnumChatFormatting.GRAY+"Right clicking some items will display a wiki page for that item", -// EnumChatFormatting.GRAY+"'F' will favourite an item, putting it to the top of the itemlist")); -// texts[6].put(new Vector2f(0.17f, 0.21f), Utils.createList( -// EnumChatFormatting.GOLD+"Collection Log", -// EnumChatFormatting.GRAY+"This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", -// EnumChatFormatting.GRAY+"The collection log keeps track of all items that enter your inventory while you are playing skyblock", -// EnumChatFormatting.GRAY+"If you are a completionist, this feature is for you")); -// texts[7].put(new Vector2f(0.05f, 0.13f), Utils.createList( -// EnumChatFormatting.GOLD+"Collection Log", -// EnumChatFormatting.GRAY+"Clicking on 'Filter' will change the items that", -// EnumChatFormatting.GRAY+"appear in the list")); -// texts[8].put(new Vector2f(0.35f, 0.74f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"This is the NEU Auction House (NeuAH)", -// EnumChatFormatting.GRAY+"This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", -// EnumChatFormatting.GRAY+"The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", -// EnumChatFormatting.GRAY+"Sometimes, you might have to wait until the list is populated with items from the API")); -// texts[9].put(new Vector2f(0.41f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"These tabs control the items that appear in NeuAH", -// EnumChatFormatting.GRAY+"You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); -// texts[10].put(new Vector2f(0.57f, 0.38f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"Search for items using the search bar at the top", -// EnumChatFormatting.GRAY+"Boolean operators such as &, | or ! work here.")); -// texts[10].put(new Vector2f(0.40f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"This toolbar contains many useful features", -// EnumChatFormatting.GRAY+"which control the sorting and ordering of", -// EnumChatFormatting.GRAY+"the auction house, similar to the normal AH")); -// texts[11].put(new Vector2f(0.55f, 0.72f), Utils.createList( -// EnumChatFormatting.GOLD+"NeuAH", -// EnumChatFormatting.GRAY+"Clicking on an item will bring up the auction view", -// EnumChatFormatting.GRAY+"Here you can viewer the buyer/seller and place bids or make purchases", -// EnumChatFormatting.GRAY+"Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); -// texts[12].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"Access the profile viewer using /neuprofile (ign) or /pv (ign)", -// EnumChatFormatting.GRAY+"This is the main page of the profile viewer", -// EnumChatFormatting.GRAY+"This page contains basic information like stats and skill levels")); -// texts[12].put(new Vector2f(0.72f, 0.55f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"Click the button on the left to switch profiles and use the bar on the right to switch players")); -// texts[13].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the extra info page of the profile viewer", -// EnumChatFormatting.GRAY+"This page contains all the small bits of information about a player that don't fit anywhere else")); -// texts[14].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the inventories page of the profile viewer", -// EnumChatFormatting.GRAY+"Click on the inventory icons in the top-left or use your keyboard to switch the inventory type", -// EnumChatFormatting.GRAY+"The bar on the bottom-left searches the current inventory for matching items")); -// texts[15].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the collections page of the profile viewer", -// EnumChatFormatting.GRAY+"Click on the icons on the left or use the keyboard shortcut to switch collection type")); -// texts[16].put(new Vector2f(0.28f, 0.82f), Utils.createList( -// EnumChatFormatting.GOLD+"Profile Viewer", -// EnumChatFormatting.GRAY+"This is the pets page of the profile viewer", -// EnumChatFormatting.GRAY+"Click to select the pet on the left", -// EnumChatFormatting.GRAY+"The selected pet's stats will display on the right")); -// texts[17].put(new Vector2f(0.27f, 0.40f), Utils.createList( -// EnumChatFormatting.GOLD+"Overlay", -// EnumChatFormatting.GRAY+"Rearrange certain GUI elements of the main overlay using /neuoverlay", -// EnumChatFormatting.GRAY+"If you accidentally move them off screen, use the button in the top left to reset the GUI")); -// } + // static { + // for(int i=0; i<18; i++) { + // texts[i] = new HashMap<>(); + // } + // texts[0].put(new Vector2f(0.73f, 0.60f), Utils.createList( + // EnumChatFormatting.GOLD+"Itemlist", + // EnumChatFormatting.GRAY+"Here you will find a list of (most) skyblock items", + // EnumChatFormatting.GRAY+"The itemlist can be accessed by opening your inventory or most menus while on skyblock")); + // texts[1].put(new Vector2f(0.73f, 0.16f), Utils.createList( + // EnumChatFormatting.GOLD+"Itemlist", + // EnumChatFormatting.GRAY+"These are the page controls for the itemlist", + // EnumChatFormatting.GRAY+"Clicking these controls will bring you to other pages of the itemlist")); + // texts[2].put(new Vector2f(0.73f, 1.05f), Utils.createList( + // EnumChatFormatting.GOLD+"Itemlist", + // EnumChatFormatting.GRAY+"These are the sorting controls for the itemlist", + // EnumChatFormatting.GRAY+"The buttons on the left control the ordering of the items", + // EnumChatFormatting.GRAY+"The buttons on the right can be used to filter a certain type of item")); + // texts[3].put(new Vector2f(0.39f, 1.04f), Utils.createList( + // EnumChatFormatting.GOLD+"Itemlist", + // EnumChatFormatting.GRAY+"This is the search bar for the itemlist", + // EnumChatFormatting.GRAY+"Double-click the bar to enable inventory search mode", + // EnumChatFormatting.GRAY+"The button on the left opens up the mod settings", + // EnumChatFormatting.GRAY+"The button on the right displays this tutorial")); + // texts[4].put(new Vector2f(0.39f, 0.99f), Utils.createList( + // EnumChatFormatting.GOLD+"QuickCommands", + // EnumChatFormatting.GRAY+"These are the QuickCommands", + // EnumChatFormatting.GRAY+"They let you warp around or access certain menus more easily")); + // texts[5].put(new Vector2f(0.7f, 0.71f), Utils.createList( + // EnumChatFormatting.GOLD+"Itemlist", + // EnumChatFormatting.GRAY+"Hover over an item in the list to display it's lore", + // EnumChatFormatting.GRAY+"Left clicking some items will display the recipe for that item", + // EnumChatFormatting.GRAY+"Right clicking some items will display a wiki page for that item", + // EnumChatFormatting.GRAY+"'F' will favourite an item, putting it to the top of the itemlist")); + // texts[6].put(new Vector2f(0.17f, 0.21f), Utils.createList( + // EnumChatFormatting.GOLD+"Collection Log", + // EnumChatFormatting.GRAY+"This is the collection log. It can be accessed using the /neucl command, or via the QuickCommand", + // EnumChatFormatting.GRAY+"The collection log keeps track of all items that enter your inventory while you are playing skyblock", + // EnumChatFormatting.GRAY+"If you are a completionist, this feature is for you")); + // texts[7].put(new Vector2f(0.05f, 0.13f), Utils.createList( + // EnumChatFormatting.GOLD+"Collection Log", + // EnumChatFormatting.GRAY+"Clicking on 'Filter' will change the items that", + // EnumChatFormatting.GRAY+"appear in the list")); + // texts[8].put(new Vector2f(0.35f, 0.74f), Utils.createList( + // EnumChatFormatting.GOLD+"NeuAH", + // EnumChatFormatting.GRAY+"This is the NEU Auction House (NeuAH)", + // EnumChatFormatting.GRAY+"This AH can be accessed from anywhere using the /neuah command, or via the QuickCommand", + // EnumChatFormatting.GRAY+"The items here refresh automatically, so there is no need to close the GUI to see the latest auctions", + // EnumChatFormatting.GRAY+"Sometimes, you might have to wait until the list is populated with items from the API")); + // texts[9].put(new Vector2f(0.41f, 0.40f), Utils.createList( + // EnumChatFormatting.GOLD+"NeuAH", + // EnumChatFormatting.GRAY+"These tabs control the items that appear in NeuAH", + // EnumChatFormatting.GRAY+"You can find the main categories on the top of the GUI and subcategories appear on the side of the GUI once a main category is selected")); + // texts[10].put(new Vector2f(0.57f, 0.38f), Utils.createList( + // EnumChatFormatting.GOLD+"NeuAH", + // EnumChatFormatting.GRAY+"Search for items using the search bar at the top", + // EnumChatFormatting.GRAY+"Boolean operators such as &, | or ! work here.")); + // texts[10].put(new Vector2f(0.40f, 0.72f), Utils.createList( + // EnumChatFormatting.GOLD+"NeuAH", + // EnumChatFormatting.GRAY+"This toolbar contains many useful features", + // EnumChatFormatting.GRAY+"which control the sorting and ordering of", + // EnumChatFormatting.GRAY+"the auction house, similar to the normal AH")); + // texts[11].put(new Vector2f(0.55f, 0.72f), Utils.createList( + // EnumChatFormatting.GOLD+"NeuAH", + // EnumChatFormatting.GRAY+"Clicking on an item will bring up the auction view", + // EnumChatFormatting.GRAY+"Here you can viewer the buyer/seller and place bids or make purchases", + // EnumChatFormatting.GRAY+"Trying to purchase an item will result in a confirmation GUI similar to the normal AH")); + // texts[12].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD+"Profile Viewer", + // EnumChatFormatting.GRAY+"Access the profile viewer using /neuprofile (ign) or /pv (ign)", + // EnumChatFormatting.GRAY+"This is the main page of the profile viewer", + // EnumChatFormatting.GRAY+"This page contains basic information like stats and skill levels")); + // texts[12].put(new Vector2f(0.72f, 0.55f), Utils.createList( + // EnumChatFormatting.GOLD+"Profile Viewer", + // EnumChatFormatting.GRAY+"Click the button on the left to switch profiles and use the bar on the right to switch players")); + // texts[13].put(new Vector2f(0.28f, 0.82f), Utils.createList( + // EnumChatFormatting.GOLD+"Profile Viewer", + // EnumChatFormatting.GRAY+"This is the extra info page of the profile viewer", + // EnumChatFormatting.GRAY+"This page contains all t