From 2692193e54e4dd6c0117dcdb85368dc83bb04f1a Mon Sep 17 00:00:00 2001 From: Roman / Nea Date: Mon, 18 Apr 2022 17:33:32 +0200 Subject: Mob loot recipe PR (#81) * entity renderer (somewhat functionaL) * more modifiers and entities * Fix cookie fuckup * add neu repo as resource pack, cause why not at this point * add tabs, because i can * add extra skin parts and make less tabs * hot tall men * fix texture offsets and also parts:true * some untested changes * still broken, but better (just like me (stop being edgy nea ( no u )))) * stuff (with er skeletons * niceities * skytils interop * horseys * horseys ouch * panos * stupid tests :angery: * NPE * add drop chance * colored leather armo * finish off * move shit into hover cause items look pretty terrible * Update 2.1.md * better recipe display name * always show mobs toggle * moving parts --- .../textures/gui/crafting_table_tall.png | Bin 0 -> 12019 bytes .../notenoughupdates/textures/gui/entity_viewer.png | Bin 0 -> 8085 bytes .../notenoughupdates/textures/gui/forge_recipe.png | Bin 889 -> 0 bytes .../notenoughupdates/textures/gui/forge_recipe_tall.png | Bin 0 -> 9257 bytes .../notenoughupdates/textures/gui/mob_loot_tall.png | Bin 0 -> 9503 bytes .../assets/notenoughupdates/textures/gui/tab.png | Bin 0 -> 1247 bytes .../notenoughupdates/textures/gui/villager_recipe.png | Bin 8633 -> 0 bytes .../textures/gui/villager_recipe_tall.png | Bin 0 -> 9218 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/crafting_table_tall.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/entity_viewer.png delete mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/mob_loot_tall.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/tab.png delete mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png (limited to 'src/main/resources/assets/notenoughupdates/textures/gui') diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/crafting_table_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/crafting_table_tall.png new file mode 100644 index 00000000..5a5fa825 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/crafting_table_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/entity_viewer.png b/src/main/resources/assets/notenoughupdates/textures/gui/entity_viewer.png new file mode 100644 index 00000000..18085170 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/entity_viewer.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe.png b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe.png deleted file mode 100644 index 2c3d2eb1..00000000 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe.png and /dev/null differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png new file mode 100644 index 00000000..b07e5ca1 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/mob_loot_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/mob_loot_tall.png new file mode 100644 index 00000000..facd6d6c Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/mob_loot_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/tab.png b/src/main/resources/assets/notenoughupdates/textures/gui/tab.png new file mode 100644 index 00000000..91d317ca Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe.png b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe.png deleted file mode 100644 index 42b6241c..00000000 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe.png and /dev/null differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png new file mode 100644 index 00000000..ed982599 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png differ -- cgit From 1ca41f88d7729d9279df71cd186ff86f22e7d515 Mon Sep 17 00:00:00 2001 From: Roman / Nea Date: Fri, 6 May 2022 16:13:36 +0200 Subject: Item Shop Recipes (#118) * first draft of item shop PR * add teleporter navigation because i can * fix teleporter navigation because apparently i cant * navigation gui basics * :pushpin: and removed some unused shit and added myself to devtest command * track / untrack + ery texture Co-Authored-By: RayDeeUx <51521765+RayDeeUx@users.noreply.github.com> * consoom the event * fix crash in ItemShopRecipe.java + fetch repository * i am so sorry jani * on second thought, this entire thing was a bit untested * more recipe stuff * make navigation actually good * make pins dissapear if you not a waypoint * npc parsing * save file * different file saving * remove message * Warping... (to deez nuts) * move shit around Co-authored-by: jani270 Co-authored-by: RayDeeUx <51521765+RayDeeUx@users.noreply.github.com> Co-authored-by: Lulonaut --- .../moulberry/notenoughupdates/NEUManager.java | 329 ++++++++--------- .../moulberry/notenoughupdates/NEUOverlay.java | 36 +- .../notenoughupdates/NotEnoughUpdates.java | 5 + .../commands/dev/DevTestCommand.java | 26 +- .../commands/repo/ReloadRepoCommand.java | 9 +- .../commands/repo/RepoModeCommand.java | 17 +- .../core/util/render/RenderUtils.java | 68 ++-- .../events/RepositoryReloadEvent.java | 21 ++ .../notenoughupdates/itemeditor/NEUItemEditor.java | 18 +- .../notenoughupdates/listener/RenderListener.java | 149 +++++++- .../notenoughupdates/miscfeatures/Navigation.java | 398 +++++++++++++++++++++ .../notenoughupdates/miscgui/GuiItemRecipe.java | 44 ++- .../notenoughupdates/miscgui/GuiNavigation.java | 154 ++++++++ .../notenoughupdates/options/NEUConfig.java | 5 + .../options/seperateSections/Misc.java | 35 +- .../profileviewer/GuiProfileViewer.java | 7 +- .../notenoughupdates/recipes/ItemShopRecipe.java | 189 ++++++++++ .../notenoughupdates/recipes/MobLootRecipe.java | 10 +- .../notenoughupdates/recipes/NeuRecipe.java | 17 + .../notenoughupdates/recipes/RecipeType.java | 3 +- .../recipes/VillagerTradeRecipe.java | 2 +- .../moulberry/notenoughupdates/util/Constants.java | 18 +- .../moulberry/notenoughupdates/util/ItemUtils.java | 43 ++- .../moulberry/notenoughupdates/util/JsonUtils.java | 29 +- .../moulberry/notenoughupdates/util/Utils.java | 4 +- .../textures/gui/forge_recipe_tall.png | Bin 9257 -> 2743 bytes .../textures/gui/item_shop_recipe.png | Bin 0 -> 3177 bytes .../notenoughupdates/textures/gui/navigation.png | Bin 0 -> 1028 bytes .../textures/gui/villager_recipe_tall.png | Bin 9218 -> 2709 bytes 29 files changed, 1374 insertions(+), 262 deletions(-) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png create mode 100644 src/main/resources/assets/notenoughupdates/textures/gui/navigation.png (limited to 'src/main/resources/assets/notenoughupdates/textures/gui') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java index 6572431b..c283464e 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java @@ -1,14 +1,24 @@ package io.github.moulberry.notenoughupdates; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; import io.github.moulberry.notenoughupdates.auction.APIManager; +import io.github.moulberry.notenoughupdates.events.RepositoryReloadEvent; import io.github.moulberry.notenoughupdates.miscgui.GuiItemRecipe; import io.github.moulberry.notenoughupdates.miscgui.KatSitterOverlay; import io.github.moulberry.notenoughupdates.recipes.CraftingOverlay; import io.github.moulberry.notenoughupdates.recipes.CraftingRecipe; import io.github.moulberry.notenoughupdates.recipes.Ingredient; import io.github.moulberry.notenoughupdates.recipes.NeuRecipe; -import io.github.moulberry.notenoughupdates.util.*; +import io.github.moulberry.notenoughupdates.util.Constants; +import io.github.moulberry.notenoughupdates.util.HotmInformation; +import io.github.moulberry.notenoughupdates.util.HypixelApi; +import io.github.moulberry.notenoughupdates.util.SBInfo; +import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.settings.KeyBinding; import net.minecraft.init.Blocks; @@ -16,24 +26,49 @@ import net.minecraft.init.Items; import net.minecraft.inventory.ContainerChest; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.*; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTException; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.ProgressManager; import org.apache.commons.io.FileUtils; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.Display; import javax.net.ssl.HttpsURLConnection; -import javax.swing.JDialog; -import javax.swing.JOptionPane; -import java.io.*; +import javax.swing.*; +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Reader; import java.net.URL; import java.net.URLConnection; import java.nio.charset.StandardCharsets; -import java.util.*; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.NavigableMap; +import java.util.Optional; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; @@ -44,6 +79,7 @@ public class NEUManager { public final APIManager auctionManager; private final TreeMap itemMap = new TreeMap<>(); + private boolean hasBeenLoadedBefore = false; private final TreeMap>> titleWordMap = new TreeMap<>(); private final TreeMap>> loreWordMap = new TreeMap<>(); @@ -73,8 +109,6 @@ public class NEUManager { private final Map itemstackCache = new HashMap<>(); - private final ExecutorService repoLoaderES = Executors.newSingleThreadExecutor(); - private static String GIT_COMMITS_URL; // TODO: private final Map @@ -160,186 +194,102 @@ public class NEUManager { } } - /** - * Called when the game is first loaded. Compares the local repository to the github repository and handles the - * downloading of new/updated files. This then calls the "loadItem" method for every item in the local repository. - */ - public void loadItemInformation() { - /*File repoFile = new File(configLocation, "repo2"); - repoFile.mkdirs(); - - try(Git git = Git.init().setDirectory(repoFile).call()) { - StoredConfig config = git.getRepository().getConfig(); - config.setString("branch", "master", "merge", "refs/heads/master"); - config.setString("branch", "master", "remote", "origin"); - config.setString("remote", "origin", "fetch", "+refs/heads/*:refs/remotes/origin/*"); - config.setString("remote", "origin", "url", "https://github.com/Moulberry/NotEnoughUpdates-REPO.git"); - config.save(); - - git.remoteAdd().setName("origin").setUri(new URIish("https://github.com/Moulberry/NotEnoughUpdates-REPO.git")).call(); - PullResult result = git.pull().setRemote("origin").setTimeout(30000).call(); - System.out.println("successful pull: " + result.isSuccessful()); - } catch(Exception e) { - e.printStackTrace(); - }*/ - - /*if(repoFile.mkdirs()) { - try { - Git.cloneRepository() - .setURI("https://github.com/Moulberry/NotEnoughUpdates-REPO.git") - .setDirectory(repoFile) - .call(); - } catch(Exception e) { - e.printStackTrace(); - } - } else { - - }*/ - - repoLoaderES.submit(() -> { + public CompletableFuture fetchRepository() { + return CompletableFuture.supplyAsync(() -> { JDialog dialog = null; try { - if (NotEnoughUpdates.INSTANCE.config.hidden.autoupdate) { - JOptionPane pane = new JOptionPane("Getting items to download from remote repository."); - dialog = pane.createDialog("NotEnoughUpdates Remote Sync"); - dialog.setModal(false); - if (NotEnoughUpdates.INSTANCE.config.hidden.dev) dialog.setVisible(true); - - if (Display.isActive()) dialog.toFront(); - - JsonObject currentCommitJSON = getJsonFromFile(new File(configLocation, "currentCommit.json")); - - latestRepoCommit = null; - try (Reader inReader = new InputStreamReader(new URL(GIT_COMMITS_URL).openStream())) { - JsonObject commits = gson.fromJson(inReader, JsonObject.class); - latestRepoCommit = commits.get("sha").getAsString(); - } catch (Exception e) { - e.printStackTrace(); - } - if (latestRepoCommit == null || latestRepoCommit.isEmpty()) return; + JOptionPane pane = new JOptionPane("Getting items to download from remote repository."); + dialog = pane.createDialog("NotEnoughUpdates Remote Sync"); + dialog.setModal(false); + if (NotEnoughUpdates.INSTANCE.config.hidden.dev) dialog.setVisible(true); - if (new File(configLocation, "repo").exists() && new File(configLocation, "repo/items").exists()) { - if (currentCommitJSON != null && currentCommitJSON.get("sha").getAsString().equals(latestRepoCommit)) { - dialog.setVisible(false); - return; - } + if (Display.isActive()) dialog.toFront(); + + JsonObject currentCommitJSON = getJsonFromFile(new File(configLocation, "currentCommit.json")); + + latestRepoCommit = null; + try (Reader inReader = new InputStreamReader(new URL(GIT_COMMITS_URL).openStream())) { + JsonObject commits = gson.fromJson(inReader, JsonObject.class); + latestRepoCommit = commits.get("sha").getAsString(); + } catch (Exception e) { + e.printStackTrace(); + } + if (latestRepoCommit == null || latestRepoCommit.isEmpty()) return false; + + if (new File(configLocation, "repo").exists() && new File(configLocation, "repo/items").exists()) { + if (currentCommitJSON != null && currentCommitJSON.get("sha").getAsString().equals(latestRepoCommit)) { + return false; } + } - if (Display.isActive()) dialog.toFront(); + if (Display.isActive()) dialog.toFront(); - Utils.recursiveDelete(repoLocation); - repoLocation.mkdirs(); + Utils.recursiveDelete(repoLocation); + repoLocation.mkdirs(); - String dlUrl = neu.config.hidden.repoURL; + String dlUrl = neu.config.hidden.repoURL; - pane.setMessage("Downloading NEU Master Archive. (DL# >20)"); - dialog.pack(); - if (NotEnoughUpdates.INSTANCE.config.hidden.dev) dialog.setVisible(true); - if (Display.isActive()) dialog.toFront(); + pane.setMessage("Downloading NEU Master Archive. (DL# >20)"); + dialog.pack(); + if (NotEnoughUpdates.INSTANCE.config.hidden.dev) dialog.setVisible(true); + if (Display.isActive()) dialog.toFront(); - File itemsZip = new File(repoLocation, "neu-items-master.zip"); - try { - itemsZip.createNewFile(); - } catch (IOException e) { - return; - } + File itemsZip = new File(repoLocation, "neu-items-master.zip"); + try { + itemsZip.createNewFile(); + } catch (IOException e) { + return false; + } - URL url = new URL(dlUrl); - URLConnection urlConnection = url.openConnection(); - urlConnection.setConnectTimeout(15000); - urlConnection.setReadTimeout(30000); - - try (InputStream is = urlConnection.getInputStream()) { - FileUtils.copyInputStreamToFile(is, itemsZip); - } catch (IOException e) { - dialog.dispose(); - e.printStackTrace(); - System.err.println("Failed to download NEU Repo! Please report this issue to the mod creator"); - return; - } - /*try ( - BufferedInputStream inStream = new BufferedInputStream(urlConnection.getInputStream()); - FileOutputStream fileOutputStream = new FileOutputStream(itemsZip) - ) { - byte dataBuffer[] = new byte[1024]; - int bytesRead; - while ((bytesRead = inStream.read(dataBuffer, 0, 1024)) != -1) { - fileOutputStream.write(dataBuffer, 0, bytesRead); - } - } catch (IOException e) { - dialog.dispose(); - return; - }*/ - - pane.setMessage("Unzipping NEU Master Archive."); - dialog.pack(); - //dialog.setVisible(true); - if (Display.isActive()) dialog.toFront(); - - unzipIgnoreFirstFolder(itemsZip.getAbsolutePath(), repoLocation.getAbsolutePath()); - - if (currentCommitJSON == null || !currentCommitJSON.get("sha").getAsString().equals(latestRepoCommit)) { - JsonObject newCurrentCommitJSON = new JsonObject(); - newCurrentCommitJSON.addProperty("sha", latestRepoCommit); - try { - writeJson(newCurrentCommitJSON, new File(configLocation, "currentCommit.json")); - } catch (IOException ignored) { - } - } + URL url = new URL(dlUrl); + URLConnection urlConnection = url.openConnection(); + urlConnection.setConnectTimeout(15000); + urlConnection.setReadTimeout(30000); + + try (InputStream is = urlConnection.getInputStream()) { + FileUtils.copyInputStreamToFile(is, itemsZip); + } catch (IOException e) { + dialog.dispose(); + e.printStackTrace(); + System.err.println("Failed to download NEU Repo! Please report this issue to the mod creator"); + return false; } - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (dialog != null) dialog.dispose(); - } - File items = new File(repoLocation, "items"); - if (items.exists()) { - File[] itemFiles = new File(repoLocation, "items").listFiles(); - if (itemFiles != null) { - ProgressManager.ProgressBar bar = ProgressManager.push("Loading recipes", itemFiles.length); - for (File f : itemFiles) { - String internalname = f.getName().substring(0, f.getName().length() - 5); - bar.step(internalname); - synchronized (itemMap) { - if (!itemMap.containsKey(internalname)) { - loadItem(internalname); - } - } + pane.setMessage("Unzipping NEU Master Archive."); + dialog.pack(); + //dialog.setVisible(true); + if (Display.isActive()) dialog.toFront(); + + unzipIgnoreFirstFolder(itemsZip.getAbsolutePath(), repoLocation.getAbsolutePath()); + + if (currentCommitJSON == null || !currentCommitJSON.get("sha").getAsString().equals(latestRepoCommit)) { + JsonObject newCurrentCommitJSON = new JsonObject(); + newCurrentCommitJSON.addProperty("sha", latestRepoCommit); + try { + writeJson(newCurrentCommitJSON, new File(configLocation, "currentCommit.json")); + } catch (IOException ignored) { } - ProgressManager.pop(bar); } - } - - try { - Constants.reload(); } catch (Exception e) { e.printStackTrace(); + } finally { + if (dialog != null) dialog.dispose(); } + return true; }); + } - File items = new File(repoLocation, "items"); - if (items.exists()) { - File[] itemFiles = new File(repoLocation, "items").listFiles(); - if (itemFiles != null) { - ProgressManager.ProgressBar bar = ProgressManager.push("Loading items", itemFiles.length); - for (File f : itemFiles) { - String internalname = f.getName().substring(0, f.getName().length() - 5); - bar.step(internalname); - synchronized (itemMap) { - if (!itemMap.containsKey(internalname)) { - loadItem(internalname); - } - } - } - ProgressManager.pop(bar); - } - } - - try { - Constants.reload(); - } catch (Exception e) { - e.printStackTrace(); + /** + * Called when the game is first loaded. Compares the local repository to the github repository and handles the + * downloading of new/updated files. This then calls the "loadItem" method for every item in the local repository. + */ + public void loadItemInformation() { + if (NotEnoughUpdates.INSTANCE.config.hidden.autoupdate) { + fetchRepository().thenAccept(i -> { + reloadRepository(); + }); + } else { + reloadRepository(); } } @@ -436,6 +386,10 @@ public class NEUManager { for (Ingredient input : recipe.getIngredients()) { usagesMap.computeIfAbsent(input.getInternalItemId(), ignored -> new HashSet<>()).add(recipe); } + for (Ingredient catalystItem : recipe.getCatalystItems()) { + recipesMap.computeIfAbsent(catalystItem.getInternalItemId(), ignored -> new HashSet<>()).add(recipe); + usagesMap.computeIfAbsent(catalystItem.getInternalItemId(), ignored -> new HashSet<>()).add(recipe); + } } public Set getRecipesFor(String internalName) { @@ -1555,20 +1509,25 @@ public class NEUManager { } public void reloadRepository() { - File items = new File(repoLocation, "items"); - if (items.exists()) { - recipes.clear(); - recipesMap.clear(); - usagesMap.clear(); - - File[] itemFiles = new File(repoLocation, "items").listFiles(); - if (itemFiles != null) { - for (File f : itemFiles) { - String internalname = f.getName().substring(0, f.getName().length() - 5); - loadItem(internalname); + Minecraft.getMinecraft().addScheduledTask(() -> { + File items = new File(repoLocation, "items"); + if (items.exists()) { + recipes.clear(); + recipesMap.clear(); + usagesMap.clear(); + + File[] itemFiles = new File(repoLocation, "items").listFiles(); + if (itemFiles != null) { + for (File f : itemFiles) { + String internalname = f.getName().substring(0, f.getName().length() - 5); + loadItem(internalname); + } } } - } + + new RepositoryReloadEvent(repoLocation, !hasBeenLoadedBefore).post(); + hasBeenLoadedBefore = true; + }); } public ItemStack createItem(String internalname) { diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java index d3efc06a..99dce3bb 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUOverlay.java @@ -87,6 +87,36 @@ import java.util.concurrent.Executors; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; +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; + public class NEUOverlay extends Gui { private static final ResourceLocation SUPERGEHEIMNISVERMOGEN = new ResourceLocation( "notenoughupdates:supersecretassets/bald.png"); @@ -137,7 +167,7 @@ public class NEUOverlay extends Gui { private final NEUManager manager; - private final String mobRegex = ".*?((_MONSTER)|(_ANIMAL)|(_MINIBOSS)|(_BOSS)|(_SC))$"; + private final String mobRegex = ".*?((_MONSTER)|(_NPC)|(_ANIMAL)|(_MINIBOSS)|(_BOSS)|(_SC))$"; private final String petRegex = ".*?;[0-5]$"; private final ResourceLocation[] sortIcons = new ResourceLocation[]{ @@ -211,7 +241,7 @@ public class NEUOverlay extends Gui { private boolean redrawItems = false; private boolean searchBarHasFocus = false; - private final GuiTextField textField = new GuiTextField(0, null, 0, 0, 0, 0); + private static final GuiTextField textField = new GuiTextField(0, null, 0, 0, 0, 0); private static final int COMPARE_MODE_ALPHABETICAL = 0; private static final int COMPARE_MODE_RARITY = 1; @@ -977,7 +1007,7 @@ public class NEUOverlay extends Gui { return paddingUnscaled; } - public GuiTextField getTextField() { + public static GuiTextField getTextField() { return textField; } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java index 6d4e0d02..d08968c3 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java @@ -26,6 +26,7 @@ import io.github.moulberry.notenoughupdates.miscfeatures.ItemCooldowns; import io.github.moulberry.notenoughupdates.miscfeatures.ItemCustomizeManager; import io.github.moulberry.notenoughupdates.miscfeatures.MiningStuff; import io.github.moulberry.notenoughupdates.miscfeatures.NPCRetexturing; +import io.github.moulberry.notenoughupdates.miscfeatures.Navigation; import io.github.moulberry.notenoughupdates.miscfeatures.NullzeeSphere; import io.github.moulberry.notenoughupdates.miscfeatures.PetInfoOverlay; import io.github.moulberry.notenoughupdates.miscfeatures.SlotLocking; @@ -42,6 +43,7 @@ import io.github.moulberry.notenoughupdates.overlays.FuelBar; import io.github.moulberry.notenoughupdates.overlays.OverlayManager; import io.github.moulberry.notenoughupdates.profileviewer.ProfileViewer; import io.github.moulberry.notenoughupdates.recipes.RecipeGenerator; +import io.github.moulberry.notenoughupdates.util.Constants; import io.github.moulberry.notenoughupdates.util.SBInfo; import io.github.moulberry.notenoughupdates.util.Utils; import io.github.moulberry.notenoughupdates.util.XPInformation; @@ -139,6 +141,7 @@ public class NotEnoughUpdates { public NEUManager manager; public NEUOverlay overlay; public NEUConfig config; + public Navigation navigation = new Navigation(this); public GuiScreen openGui = null; public long lastOpenedGui = 0; public Commands commands; @@ -215,6 +218,7 @@ public class NotEnoughUpdates { MinecraftForge.EVENT_BUS.register(new CalendarOverlay()); MinecraftForge.EVENT_BUS.register(SBInfo.getInstance()); MinecraftForge.EVENT_BUS.register(CustomItemEffects.INSTANCE); + MinecraftForge.EVENT_BUS.register(new Constants()); MinecraftForge.EVENT_BUS.register(new DungeonMap()); MinecraftForge.EVENT_BUS.register(new SunTzu()); MinecraftForge.EVENT_BUS.register(new MiningStuff()); @@ -237,6 +241,7 @@ public class NotEnoughUpdates { MinecraftForge.EVENT_BUS.register(new ItemTooltipListener(this)); MinecraftForge.EVENT_BUS.register(new RenderListener(this)); MinecraftForge.EVENT_BUS.register(new OldAnimationChecker()); + MinecraftForge.EVENT_BUS.register(navigation); if (Minecraft.getMinecraft().getResourceManager() instanceof IReloadableResourceManager) { IReloadableResourceManager manager = (IReloadableResourceManager) Minecraft.getMinecraft().getResourceManager(); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java index 27944c92..478f4db7 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/dev/DevTestCommand.java @@ -1,4 +1,4 @@ - package io.github.moulberry.notenoughupdates.commands.dev; +package io.github.moulberry.notenoughupdates.commands.dev; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.commands.ClientCommandBase; @@ -10,6 +10,7 @@ import io.github.moulberry.notenoughupdates.miscfeatures.customblockzones.Specia import io.github.moulberry.notenoughupdates.miscgui.GuiPriceGraph; import io.github.moulberry.notenoughupdates.util.SBInfo; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.util.BlockPos; @@ -24,7 +25,18 @@ import java.util.List; public class DevTestCommand extends ClientCommandBase { private static final List DEV_TESTERS = - Arrays.asList("moulberry", "lucycoconut", "ironm00n", "ariyio", "throwpo", "lrg89", "dediamondpro", "lulonaut", "craftyoldminer"); + Arrays.asList( + "moulberry", + "lucycoconut", + "ironm00n", + "ariyio", + "throwpo", + "lrg89", + "dediamondpro", + "lulonaut", + "craftyoldminer", + "eisengolem" + ); private static final String[] DEV_FAIL_STRINGS = { "No.", @@ -132,6 +144,16 @@ public class DevTestCommand extends ClientCommandBase { "I would never search")); return; } + if (args.length == 2 && args[0].equalsIgnoreCase("openGui")) { + try { + NotEnoughUpdates.INSTANCE.openGui = (GuiScreen) Class.forName(args[1]).newInstance(); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText( + "Opening gui: " + NotEnoughUpdates.INSTANCE.openGui)); + } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | ClassCastException e) { + e.printStackTrace(); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Failed to open this gui.")); + } + } if (args.length == 1 && args[0].equalsIgnoreCase("center")) { double x = Math.floor(Minecraft.getMinecraft().thePlayer.posX) + 0.5f; double z = Math.floor(Minecraft.getMinecraft().thePlayer.posZ) + 0.5f; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/ReloadRepoCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/ReloadRepoCommand.java index e363b59f..c4ef8c2c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/ReloadRepoCommand.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/ReloadRepoCommand.java @@ -3,7 +3,6 @@ package io.github.moulberry.notenoughupdates.commands.repo; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.commands.ClientCommandBase; import io.github.moulberry.notenoughupdates.options.NEUConfig; -import io.github.moulberry.notenoughupdates.util.Constants; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; @@ -20,9 +19,11 @@ public class ReloadRepoCommand extends ClientCommandBase { @Override public void processCommand(ICommandSender sender, String[] args) throws CommandException { - NotEnoughUpdates.INSTANCE.manager.reloadRepository(); - Constants.reload(); - + if (args.length > 1 && args[0].equals("fetch")) { + NotEnoughUpdates.INSTANCE.manager.fetchRepository(); + } else { + NotEnoughUpdates.INSTANCE.manager.reloadRepository(); + } NotEnoughUpdates.INSTANCE.newConfigFile(); if (NotEnoughUpdates.INSTANCE.getConfigFile().exists()) { try ( diff --git a/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/RepoModeCommand.java b/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/RepoModeCommand.java index a8f53460..46156a47 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/RepoModeCommand.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/commands/repo/RepoModeCommand.java @@ -5,7 +5,9 @@ import io.github.moulberry.notenoughupdates.commands.ClientCommandBase; import net.minecraft.client.Minecraft; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; +import net.minecraft.event.ClickEvent; import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChatStyle; public class RepoModeCommand extends ClientCommandBase { @@ -33,10 +35,17 @@ public class RepoModeCommand extends ClientCommandBase { githubBranch = args[3]; } } - NotEnoughUpdates.INSTANCE.config.hidden.repoURL = "https://github.com/" + githubUser + "/" + githubRepo + "/archive/" + githubBranch + ".zip"; - NotEnoughUpdates.INSTANCE.config.hidden.repoCommitsURL = "https://api.github.com/repos/" + githubUser + "/" + githubRepo + "/commits/" + githubBranch; - Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("\u00a75Set NEU repo URL to " + NotEnoughUpdates.INSTANCE.config.hidden.repoURL + - "\n\u00a75Set NEU repo commits URL to " + NotEnoughUpdates.INSTANCE.config.hidden.repoCommitsURL)); + NotEnoughUpdates.INSTANCE.config.hidden.repoURL = + "https://github.com/" + githubUser + "/" + githubRepo + "/archive/" + githubBranch + ".zip"; + NotEnoughUpdates.INSTANCE.config.hidden.repoCommitsURL = + "https://api.github.com/repos/" + githubUser + "/" + githubRepo + "/commits/" + githubBranch; + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText( + "\u00a75Set NEU repo URL to " + NotEnoughUpdates.INSTANCE.config.hidden.repoURL + + "\n\u00a75Set NEU repo commits URL to " + NotEnoughUpdates.INSTANCE.config.hidden.repoCommitsURL)); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("\u00a75Run <") + .appendSibling(new ChatComponentText("/neureloadrepo fetch").setChatStyle(new ChatStyle().setChatClickEvent(new ClickEvent( + ClickEvent.Action.SUGGEST_COMMAND, "/neureloadrepo fetch")))) + .appendSibling(new ChatComponentText("\u00a75> to redownload your repo."))); } else { Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("\u00a7cUsage:" + diff --git a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java index d7fd7907..96e9729f 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/core/util/render/RenderUtils.java @@ -13,11 +13,20 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.Entity; -import net.minecraft.util.*; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3i; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL14; import org.lwjgl.util.vector.Vector3f; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class RenderUtils { public static void drawFloatingRectDark(int x, int y, int width, int height) { drawFloatingRectDark(x, y, width, height, true); @@ -345,11 +354,19 @@ public class RenderUtils { } } - public static void renderWayPoint(String str, BlockPos loc, float partialTicks) { + public static void renderWayPoint(String str, Vec3i loc, float partialTicks) { + renderWayPoint(str, new Vector3f(loc.getX(), loc.getY(), loc.getZ()), partialTicks); + } + + public static void renderWayPoint(List str, Vec3i loc, float partialTicks) { renderWayPoint(str, new Vector3f(loc.getX(), loc.getY(), loc.getZ()), partialTicks); } public static void renderWayPoint(String str, Vector3f loc, float partialTicks) { + renderWayPoint(Arrays.asList(str), loc, partialTicks); + } + + public static void renderWayPoint(List lines, Vector3f loc, float partialTicks) { GlStateManager.alphaFunc(516, 0.1F); GlStateManager.pushMatrix(); @@ -373,15 +390,9 @@ public class RenderUtils { GlStateManager.translate(x, y, z); GlStateManager.translate(0, viewer.getEyeHeight(), 0); - renderNametag(str); - - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.translate(0, -0.25f, 0); - GlStateManager.rotate(-Minecraft.getMinecraft().getRenderManager().playerViewX, 1.0F, 0.0F, 0.0F); - GlStateManager.rotate(Minecraft.getMinecraft().getRenderManager().playerViewY, 0.0F, 1.0F, 0.0F); - - renderNametag(EnumChatFormatting.YELLOW.toString() + Math.round(dist) + "m"); + lines = new ArrayList<>(lines); + lines.add(EnumChatFormatting.YELLOW.toString() + Math.round(dist) + "m"); + renderNametag(lines); GlStateManager.popMatrix(); @@ -389,6 +400,10 @@ public class RenderUtils { } public static void renderNametag(String str) { + renderNametag(Arrays.asList(str)); + } + + public static void renderNametag(List lines) { FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj; float f = 1.6F; float f1 = 0.016666668F * f; @@ -406,20 +421,23 @@ public class RenderUtils { WorldRenderer worldrenderer = tessellator.getWorldRenderer(); int i = 0; - int j = fontrenderer.getStringWidth(str) / 2; - GlStateManager.disableTexture2D(); - worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); - worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); - tessellator.draw(); - GlStateManager.enableTexture2D(); - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127); - GlStateManager.depthMask(true); - - fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1); - + for (String str : lines) { + int j = fontrenderer.getStringWidth(str) / 2; + + GlStateManager.disableTexture2D(); + worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR); + worldrenderer.pos(-j - 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(-j - 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(j + 1, 8 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + worldrenderer.pos(j + 1, -1 + i, 0.0D).color(0.0F, 0.0F, 0.0F, 0.25F).endVertex(); + tessellator.draw(); + GlStateManager.enableTexture2D(); + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, 553648127); + GlStateManager.depthMask(true); + + fontrenderer.drawString(str, -fontrenderer.getStringWidth(str) / 2, i, -1); + GlStateManager.translate(0, 10f, 0); + } GlStateManager.enableDepth(); GlStateManager.enableBlend(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java b/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java new file mode 100644 index 00000000..b0ffc3e7 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/events/RepositoryReloadEvent.java @@ -0,0 +1,21 @@ +package io.github.moulberry.notenoughupdates.events; + +import java.io.File; + +public class RepositoryReloadEvent extends NEUEvent { + private final File baseFile; + private boolean isFirstLoad; + + public RepositoryReloadEvent(File baseFile, boolean isFirstLoad) { + this.baseFile = baseFile; + this.isFirstLoad = isFirstLoad; + } + + public boolean isFirstLoad() { + return isFirstLoad; + } + + public File getRepositoryRoot() { + return baseFile; + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java index 0392c32f..9f256d65 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/itemeditor/NEUItemEditor.java @@ -14,7 +14,11 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.*; +import net.minecraft.nbt.JsonToNBT; +import net.minecraft.nbt.NBTException; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.nbt.NBTTagString; import net.minecraft.util.ResourceLocation; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; @@ -27,7 +31,11 @@ import java.util.Arrays; import java.util.List; import java.util.function.Supplier; -import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.*; +import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.COLOUR; +import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.FORCE_CAPS; +import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.MULTILINE; +import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.NO_SPACE; +import static io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField.NUM_ONLY; public class NEUItemEditor extends GuiScreen { private final NEUManager manager; @@ -52,6 +60,7 @@ public class NEUItemEditor extends GuiScreen { private final Supplier clickcommand; private final Supplier damage; private NBTTagCompound nbttag; + private boolean hasChanges = false; public NEUItemEditor(NEUManager manager, String internalname, JsonObject item) { this.manager = manager; @@ -295,6 +304,11 @@ public class NEUItemEditor extends GuiScreen { @Override protected void keyTyped(char typedChar, int keyCode) { + if (keyCode == Keyboard.KEY_ESCAPE && !hasChanges) { + Minecraft.getMinecraft().displayGuiScreen(null); + return; + } + for (GuiElement gui : options) { gui.keyTyped(typedChar, keyCode); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java b/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java index 54154955..6df2dd9a 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/RenderListener.java @@ -33,6 +33,7 @@ import io.github.moulberry.notenoughupdates.overlays.TextOverlay; import io.github.moulberry.notenoughupdates.profileviewer.GuiProfileViewer; import io.github.moulberry.notenoughupdates.util.NotificationHandler; import io.github.moulberry.notenoughupdates.util.RequestFocusListener; +import io.github.moulberry.notenoughupdates.util.SBInfo; import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; @@ -55,6 +56,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StringUtils; import net.minecraftforge.client.ClientCommandHandler; import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.client.event.GuiScreenEvent; @@ -74,16 +76,17 @@ import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.text.NumberFormat; import java.util.ConcurrentModificationException; import java.util.HashMap; import java.util.Locale; import java.util.Map; +import java.util.TreeMap; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -107,6 +110,10 @@ public class RenderListener { private long buttonHoveredMillis = 0; private int inventoryLoadedTicks = 0; private String loadedInvName = ""; + //NPC parsing + private String correctingItem; + private boolean typing; + private HashMap cachedDefinitions; public RenderListener(NotEnoughUpdates neu) { this.neu = neu; @@ -1011,6 +1018,9 @@ public class RenderListener { */ @SubscribeEvent public void onGuiScreenKeyboard(GuiScreenEvent.KeyboardInputEvent.Pre event) { + if (typing) { + event.setCanceled(true); + } if (Keyboard.isKeyDown(Keyboard.KEY_B) && NotEnoughUpdates.INSTANCE.config.hidden.dev) { if (Minecraft.getMinecraft().currentScreen instanceof GuiChest) { GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen; @@ -1094,7 +1104,7 @@ public class RenderListener { try { try ( BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( - new FileOutputStream(file), + Files.newOutputStream(file.toPath()), StandardCharsets.UTF_8 )) ) { @@ -1112,6 +1122,141 @@ public class RenderListener { EnumChatFormatting.RED + "Error while parsing inventory. Try again or check logs for details.")); } } + } else if (Keyboard.isKeyDown(Keyboard.KEY_RETURN) && NotEnoughUpdates.INSTANCE.config.hidden.dev) { + Minecraft mc = Minecraft.getMinecraft(); + + if (typing) { + typing = false; + cachedDefinitions.put(correctingItem, NEUOverlay.getTextField().getText()); + NEUOverlay.getTextField().setText(""); + } + + if (Minecraft.getMinecraft().currentScreen instanceof GuiChest) { + GuiChest eventGui = (GuiChest) Minecraft.getMinecraft().currentScreen; + ContainerChest cc = (ContainerChest) eventGui.inventorySlots; + IInventory lower = cc.getLowerChestInventory(); + + try { + JsonObject newNPC = new JsonObject(); + String displayname = lower.getDisplayName().getUnformattedText(); + File file = new File( + Minecraft.getMinecraft().mcDataDir.getAbsolutePath(), + "config" + File.separator + "notenoughupdates" + + File.separator + "repo" + File.separator + "npc" + File.separator + + displayname.toUpperCase().replace(" ", "_") + ".json" + ); + newNPC.add("itemid", new JsonPrimitive("minecraft:skull")); + newNPC.add("displayname", new JsonPrimitive("§9" + displayname + " (NPC)")); + newNPC.add("nbttag", new JsonPrimitive("TODO")); + newNPC.add("damage", new JsonPrimitive(3)); + + JsonArray newArray = new JsonArray(); + newArray.add(new JsonPrimitive("")); + newNPC.add("lore", newArray); + newNPC.add("internalname", new JsonPrimitive(displayname.toUpperCase().replace(" ", "_") + "_NPC")); + newNPC.add("clickcommand", new JsonPrimitive("viewrecipe")); + newNPC.add("modver", new JsonPrimitive(NotEnoughUpdates.VERSION)); + newNPC.add("infoType", new JsonPrimitive("WIKI_URL")); + JsonArray emptyInfoArray = new JsonArray(); + emptyInfoArray.add(new JsonPrimitive("TODO")); + newNPC.add("info", emptyInfoArray); + newNPC.add("x", new JsonPrimitive((int) mc.thePlayer.posX)); + newNPC.add("y", new JsonPrimitive((int) mc.thePlayer.posY + 2)); + newNPC.add("z", new JsonPrimitive((int) mc.thePlayer.posZ)); + newNPC.add("island", new JsonPrimitive(SBInfo.getInstance().getLocation())); + + JsonArray recipesArray = new JsonArray(); + + TreeMap itemInformation = NotEnoughUpdates.INSTANCE.manager.getItemInformation(); + for (int i = 0; i < 45; i++) { + ItemStack stack = lower.getStackInSlot(i); + if (stack == null) continue; + if (stack.getDisplayName().isEmpty() || stack.getDisplayName().equals(" ")) continue; + + String internalname = NotEnoughUpdates.INSTANCE.manager.getInternalnameFromNBT(stack.getTagCompound()); + if (internalname == null) continue; + JsonObject currentRecipe = new JsonObject(); + currentRecipe.add("type", new JsonPrimitive("npc_shop")); + JsonArray costArray = new JsonArray(); + boolean inCost = false; + for (String s : NotEnoughUpdates.INSTANCE.manager.getLoreFromNBT(stack.getTagCompound())) { + if (s.equals("§7Cost")) { + inCost = true; + continue; + } else if (s.equals("§eClick to trade!")) { + inCost = false; + } + if (!inCost) continue; + String entry = StringUtils.stripControlCodes(s); + if (entry.isEmpty()) continue; + int coinIndex = entry.indexOf(" Coins"); + if (coinIndex != -1) { + String amountString = entry.substring(0, coinIndex).replace(",", ""); + costArray.add(new JsonPrimitive("SKYBLOCK_COIN:" + amountString)); + } else { + if (cachedDefinitions == null) { + cachedDefinitions = new HashMap<>(); + } + + String item; + int amountIndex = entry.lastIndexOf(" x"); + String amountString; + if (amountIndex == -1) { + amountString = "1"; + item = entry.replace(" ", "_").toUpperCase(); + } else { + amountString = entry.substring(amountIndex); + item = entry.substring(0, amountIndex).replace(" ", "_").toUpperCase(); + } + amountString = amountString.replace(",", "").replace("x", "").trim(); + if (itemInformation.containsKey(item)) { + costArray.add(new JsonPrimitive(item + ":" + amountString)); + } else if (cachedDefinitions.containsKey(item)) { + costArray.add(new JsonPrimitive(cachedDefinitions.get(item) + ":" + amountString)); + } else { + mc.thePlayer.addChatMessage(new ChatComponentText( + "Change the item ID of " + item + " to the correct one and press Enter.")); + NEUOverlay.getTextField().setText(item); + event.setCanceled(true); + typing = true; + correctingItem = item; + if (cachedDefinitions == null) { + cachedDefinitions = new HashMap<>(); + } + return; + } + } + } + currentRecipe.add("cost", costArray); + currentRecipe.add("result", new JsonPrimitive(internalname)); + recipesArray.add(currentRecipe); + newNPC.add("recipes", recipesArray); + } + Gson gson = new GsonBuilder().setPrettyPrinting().create(); + System.out.println(gson.toJson(newNPC)); + try { + //noinspection ResultOfMethodCallIgnored + file.createNewFile(); + try ( + BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( + Files.newOutputStream(file.toPath()), + StandardCharsets.UTF_8 + )) + ) { + writer.write(gson.toJson(newNPC)); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText( + EnumChatFormatting.AQUA + "Parsed and saved: " + EnumChatFormatting.WHITE + displayname)); + } + } catch (IOException ignored) { + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText( + EnumChatFormatting.RED + "Error while writing file.")); + } + } catch (Exception e) { + e.printStackTrace(); + mc.thePlayer.addChatMessage(new ChatComponentText( + EnumChatFormatting.RED + "Error while parsing inventory. Try again or check logs for details")); + } + } } if (AuctionBINWarning.getInstance().shouldShow()) { diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java new file mode 100644 index 00000000..3419b8c4 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscfeatures/Navigation.java @@ -0,0 +1,398 @@ +package io.github.moulberry.notenoughupdates.miscfeatures; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils; +import io.github.moulberry.notenoughupdates.events.RepositoryReloadEvent; +import io.github.moulberry.notenoughupdates.listener.RenderListener; +import io.github.moulberry.notenoughupdates.miscfeatures.customblockzones.LocationChangeEvent; +import io.github.moulberry.notenoughupdates.miscgui.GuiNavigation; +import io.github.moulberry.notenoughupdates.util.ItemUtils; +import io.github.moulberry.notenoughupdates.util.JsonUtils; +import io.github.moulberry.notenoughupdates.util.NotificationHandler; +import io.github.moulberry.notenoughupdates.util.SBInfo; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.gui.inventory.GuiChest; +import net.minecraft.inventory.ContainerChest; +import net.minecraft.item.ItemStack; +import net.minecraft.util.BlockPos; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.Vec3i; +import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.event.entity.EntityJoinWorldEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.InputEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; +import org.lwjgl.input.Keyboard; + +import java.time.Instant; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +public class Navigation { + + private List teleporters = new ArrayList<>(); + private Map areaNames = new HashMap<>(); + private Map warps = new HashMap<>(); + private Map waypoints = new HashMap<>(); + + public Map getWaypoints() { + return waypoints; + } + + public static class WarpPoint { + public final BlockPos blockPos; + public final String warpName, modeName; + + public WarpPoint(double x, double y, double z, String warpName, String modeName) { + this.blockPos = new BlockPos(x, y, z); + this.warpName = warpName; + this.modeName = modeName; + } + } + + public static class Teleporter { + public final double x, y, z; + public final String from, to; + + public Teleporter(double x, double y, double z, String from, String to) { + this.x = x; + this.y = y; + this.z = z; + this.from = from; + this.to = to; + } + } + + private NotEnoughUpdates neu; + + public Navigation(NotEnoughUpdates notEnoughUpdates) { + neu = notEnoughUpdates; + } + + /* JsonObject (x,y,z,island,displayname) */ + private JsonObject currentlyTrackedWaypoint = null; + private BlockPos position = null; + private String island = null; + private String displayName = null; + private String internalname = null; + private String warpAgainTo = null; + private int lastInvHashcode = 0; + private Instant warpAgainTiming = null; + + private Teleporter nextTeleporter = null; + + public boolean isValidWaypoint(JsonObject object) { + return object.has("x") + && object.has("y") + && object.has("z") + && object.has("island") + && object.has("displayname") + && object.has("internalname"); + } + + public void trackWaypoint(String trackNow) { + if (trackNow == null) { + trackWaypoint((JsonObject) null); + } else { + JsonObject jsonObject = waypoints.get(trackNow); + if (jsonObject == null) { + showError( + "Could not track waypoint " + trackNow + ". This is likely due to an outdated or broken repository.", + true + ); + return; + } + trackWaypoint(jsonObject); + } + } + + public void trackWaypoint(JsonObject trackNow) { + if (trackNow != null && !isValidWaypoint(trackNow)) { + showError("Could not track waypoint. This is likely due to an outdated or broken repository.", true); + return; + } + if (!neu.config.hidden.hasOpenedWaypointMenu) + NotificationHandler.displayNotification(Arrays.asList( + "You just tracked a waypoint.", + "Press [N] to open the waypoint menu to untrack it", + "or to find other waypoints to track.", + "Press [X] to close this message." + ), true, false); + currentlyTrackedWaypoint = trackNow; + updateData(); + } + + @SubscribeEvent + public void onRepositoryReload(RepositoryReloadEvent event) { + JsonObject obj = Utils.getConstant("islands", neu.manager.gson); + List teleporters = JsonUtils.getJsonArrayOrEmpty(obj, "teleporters", jsonElement -> { + JsonObject teleporterObj = jsonElement.getAsJsonObject(); + return new Teleporter( + teleporterObj.get("x").getAsDouble(), + teleporterObj.get("y").getAsDouble(), + teleporterObj.get("z").getAsDouble(), + teleporterObj.get("from").getAsString(), + teleporterObj.get("to").getAsString() + ); + }); + for (Teleporter teleporter : teleporters) { + if (teleporter.from.equals(teleporter.to)) { + showError("Found self referencing teleporter: " + teleporter.from, true); + } + } + this.teleporters = teleporters; + this.waypoints = NotEnoughUpdates.INSTANCE.manager + .getItemInformation().values().stream() + .filter(this::isValidWaypoint) + .collect(Collectors.toMap(it -> it.get("internalname").getAsString(), it -> it)); + this.areaNames = JsonUtils.transformJsonObjectToMap(obj.getAsJsonObject("area_names"), JsonElement::getAsString); + this.warps = JsonUtils.getJsonArrayOrEmpty(obj, "island_warps", jsonElement -> { + JsonObject warpObject = jsonElement.getAsJsonObject(); + return new WarpPoint( + warpObject.get("x").getAsDouble(), + warpObject.get("y").getAsDouble(), + warpObject.get("z").getAsDouble(), + warpObject.get("warp").getAsString(), + warpObject.get("mode").getAsString() + ); + }).stream().collect(Collectors.toMap(it -> it.warpName, it -> it)); + } + + @SubscribeEvent + public void onKeybindPressed(InputEvent.KeyInputEvent event) { + if (!Keyboard.getEventKeyState()) return; + int key = Keyboard.getEventKey() == 0 ? Keyboard.getEventCharacter() + 256 : Keyboard.getEventKey(); + if (neu.config.misc.keybindWaypoint == key) { + if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)) { + if (currentlyTrackedWaypoint != null) { + useWarpCommand(); + } + } else { + Minecraft.getMinecraft().displayGuiScreen(new GuiNavigation()); + } + } + } + + @SubscribeEvent + public void onGuiTick(TickEvent.ClientTickEvent event) { + if (event.phase != TickEvent.Phase.START) return; + if (Minecraft.getMinecraft().theWorld == null) return; + if (Minecraft.getMinecraft().thePlayer == null) return; + + if (Minecraft.getMinecraft().currentScreen instanceof GuiChest && RenderListener.inventoryLoaded) { + GuiChest currentScreen = (GuiChest) Minecraft.getMinecraft().currentScreen; + ContainerChest container = (ContainerChest) currentScreen.inventorySlots; + if (container.getLowerChestInventory().getDisplayName().getUnformattedText().equals("Fast Travel")) { + int hashCode = container.getInventory().hashCode(); + if (hashCode == lastInvHashcode) return; + lastInvHashcode = hashCode; + for (ItemStack stackInSlot : container.getInventory()) { + if (stackInSlot == null) continue; + List lore = ItemUtils.getLore(stackInSlot); + if (lore.isEmpty()) + continue; + String warpLine = Utils.cleanColour(lore.get(0)); + if (!warpLine.startsWith("/warp ")) continue; + String warpName = warpLine.substring(6); + boolean isUnlocked = !lore.contains("§cWarp not unlocked!"); + neu.config.getProfileSpecific().unlockedWarpScrolls.put(warpName, isUnlocked); + } + } + } + } + + public Map getWarps() { + return warps; + } + + public WarpPoint getClosestWarp(String mode, Vec3i position, boolean checkAvailable) { + double minDistance = -1; + HashMap unlockedWarpScrolls = neu.config.getProfileSpecific().unlockedWarpScrolls; + WarpPoint minWarp = null; + for (WarpPoint value : warps.values()) { + if (value.modeName.equals(mode)) { + if (checkAvailable && !unlockedWarpScrolls.getOrDefault(value.warpName, false)) + continue; + double distance = value.blockPos.distanceSq(position); + if (distance < minDistance || minWarp == null) { + minDistance = distance; + minWarp = value; + } + } + } + return minWarp; + } + + public void useWarpCommand() { + EntityPlayerSP thePlayer = Minecraft.getMinecraft().thePlayer; + if (currentlyTrackedWaypoint == null || thePlayer == null) return; + WarpPoint closestWarp = getClosestWarp(island, position, true); + if (closestWarp == null) { + showError("Could not find an unlocked warp that could be used.", false); + return; + } + + if (!island.equals(SBInfo.getInstance().mode)) { + warpAgainTiming = Instant.now(); + warpAgainTo = closestWarp.warpName; + } else if (thePlayer.getDistanceSq(position) < closestWarp.blockPos.distanceSq(position)) { + showError("You are already on the same island and nearer than the closest unlocked warp scroll.", false); + return; + } + thePlayer.sendChatMessage("/warp " + closestWarp.warpName); + } + + @SubscribeEvent + public void onTeleportDone(EntityJoinWorldEvent event) { + if (neu.config.misc.warpTwice + && event.entity == Minecraft.getMinecraft().thePlayer + && warpAgainTo != null + && warpAgainTiming != null + && warpAgainTiming.plusSeconds(1).isAfter(Instant.now())) { + warpAgainTiming = null; + String savedWarpAgain = warpAgainTo; + warpAgainTo = null; + Minecraft.getMinecraft().thePlayer.sendChatMessage("/warp " + savedWarpAgain); + } + } + + public String getNameForAreaMode(String mode) { + return areaNames.get(mode); + } + + public String getNameForAreaModeOrUnknown(String mode) { + return areaNames.getOrDefault(mode, "Unknown"); + } + + public void untrackWaypoint() { + trackWaypoint((JsonObject) null); + } + + public JsonObject getTrackedWaypoint() { + return currentlyTrackedWaypoint; + } + + public String getIsland() { + return island; + } + + public String getDisplayName() { + return displayName; + } + + public BlockPos getPosition() { + return position; + } + + public String getInternalname() { + return internalname; + } + + private void updateData() { + if (currentlyTrackedWaypoint == null) { + position = null; + island = null; + displayName = null; + nextTeleporter = null; + internalname = null; + return; + } + position = new BlockPos( + currentlyTrackedWaypoint.get("x").getAsDouble(), + currentlyTrackedWaypoint.get("y").getAsDouble(), + currentlyTrackedWaypoint.get("z").getAsDouble() + ); + internalname = currentlyTrackedWaypoint.get("internalname").getAsString(); + island = currentlyTrackedWaypoint.get("island").getAsString(); + displayName = currentlyTrackedWaypoint.get("displayname").getAsString(); + recalculateNextTeleporter(SBInfo.getInstance().mode); + } + + @SubscribeEvent + public void onLocationChange(LocationChangeEvent event) { + recalculateNextTeleporter(event.newLocation); + } + + public Teleporter recalculateNextTeleporter(String from) { + String to = island; + if (from == null || to == null) return null; + List nextTeleporter = findNextTeleporter0(from, to, new HashSet<>()); + if (nextTeleporter == null || nextTeleporter.isEmpty()) { + this.nextTeleporter = null; + } else { + this.nextTeleporter = nextTeleporter.get(0); + } + return this.nextTeleporter; + } + + private List findNextTeleporter0(String from, String to, Set visited) { + if (from.equals(to)) return new ArrayList<>(); + if (visited.contains(from)) return null; + visited.add(from); + int minPathLength = 0; + List minPath = null; + for (Teleporter teleporter : teleporters) { + if (!teleporter.from.equals(from)) continue; + List nextTeleporter0 = findNextTeleporter0(teleporter.to, to, visited); + if (nextTeleporter0 == null) continue; + if (minPath == null || nextTeleporter0.size() < minPathLength) { + minPathLength = nextTeleporter0.size(); + nextTeleporter0.add(0, teleporter); + minPath = nextTeleporter0; + } + } + visited.remove(from); + return minPath; + } + + private void showError(String message, boolean log) { + EntityPlayerSP player = Minecraft.getMinecraft().thePlayer; + if (player != null) + player.addChatMessage(new ChatComponentText(EnumChatFormatting.DARK_RED + + "[NEU-Waypoint] " + message)); + if (log) + new RuntimeException("[NEU-Waypoint] " + message).printStackTrace(); + } + + @SubscribeEvent + public void onEvent(TickEvent.ClientTickEvent event) { + if (event.phase == TickEvent.Phase.END && currentlyTrackedWaypoint != null + && NotEnoughUpdates.INSTANCE.config.misc.untrackCloseWaypoints + && island.equals(SBInfo.getInstance().mode)) { + EntityPlayerSP thePlayer = Minecraft.getMinecraft().thePlayer; + if (thePlayer.getDistanceSq(position) < 16) + untrackWaypoint(); + } + } + + @SubscribeEvent + public void onRenderLast(RenderWorldLastEvent event) { + if (currentlyTrackedWaypoint != null) { + if (island.equals(SBInfo.getInstance().mode)) { + RenderUtils.renderWayPoint(displayName, position, event.partialTicks); + } else if (nextTeleporter != null) { + String to = nextTeleporter.to; + String toName = getNameForAreaModeOrUnknown(to); + RenderUtils.renderWayPoint( + Arrays.asList("Teleporter to " + toName, "(towards " + displayName + "§r)"), + new BlockPos( + nextTeleporter.x, + nextTeleporter.y, + nextTeleporter.z + ), event.partialTicks + ); + } + } + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java index be9ce6c7..129e25e7 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiItemRecipe.java @@ -8,6 +8,7 @@ import io.github.moulberry.notenoughupdates.recipes.RecipeType; import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; @@ -22,8 +23,11 @@ import org.lwjgl.opengl.GL11; import java.awt.*; import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; import java.util.List; -import java.util.*; +import java.util.Map; public class GuiItemRecipe extends GuiScreen { public static final ResourceLocation resourcePacksTexture = new ResourceLocation("textures/gui/resource_packs.png"); @@ -68,6 +72,13 @@ public class GuiItemRecipe extends GuiScreen { } } + @Override + public void initGui() { + this.guiLeft = (width - this.xSize) / 2; + this.guiTop = (height - this.ySize) / 2; + changeRecipe(0, 0); + } + public NeuRecipe getCurrentRecipe() { List currentRecipes = getCurrentRecipeList(); currentIndex = MathHelper.clamp_int(currentIndex, 0, currentRecipes.size() - 1); @@ -84,8 +95,8 @@ public class GuiItemRecipe extends GuiScreen { } public boolean isWithinRect(int x, int y, int topLeftX, int topLeftY, int width, int height) { - return topLeftX <= x && x <= topLeftX + width - && topLeftY <= y && y <= topLeftY + height; + return topLeftX <= x && x < topLeftX + width + && topLeftY <= y && y < topLeftY + height; } private ImmutableList getAllRenderedSlots() { @@ -99,9 +110,6 @@ public class GuiItemRecipe extends GuiScreen { drawDefaultBackground(); FontRenderer fontRendererObj = Minecraft.getMinecraft().fontRendererObj; - this.guiLeft = (width - this.xSize) / 2; - this.guiTop = (height - this.ySize) / 2; - GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); NeuRecipe currentRecipe = getCurrentRecipe(); @@ -131,7 +139,7 @@ public class GuiItemRecipe extends GuiScreen { ); currentRecipe.drawExtraInfo(this, mouseX, mouseY); - + super.drawScreen(mouseX, mouseY, partialTicks); for (RecipeSlot slot : slots) { if (isWithinRect(mouseX, mouseY, slot.getX(this), slot.getY(this), SLOT_SIZE, SLOT_SIZE)) { if (slot.getItemStack() == null) continue; @@ -292,6 +300,18 @@ public class GuiItemRecipe extends GuiScreen { } } + public void changeRecipe(int tabIndex, int recipeIndex) { + buttonList.removeAll(getCurrentRecipe().getExtraButtons(this)); + currentTab = tabIndex; + currentIndex = recipeIndex; + buttonList.addAll(getCurrentRecipe().getExtraButtons(this)); + } + + @Override + protected void actionPerformed(GuiButton p_actionPerformed_1_) throws IOException { + getCurrentRecipe().actionPerformed(p_actionPerformed_1_); + } + @Override protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { super.mouseClicked(mouseX, mouseY, mouseButton); @@ -310,7 +330,7 @@ public class GuiItemRecipe extends GuiScreen { BUTTON_HEIGHT ) && currentIndex > 0) { - currentIndex = currentIndex - 1; + changeRecipe(currentTab, currentIndex - 1); Utils.playPressSound(); return; } @@ -324,7 +344,7 @@ public class GuiItemRecipe extends GuiScreen { BUTTON_HEIGHT ) && currentIndex < getCurrentRecipeList().size()) { - currentIndex = currentIndex + 1; + changeRecipe(currentTab, currentIndex + 1); Utils.playPressSound(); return; } @@ -338,7 +358,7 @@ public class GuiItemRecipe extends GuiScreen { TAB_SIZE_X, TAB_SIZE_Y )) { - currentTab = i; + changeRecipe(i, currentIndex); Utils.playPressSound(); return; } @@ -349,10 +369,14 @@ public class GuiItemRecipe extends GuiScreen { ItemStack itemStack = slot.getItemStack(); if (mouseButton == 0) { manager.displayGuiItemRecipe(manager.getInternalNameForItem(itemStack)); + return; } else if (mouseButton == 1) { manager.displayGuiItemUsages(manager.getInternalNameForItem(itemStack)); + return; } } } + + currentRecipe.mouseClicked(this, mouseX, mouseY, mouseButton); } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java new file mode 100644 index 00000000..d34988f6 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiNavigation.java @@ -0,0 +1,154 @@ +package io.github.moulberry.notenoughupdates.miscgui; + +import com.google.gson.JsonObject; +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.core.GuiElementTextField; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.util.ResourceLocation; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; + +public class GuiNavigation extends GuiScreen { + + public static ResourceLocation BACKGROUND = new ResourceLocation( + "notenoughupdates", + "textures/gui/navigation.png" + ); + + public static final int PIN_POSITION_U = 182; + public static final int PIN_POSITION_V = 3; + public static final int TICK_POSITION_U = 182; + public static final int TICK_POSITION_V = 34; + public static final int ICON_SIZE = 26; + + public static final int SEARCH_BAR_X = 14; + public static final int SEARCH_BAR_Y = 11; + public static final int SEARCH_BAR_WIDTH = 151; + public static final int SEARCH_BAR_HEIGHT = 24; + + public static final int LIST_START_X = 14; + public static final int LIST_START_Y = 43; + public static final int LIST_OFFSET_Y = 28; + public static final int TEXT_OFFSET_X = 28; + public static final int LIST_COUNT = 6; + + List searchResults = new ArrayList<>(); + + public int xSize = 176; + public int ySize = 222; + public int guiLeft, guiTop; + + public GuiElementTextField textField = new GuiElementTextField("", SEARCH_BAR_WIDTH, SEARCH_BAR_HEIGHT, 0); + + @Override + public void initGui() { + super.initGui(); + NotEnoughUpdates.INSTANCE.config.hidden.hasOpenedWaypointMenu = true; + guiLeft = (width - xSize) / 2; + guiTop = (height - ySize) / 2; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + drawDefaultBackground(); + Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND); + this.drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + textField.render(guiLeft + SEARCH_BAR_X, guiTop + SEARCH_BAR_Y); + + refreshResults(); + for (int i = 0; i < LIST_COUNT; i++) { + if (i < searchResults.size()) { + Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND); + String name = searchResults.get(i); + JsonObject json = NotEnoughUpdates.INSTANCE.navigation.getWaypoints().get(name); + boolean selected = name.equals(NotEnoughUpdates.INSTANCE.navigation.getInternalname()); + int baseX = guiLeft + LIST_START_X; + int baseY = guiTop + LIST_START_Y + LIST_OFFSET_Y * i; + + GlStateManager.color(1F, 1F, 1F); + drawTexturedModalRect( + baseX, + baseY, + selected ? TICK_POSITION_U : PIN_POSITION_U, selected ? TICK_POSITION_V : PIN_POSITION_V, + ICON_SIZE, ICON_SIZE + ); + Utils.drawStringF( + json.get("displayname").getAsString(), + Minecraft.getMinecraft().fontRendererObj, + baseX + TEXT_OFFSET_X, + baseY + LIST_OFFSET_Y / 2F - Minecraft.getMinecraft().fontRendererObj.FONT_HEIGHT / 2F, + false, + 0x000000 + ); + } + } + } + + private void refreshResults() { + String text = textField.getText().toLowerCase(); + List results = NotEnoughUpdates.INSTANCE.navigation + .getWaypoints() + .values() + .stream() + .filter(it -> + it.get("internalname").getAsString().toLowerCase().contains(text) + || it.get("displayname").getAsString().toLowerCase().contains(text)) + .map(it -> it.get("internalname").getAsString()) + .sorted(Comparator.comparing(String::length) + .thenComparing(String.CASE_INSENSITIVE_ORDER)) + .collect(Collectors.toList()); + + String internalname = NotEnoughUpdates.INSTANCE.navigation.getInternalname(); + if (internalname != null) { + results.remove(internalname); + results.add(0, internalname); + } + searchResults = results; + } + + @Override + protected void keyTyped(char p_keyTyped_1_, int p_keyTyped_2_) throws IOException { + super.keyTyped(p_keyTyped_1_, p_keyTyped_2_); + textField.keyTyped(p_keyTyped_1_, p_keyTyped_2_); + } + + @Override + protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { + super.mouseClicked(mouseX, mouseY, mouseButton); + if (Utils.isWithinRect( + mouseX, + mouseY, + guiLeft + SEARCH_BAR_X, + guiTop + SEARCH_BAR_Y, + SEARCH_BAR_WIDTH, + SEARCH_BAR_HEIGHT + )) { + textField.mouseClicked(mouseX, mouseY, mouseButton); + } else { + textField.setFocus(false); + } + for (int i = 0; i < LIST_COUNT; i++) { + if (i < searchResults.size()) { + int baseX = guiLeft + LIST_START_X; + int baseY = guiTop + LIST_START_Y + LIST_OFFSET_Y * i; + if (Utils.isWithinRect(mouseX, mouseY, baseX, baseY, ICON_SIZE, ICON_SIZE)) { + String thing = searchResults.get(i); + boolean selected = thing.equals(NotEnoughUpdates.INSTANCE.navigation.getInternalname()); + if (selected) { + NotEnoughUpdates.INSTANCE.navigation.untrackWaypoint(); + } else { + NotEnoughUpdates.INSTANCE.navigation.trackWaypoint(thing); + } + Utils.playPressSound(); + } + } + } + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java index 5c766254..2e31fbf3 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java @@ -417,6 +417,9 @@ public class NEUConfig extends Config { @Expose public boolean npcRetextureOnSelf = false; + @Expose + public boolean hasOpenedWaypointMenu = false; + } public static ArrayList createDefaultEnchantColours() { @@ -511,6 +514,8 @@ public class NEUConfig extends Config { @Expose public long dailyMithrilPowerCompleted = 0L; @Expose + public HashMap unlockedWarpScrolls = new HashMap<>(); + @Expose public long dailyHeavyPearlCompleted = 0L; } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java index 631ce545..a04a51f9 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java @@ -1,7 +1,15 @@ package io.github.moulberry.notenoughupdates.options.seperateSections; import com.google.gson.annotations.Expose; -import io.github.moulberry.notenoughupdates.core.config.annotations.*; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigAccordionId; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorAccordion; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorBoolean; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorButton; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorKeybind; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; +import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; +import org.lwjgl.input.Keyboard; public class Misc { @Expose @@ -163,4 +171,29 @@ public class Misc { "Fandom" }) public int wiki = 0; + + @Expose + @ConfigOption( + name = "Waypoint Keybind", + desc = "Press this keybind to show waypoints to various NPCs" + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_N) + public int keybindWaypoint = Keyboard.KEY_N; + + @Expose + @ConfigOption( + name = "Untrack close Waypoints", + desc = "Automatically untrack waypoints once you get close to them." + ) + @ConfigEditorBoolean + public boolean untrackCloseWaypoints = true; + + @Expose + @ConfigOption( + name = "Warp twice", + desc = "Warp twice when using SHIFT+N to /warp to a waypoint." + ) + @ConfigEditorBoolean + public boolean warpTwice = true; + } 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 87712378..1729cfa7 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java @@ -4835,12 +4835,7 @@ public class GuiProfileViewer extends GuiScreen { if (profile.getUuid().equals("20934ef9488c465180a78f861586b4cf")) { locationStr = "Ignoring DMs"; } else { - if (location != null) { - JsonObject misc = Constants.MISC; - if (misc != null) { - locationStr = Utils.getElementAsString(Utils.getElement(misc, "area_names." + location), "Unknown"); - } - } + locationStr = NotEnoughUpdates.INSTANCE.navigation.getNameForAreaModeOrUnknown(location); } if (locationStr != null) { statusStr += EnumChatFormatting.GRAY + " - " + EnumChatFormatting.GREEN + locationStr; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java new file mode 100644 index 00000000..778f156f --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/ItemShopRecipe.java @@ -0,0 +1,189 @@ +package io.github.moulberry.notenoughupdates.recipes; + +import com.google.common.collect.Sets; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import io.github.moulberry.notenoughupdates.NEUManager; +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.miscgui.GuiItemRecipe; +import io.github.moulberry.notenoughupdates.miscgui.GuiNavigation; +import io.github.moulberry.notenoughupdates.util.JsonUtils; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.input.Keyboard; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class ItemShopRecipe implements NeuRecipe { + public static ResourceLocation BACKGROUND = new ResourceLocation( + "notenoughupdates", + "textures/gui/item_shop_recipe.png" + ); + + private static final int SLOT_IMAGE_U = 176; + private static final int SLOT_IMAGE_V = 0; + + private static final int SLOT_IMAGE_SIZE = 18; + public static final int RESULT_SLOT_Y = 66; + public static final int RESULT_SLOT_X = 124; + + public static final int BUTTON_X = 130; + public static final int BUTTON_Y = 16; + + private static final int COST_SLOT_X = 30; + private static final int COST_SLOT_SPACING = 6; + private static final int ROW_SPACING = 18; + private final List cost; + private final Ingredient result; + private boolean selected; + + private final Ingredient npcIngredient; + private final boolean hasWaypoint; + private final JsonObject npcObject; + + public ItemShopRecipe(Ingredient npcIngredient, List cost, Ingredient result, JsonObject npcObject) { + this.npcIngredient = npcIngredient; + this.cost = cost; + this.result = result; + this.npcObject = npcObject; + hasWaypoint = NotEnoughUpdates.INSTANCE.navigation.isValidWaypoint(npcObject); + } + + @Override + public Set getCatalystItems() { + return Sets.newHashSet(npcIngredient); + } + + @Override + public Set getIngredients() { + return new HashSet<>(cost); + } + + @Override + public Set getOutputs() { + return Sets.newHashSet(result); + } + + @Override + public List getSlots() { + List slots = new ArrayList<>(); + + int i = 0; + int colCount = cost.size() / 4; + int startX = COST_SLOT_X - 8 * (colCount - 1); + int rowSize = cost.size(); + if (rowSize > 4) rowSize = 4; + int startY = RESULT_SLOT_Y + 8 - (SLOT_IMAGE_SIZE * rowSize + COST_SLOT_SPACING * (rowSize - 1)) / 2; + for (Ingredient ingredient : cost) { + slots.add(new RecipeSlot( + startX + (i / 4) * ROW_SPACING + 1, + startY + (i % 4) * (SLOT_IMAGE_SIZE + COST_SLOT_SPACING) + 1, + ingredient.getItemStack() + )); + i++; + } + slots.add(new RecipeSlot(RESULT_SLOT_X, RESULT_SLOT_Y, result.getItemStack())); + return slots; + } + + @Override + public void drawExtraBackground(GuiItemRecipe gui, int mouseX, int mouseY) { + Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND); + int colCount = cost.size() / 4; + int startX = COST_SLOT_X - 8 * (colCount - 1); + int rowSize = cost.size(); + if (rowSize > 4) rowSize = 4; + int startY = RESULT_SLOT_Y + 8 - (SLOT_IMAGE_SIZE * rowSize + COST_SLOT_SPACING * (rowSize - 1)) / 2; + for (int i = 0; i < cost.size(); i++) { + gui.drawTexturedModalRect( + gui.guiLeft + startX + (i / 4) * ROW_SPACING, + gui.guiTop + startY + (i % 4) * (SLOT_IMAGE_SIZE + COST_SLOT_SPACING), + SLOT_IMAGE_U, SLOT_IMAGE_V, + SLOT_IMAGE_SIZE, SLOT_IMAGE_SIZE + ); + } + if (!hasWaypoint) return; + Minecraft.getMinecraft().getTextureManager().bindTexture(GuiNavigation.BACKGROUND); + selected = npcIngredient.getInternalItemId().equals(NotEnoughUpdates.INSTANCE.navigation.getInternalname()); + gui.drawTexturedModalRect( + gui.guiLeft + BUTTON_X, + gui.guiTop + BUTTON_Y, + selected ? GuiNavigation.TICK_POSITION_U : GuiNavigation.PIN_POSITION_U, + selected ? GuiNavigation.TICK_POSITION_V : GuiNavigation.PIN_POSITION_V, + GuiNavigation.ICON_SIZE, + GuiNavigation.ICON_SIZE + ); + } + + @Override + public void mouseClicked(GuiItemRecipe gui, int mouseX, int mouseY, int mouseButton) { + if (hasWaypoint && Utils.isWithinRect( + mouseX - gui.guiLeft, + mouseY - gui.guiTop, + BUTTON_X, + BUTTON_Y, + GuiNavigation.ICON_SIZE, + GuiNavigation.ICON_SIZE + )) { + boolean shiftPressed = Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT); + if (selected && !shiftPressed) { + NotEnoughUpdates.INSTANCE.navigation.untrackWaypoint(); + } else { + NotEnoughUpdates.INSTANCE.navigation.trackWaypoint(npcIngredient.getInternalItemId()); + if (shiftPressed) { + NotEnoughUpdates.INSTANCE.navigation.useWarpCommand(); + } + } + Utils.playPressSound(); + selected = !selected; + } + } + + @Override + public String getTitle() { + return npcObject.get("displayname").getAsString(); + } + + @Override + public RecipeType getType() { + return RecipeType.NPC_SHOP; + } + + @Override + public boolean hasVariableCost() { + return false; + } + + @Override + public JsonObject serialize() { + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("type", "npc_shop"); + jsonObject.addProperty("result", result.serialize()); + jsonObject.add( + "cost", + JsonUtils.transformListToJsonArray(cost, costItem -> new JsonPrimitive(costItem.serialize())) + ); + return jsonObject; + } + + @Override + public ResourceLocation getBackground() { + return BACKGROUND; + } + + public static NeuRecipe parseItemRecipe(NEUManager neuManager, JsonObject recipe, JsonObject outputItemJson) { + return new ItemShopRecipe( + new Ingredient(neuManager, outputItemJson.get("internalname").getAsString()), + JsonUtils.transformJsonArrayToList( + recipe.getAsJsonArray("cost"), + it -> new Ingredient(neuManager, it.getAsString()) + ), + new Ingredient(neuManager, recipe.get("result").getAsString()), + outputItemJson + ); + } +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java index dcbf71da..b98fbe10 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/MobLootRecipe.java @@ -1,7 +1,6 @@ package io.github.moulberry.notenoughupdates.recipes; import com.google.common.collect.Sets; -import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; @@ -14,7 +13,6 @@ import io.github.moulberry.notenoughupdates.util.JsonUtils; import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -24,7 +22,6 @@ import java.util.List; import java.util.Set; import java.util.function.BiConsumer; import java.util.stream.Collectors; -import java.util.stream.Stream; public class MobLootRecipe implements NeuRecipe { @@ -143,9 +140,14 @@ public class MobLootRecipe implements NeuRecipe { return Sets.newHashSet(mobIngredient); } + @Override + public Set getCatalystItems() { + return Sets.newHashSet(mobIngredient); + } + @Override public Set getOutputs() { - return Stream.concat(drops.stream().map(it -> it.drop), Stream.of(mobIngredient)).collect(Collectors.toSet()); + return drops.stream().map(it -> it.drop).collect(Collectors.toSet()); } @Override diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java index 8202bb48..04945cc5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/NeuRecipe.java @@ -3,8 +3,11 @@ package io.github.moulberry.notenoughupdates.recipes; import com.google.gson.JsonObject; import io.github.moulberry.notenoughupdates.NEUManager; import io.github.moulberry.notenoughupdates.miscgui.GuiItemRecipe; +import net.minecraft.client.gui.GuiButton; import net.minecraft.util.ResourceLocation; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Set; @@ -30,10 +33,22 @@ public interface NeuRecipe { default void drawHoverInformation(GuiItemRecipe gui, int mouseX, int mouseY) { } + default void mouseClicked(GuiItemRecipe gui, int mouseX, int mouseY, int mouseButton) {} + + default void handleKeyboardInput() {} + + default Set getCatalystItems() { + return Collections.emptySet(); + } + boolean hasVariableCost(); JsonObject serialize(); + default List getExtraButtons(GuiItemRecipe guiItemRecipe) { + return new ArrayList<>(); + } + ResourceLocation getBackground(); static NeuRecipe parseRecipe(NEUManager manager, JsonObject recipe, JsonObject output) { @@ -59,4 +74,6 @@ public interface NeuRecipe { default int[] getPageFlipPositionLeftTopCorner() { return new int[]{110, 90}; } + + default void actionPerformed(GuiButton button) {} } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java index cc8b50be..023b20eb 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/RecipeType.java @@ -10,7 +10,8 @@ public enum RecipeType { CRAFTING("crafting", "Crafting", CraftingRecipe::parseCraftingRecipe, new ItemStack(Blocks.crafting_table)), FORGE("forge", "Forging", ForgeRecipe::parseForgeRecipe, new ItemStack(Blocks.anvil)), TRADE("trade", "Trading", VillagerTradeRecipe::parseStaticRecipe, new ItemStack(Items.emerald)), - MOB_LOOT("drops", "Mob Loot", MobLootRecipe::parseRecipe, new ItemStack(Items.diamond_sword)); + MOB_LOOT("drops", "Mob Loot", MobLootRecipe::parseRecipe, new ItemStack(Items.diamond_sword)), + NPC_SHOP("npc_shop", "NPC Item Shop", ItemShopRecipe::parseItemRecipe, new ItemStack(Items.wheat_seeds)); private final String id; private final String label; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java b/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java index 2e53e153..10eb96a5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/recipes/VillagerTradeRecipe.java @@ -125,7 +125,7 @@ public class VillagerTradeRecipe implements NeuRecipe { JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("type", "trade"); jsonObject.addProperty("result", result.serialize()); - jsonObject.addProperty("cost", cost.getInternalItemId()); + jsonObject.addProperty("cost", cost.serialize()); if (minCost > 0) jsonObject.addProperty("min", minCost); if (maxCost > 0) diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java index dab4844d..4c421f3e 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java @@ -1,6 +1,17 @@ package io.github.moulberry.notenoughupdates.util; -import com.google.gson.*; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.JsonPrimitive; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import io.github.moulberry.notenoughupdates.events.RepositoryReloadEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import java.lang.reflect.Type; import java.util.concurrent.locks.ReentrantLock; @@ -42,7 +53,8 @@ public class Constants { private static final ReentrantLock lock = new ReentrantLock(); - public static void reload() { + @SubscribeEvent + public void reload(RepositoryReloadEvent event) { try { lock.lock(); @@ -57,6 +69,8 @@ public class Constants { ESSENCECOSTS = Utils.getConstant("essencecosts", gson); FAIRYSOULS = Utils.getConstant("fairy_souls", gson); REFORGESTONES = Utils.getConstant("reforgestones", gson); + } catch (Exception ex) { + ex.printStackTrace(); } finally { lock.unlock(); } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java index e3d90aaa..729e68bd 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/ItemUtils.java @@ -1,19 +1,39 @@ package io.github.moulberry.notenoughupdates.util; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class ItemUtils { - public static ItemStack getCoinItemStack(int coinAmount) { - ItemStack itemStack = new ItemStack(Items.gold_nugget); - itemStack.setStackDisplayName("\u00A7r\u00A76" + Utils.formatNumberWithDots(coinAmount) + " Coins"); - return itemStack; + public static ItemStack getCoinItemStack(long coinAmount) { + String uuid = "2070f6cb-f5db-367a-acd0-64d39a7e5d1b"; + String texture = + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTM4MDcxNzIxY2M1YjRjZDQwNmNlNDMxYTEzZjg2MDgzYTg5NzNlMTA2NGQyZjg4OTc4Njk5MzBlZTZlNTIzNyJ9fX0="; + if (coinAmount >= 100000) { + uuid = "94fa2455-2881-31fe-bb4e-e3e24d58dbe3"; + texture = + "eyJ0aW1lc3RhbXAiOjE2MzU5NTczOTM4MDMsInByb2ZpbGVJZCI6ImJiN2NjYTcxMDQzNDQ0MTI4ZDMwODllMTNiZGZhYjU5IiwicHJvZmlsZU5hbWUiOiJsYXVyZW5jaW8zMDMiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2M5Yjc3OTk5ZmVkM2EyNzU4YmZlYWYwNzkzZTUyMjgzODE3YmVhNjQwNDRiZjQzZWYyOTQzM2Y5NTRiYjUyZjYiLCJtZXRhZGF0YSI6eyJtb2RlbCI6InNsaW0ifX19fQo="; + } + if (coinAmount >= 10000000) { + uuid = "0af8df1f-098c-3b72-ac6b-65d65fd0b668"; + texture = + "ewogICJ0aW1lc3RhbXAiIDogMTYzNTk1NzQ4ODQxNywKICAicHJvZmlsZUlkIiA6ICJmNThkZWJkNTlmNTA0MjIyOGY2MDIyMjExZDRjMTQwYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ1bnZlbnRpdmV0YWxlbnQiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2I5NTFmZWQ2YTdiMmNiYzIwMzY5MTZkZWM3YTQ2YzRhNTY0ODE1NjRkMTRmOTQ1YjZlYmMwMzM4Mjc2NmQzYiIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9"; + } + ItemStack skull = Utils.createSkull( + "\u00A7r\u00A76" + Utils.formatNumberWithDots(coinAmount) + " Coins", + uuid, + texture + ); + NBTTagCompound extraAttributes = skull.getTagCompound().getCompoundTag("ExtraAttributes"); + extraAttributes.setString("id", "SKYBLOCK_COIN"); + skull.getTagCompound().setTag("ExtraAttributes", extraAttributes); + return skull; } public static void appendLore(ItemStack is, List moreLore) { @@ -30,4 +50,17 @@ public class ItemUtils { tagCompound.setTag("display", display); is.setTagCompound(tagCompound); } + + public static List getLore(ItemStack is) { + NBTTagCompound tagCompound = is.getTagCompound(); + if (tagCompound == null) { + return Collections.emptyList(); + } + NBTTagList tagList = tagCompound.getCompoundTag("display").getTagList("Lore", 8); + List list = new ArrayList<>(); + for (int i = 0; i < tagList.tagCount(); i++) { + list.add(tagList.getStringTagAt(i)); + } + return list; + } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java index 916631b7..b4193c88 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/JsonUtils.java @@ -5,7 +5,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -16,11 +18,18 @@ public class JsonUtils { return StreamSupport.stream(array.spliterator(), false); } - public static List transformJsonArrayToList(JsonArray array, Function mapper) { + public static List transformJsonArrayToList( + JsonArray array, + Function mapper + ) { return getJsonArrayAsStream(array).map(mapper).collect(Collectors.toList()); } - public static List getJsonArrayOrEmpty(JsonObject rootObject, String name, Function mapper) { + public static List getJsonArrayOrEmpty( + JsonObject rootObject, + String name, + Function mapper + ) { if (!rootObject.has(name)) { return Collections.emptyList(); } @@ -31,7 +40,10 @@ public class JsonUtils { return Collections.emptyList(); } - public static JsonArray transformListToJsonArray(List things, Function mapper) { + public static JsonArray transformListToJsonArray( + List things, + Function mapper + ) { JsonArray array = new JsonArray(); for (T t : things) { array.add(mapper.apply(t)); @@ -39,4 +51,15 @@ public class JsonUtils { return array; } + public static Map transformJsonObjectToMap( + JsonObject object, + Function mapper + ) { + Map map = new HashMap<>(); + for (Map.Entry entry : object.entrySet()) { + map.put(entry.getKey(), mapper.apply(entry.getValue())); + } + return map; + } + } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java index 7b714cd0..e572a391 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java @@ -1854,8 +1854,8 @@ public class Utils { } public static boolean isWithinRect(int x, int y, int left, int top, int width, int height) { - return left <= x && x <= left + width && - top <= y && y <= top + height; + return left <= x && x < left + width && + top <= y && y < top + height; } public static int getNumberOfStars(ItemStack stack) { diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png index b07e5ca1..cdd8b0f1 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png new file mode 100644 index 00000000..e78c0f44 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png new file mode 100644 index 00000000..b8eb26e4 Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png index ed982599..8cb89bae 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png differ -- cgit From 6e40cd5d2426eee681b091acc6e0822d4d7c45b5 Mon Sep 17 00:00:00 2001 From: NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> Date: Fri, 8 Jul 2022 02:07:38 +1000 Subject: Added bestiary tab to pv (#177) * some progress - missing be mobs from crimson and dungeons * fix id's * works :tm: * working mobs levels (for hub and island because lazy * idk seems right * Added bestiary texture, fixed name bug, added changelog i hope i didnt mess up anything. * i did smth * use 2.1.md from master because yes * L europe * Finished be tab * hi im just putting it here because too lazy to open a pr for this k, thanks bye * unbelievable * fix crash * fix crash with old repo * stfu infer * europe wins * l o n g Co-authored-by: jani270 --- Update Notes/2.1.md | 3 +- .../notenoughupdates/ItemPriceInformation.java | 8 +- .../moulberry/notenoughupdates/NEUManager.java | 21 + .../notenoughupdates/NotEnoughUpdates.java | 3 + .../listener/ItemTooltipListener.java | 8 +- .../options/seperateSections/ProfileViewer.java | 3 +- .../profileviewer/CollectionPage.java | 338 ++++++ .../profileviewer/GuiProfileViewer.java | 292 +----- .../profileviewer/bestiary/BestiaryData.java | 1089 ++++++++++++++++++++ .../profileviewer/bestiary/BestiaryPage.java | 279 +++++ .../assets/notenoughupdates/pv_bestiary_tab.png | Bin 0 -> 628 bytes .../notenoughupdates/textures/gui/navigation.png | Bin 1028 -> 984 bytes 12 files changed, 1760 insertions(+), 284 deletions(-) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/profileviewer/CollectionPage.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryData.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryPage.java create mode 100644 src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png (limited to 'src/main/resources/assets/notenoughupdates/textures/gui') diff --git a/Update Notes/2.1.md b/Update Notes/2.1.md index 81ead5ec..5ab5ec19 100644 --- a/Update Notes/2.1.md +++ b/Update Notes/2.1.md @@ -21,8 +21,9 @@ - [Added hotm tab](https://media.discordapp.net/attachments/659613194066722833/991115131507441724/unknown.png) - nopo - Big thanks to kwev1n for some math and jani for the texture - [Added bingo tab](https://media.discordapp.net/attachments/659613194066722833/991115625772625980/unknown.png) - Lulonaut - - [Added bingo and Stranded profile icons to /pv](https://cdn.discordapp.com/attachments/832652653292027904/915844465372065842/unknown.png) - nopo + - [Added bingo and stranded profile icons](https://cdn.discordapp.com/attachments/832652653292027904/915844465372065842/unknown.png) - nopo - [Added trophy fishing tab](https://media.discordapp.net/attachments/659613194066722833/991114639150698567/unknown.png) - efefury + - [Added bestiary tab](https://cdn.discordapp.com/attachments/832652653292027904/991927854776459324/unknown.png) - nopo - Added equipment - nopo - Added blaze slayer level and kills - nopo - Added social level - nopo diff --git a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java index e1a3b3ee..4b5630bc 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/ItemPriceInformation.java @@ -145,7 +145,7 @@ public class ItemPriceInformation { tooltip.add(EnumChatFormatting.DARK_GRAY + "[SHIFT show x" + shiftStackMultiplier + "]"); added = true; } - int bazaarBuyPrice = (int) bazaarInfo.get("avg_buy").getAsFloat() * stackMultiplier; + long bazaarBuyPrice = (long) bazaarInfo.get("avg_buy").getAsFloat() * stackMultiplier; tooltip.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Buy: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + (shortNumber && bazaarBuyPrice > 1000 ? Utils.shortNumberFormat(bazaarBuyPrice, 0) @@ -160,7 +160,7 @@ public class ItemPriceInformation { tooltip.add(EnumChatFormatting.DARK_GRAY + "[SHIFT show x" + shiftStackMultiplier + "]"); added = true; } - int bazaarSellPrice = (int) bazaarInfo.get("avg_sell").getAsFloat() * stackMultiplier; + long bazaarSellPrice = (long) bazaarInfo.get("avg_sell").getAsFloat() * stackMultiplier; tooltip.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Sell: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + (shortNumber && bazaarSellPrice > 1000 ? Utils.shortNumberFormat(bazaarSellPrice, 0) @@ -175,7 +175,7 @@ public class ItemPriceInformation { tooltip.add(EnumChatFormatting.DARK_GRAY + "[SHIFT show x" + shiftStackMultiplier + "]"); added = true; } - int bazaarInstantBuyPrice = (int) bazaarInfo.get("curr_buy").getAsFloat() * stackMultiplier; + long bazaarInstantBuyPrice = (long) bazaarInfo.get("curr_buy").getAsFloat() * stackMultiplier; tooltip.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Insta-Buy: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + (shortNumber && bazaarInstantBuyPrice > 1000 ? Utils.shortNumberFormat(bazaarInstantBuyPrice, 0) @@ -191,7 +191,7 @@ public class ItemPriceInformation { tooltip.add(EnumChatFormatting.DARK_GRAY + "[SHIFT show x" + shiftStackMultiplier + "]"); added = true; } - int bazaarInstantSellPrice = (int) bazaarInfo.get("curr_sell").getAsFloat() * stackMultiplier; + long bazaarInstantSellPrice = (long) bazaarInfo.get("curr_sell").getAsFloat() * stackMultiplier; tooltip.add(EnumChatFormatting.YELLOW.toString() + EnumChatFormatting.BOLD + "Bazaar Insta-Sell: " + EnumChatFormatting.GOLD + EnumChatFormatting.BOLD + (shortNumber && bazaarInstantSellPrice > 1000 ? Utils.shortNumberFormat( diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java index 18d756d8..cd0d08b5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NEUManager.java @@ -662,6 +662,22 @@ public class NEUManager { return uuid; } + public String getSkullValueFromNBT(NBTTagCompound tag) { + if (tag != null && tag.hasKey("SkullOwner", 10)) { + NBTTagCompound ea = tag.getCompoundTag("SkullOwner"); + NBTTagCompound ea3 = tag.getCompoundTag("display"); + + if (ea.hasKey("Properties", 10)) { + NBTTagCompound ea2 = ea; + ea = ea.getCompoundTag("Properties"); + ea = ea.getTagList("textures", 10).getCompoundTagAt(0); + String name = ea3.getString("Name").replaceAll(" M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$", ""); + return "put(\"ID\", Utils.createSkull(EnumChatFormatting.AQUA + \"" + name + "\" ,\"" + ea2.getString("Id") + "\", \"" + ea.getString("Value") +"\"));"; + } + } + return null; + } + public String getInternalnameFromNBT(NBTTagCompound tag) { String internalname = null; if (tag != null && tag.hasKey("ExtraAttributes", 10)) { @@ -891,6 +907,11 @@ public class NEUManager { return json; } + public String getSkullValueForItem(ItemStack stack) { + if (stack == null) return null; + NBTTagCompound tag = stack.getTagCompound(); + return getSkullValueFromNBT(tag); + } public String getInternalNameForItem(ItemStack stack) { if (stack == null) return null; NBTTagCompound tag = stack.getTagCompound(); diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java index d372602e..59e7c392 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java @@ -243,6 +243,9 @@ public class NotEnoughUpdates { if (config.profileViewer.pageLayout.size() == 8) { config.profileViewer.pageLayout.add(8); } + if (config.profileViewer.pageLayout.size() == 9) { + config.profileViewer.pageLayout.add(9); + } saveConfig(); } 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 e7da8628..1dc45cf8 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/listener/ItemTooltipListener.java @@ -26,6 +26,7 @@ import com.google.gson.JsonPrimitive; import com.mojang.authlib.GameProfile; import com.mojang.authlib.minecraft.MinecraftProfileTexture; import io.github.moulberry.notenoughupdates.ItemPriceInformation; +import io.github.moulberry.notenoughupdates.NEUManager; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.core.util.MiscUtils; import io.github.moulberry.notenoughupdates.miscfeatures.PetInfoOverlay; @@ -900,6 +901,11 @@ public class ItemTooltipListener { boolean k = Keyboard.isKeyDown(Keyboard.KEY_K); boolean m = Keyboard.isKeyDown(Keyboard.KEY_M); boolean n = Keyboard.isKeyDown(Keyboard.KEY_N); + boolean f = Keyboard.isKeyDown(Keyboard.KEY_F); + + if (!copied && f && NotEnoughUpdates.INSTANCE.config.hidden.dev) { + MiscUtils.copyToClipboard(NotEnoughUpdates.INSTANCE.manager.getSkullValueForItem(event.itemStack)); + } event.toolTip.add( EnumChatFormatting.AQUA + "Internal Name: " + EnumChatFormatting.GRAY + internal + EnumChatFormatting.GOLD + @@ -938,7 +944,7 @@ public class ItemTooltipListener { } } - copied = k || m || n; + copied = k || m || n || f; } } } diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java index 49385d02..ee1abf46 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java @@ -68,10 +68,11 @@ public class ProfileViewer { "\u00a7eMining", "\u00a7eBingo", "\u00a7eTrophy Fish", + "\u00a7eBestiary", }, allowDeleting = false ) - public List pageLayout = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8)); + public List pageLayout = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)); @Expose @ConfigOption( diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/CollectionPage.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/CollectionPage.java new file mode 100644 index 00000000..c15190a1 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/CollectionPage.java @@ -0,0 +1,338 @@ +/* + * Copyright (C) 2022 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see . + */ + +package io.github.moulberry.notenoughupdates.profileviewer; + +import com.google.gson.JsonObject; +import io.github.moulberry.notenoughupdates.NotEnoughUpdates; +import io.github.moulberry.notenoughupdates.util.Constants; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import java.awt.*; +import java.io.IOException; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; + +public class CollectionPage { + + private static int guiLeft; + private static int guiTop; + private static int sizeX = 413; + private static int sizeY = 202; + public static final ResourceLocation pv_cols = new ResourceLocation("notenoughupdates:pv_cols.png"); + public static final ResourceLocation pv_elements = new ResourceLocation("notenoughupdates:pv_elements.png"); + private static final int COLLS_XCOUNT = 5; + private static final int COLLS_YCOUNT = 4; + private static final float COLLS_XPADDING = (190 - COLLS_XCOUNT * 20) / (float) (COLLS_XCOUNT + 1); + private static final float COLLS_YPADDING = (202 - COLLS_YCOUNT * 20) / (float) (COLLS_YCOUNT + 1); + private static final String[] romans = new String[]{ + "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", + "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XIX", "XX" + }; + private static List tooltipToDisplay = null; + private static final NumberFormat numberFormat = NumberFormat.getInstance(Locale.US); + private static ItemStack selectedCollectionCategory = null; + public static void drawColsPage(int mouseX, int mouseY, int width, int height) { + guiLeft = GuiProfileViewer.getGuiLeft(); + guiTop = GuiProfileViewer.getGuiTop(); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_cols); + Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY, GL11.GL_NEAREST); + + JsonObject collectionInfo = GuiProfileViewer.getProfile().getCollectionInfo(GuiProfileViewer.getProfileId()); + if (collectionInfo == null) { + Utils.drawStringCentered( + EnumChatFormatting.RED + "Collection API not enabled!", + Minecraft.getMinecraft().fontRendererObj, + guiLeft + 134, + guiTop + 101, + true, + 0 + ); + return; + } + JsonObject resourceCollectionInfo = ProfileViewer.getResourceCollectionInformation(); + if (resourceCollectionInfo == null) return; + + int collectionCatSize = ProfileViewer.getCollectionCatToCollectionMap().size(); + int collectionCatYSize = (int) (162f / (collectionCatSize - 1 + 0.0000001f)); + { + int yIndex = 0; + for (ItemStack stack : ProfileViewer.getCollectionCatToCollectionMap().keySet()) { + if (selectedCollectionCategory == null) selectedCollectionCategory = stack; + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + if (stack == selectedCollectionCategory) { + Utils.drawTexturedRect(guiLeft + 7, guiTop + 10 + collectionCatYSize * yIndex, 20, 20, + 20 / 256f, 0, 20 / 256f, 0, GL11.GL_NEAREST + ); + Utils.drawItemStackWithText( + stack, + guiLeft + 10, + guiTop + 13 + collectionCatYSize * yIndex, + "" + (yIndex + 1) + ); + } else { + Utils.drawTexturedRect(guiLeft + 7, guiTop + 10 + collectionCatYSize * yIndex, 20, 20, + 0, 20 / 256f, 0, 20 / 256f, GL11.GL_NEAREST + ); + Utils.drawItemStackWithText(stack, guiLeft + 9, guiTop + 12 + collectionCatYSize * yIndex, "" + (yIndex + 1)); + } + yIndex++; + } + } + + Utils.drawStringCentered( + selectedCollectionCategory.getDisplayName() + " Collections", + Minecraft.getMinecraft().fontRendererObj, + guiLeft + 134, + guiTop + 14, + true, + 4210752 + ); + + JsonObject minionTiers = collectionInfo.get("minion_tiers").getAsJsonObject(); + JsonObject collectionTiers = collectionInfo.get("collection_tiers").getAsJsonObject(); + JsonObject maxAmounts = collectionInfo.get("max_amounts").getAsJsonObject(); + JsonObject totalAmounts = collectionInfo.get("total_amounts").getAsJsonObject(); + JsonObject personalAmounts = collectionInfo.get("personal_amounts").getAsJsonObject(); + + List collections = ProfileViewer.getCollectionCatToCollectionMap().get(selectedCollectionCategory); + if (collections != null) { + for (int i = 0; i < collections.size(); i++) { + String collection = collections.get(i); + if (collection != null) { + ItemStack collectionItem = ProfileViewer.getCollectionToCollectionDisplayMap().get(collection); + if (collectionItem != null) { + int xIndex = i % COLLS_XCOUNT; + int yIndex = i / COLLS_XCOUNT; + + float x = 39 + COLLS_XPADDING + (COLLS_XPADDING + 20) * xIndex; + float y = 7 + COLLS_YPADDING + (COLLS_YPADDING + 20) * yIndex; + + String tierString; + int tier = (int) Utils.getElementAsFloat(collectionTiers.get(collection), 0); + if (tier > 20 || tier < 0) { + tierString = String.valueOf(tier); + } else { + tierString = romans[tier]; + } + float amount = Utils.getElementAsFloat(totalAmounts.get(collection), 0); + float maxAmount = Utils.getElementAsFloat(maxAmounts.get(collection), 0); + Color color = new Color(128, 128, 128, 255); + int tierStringColour = color.getRGB(); + float completedness = 0; + if (maxAmount > 0) { + completedness = amount / maxAmount; + } + completedness = Math.min(1, completedness); + if (maxAmounts.has(collection) && completedness >= 1) { + tierStringColour = new Color(255, 215, 0).getRGB(); + } + + GlStateManager.color(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y, 20, 20 * (1 - completedness), + 0, 20 / 256f, 0, 20 * (1 - completedness) / 256f, GL11.GL_NEAREST + ); + GlStateManager.color(1, 185 / 255f, 0, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y + 20 * (1 - completedness), 20, 20 * (completedness), + 0, 20 / 256f, 20 * (1 - completedness) / 256f, 20 / 256f, GL11.GL_NEAREST + ); + Utils.drawItemStack(collectionItem, guiLeft + (int) x + 2, guiTop + (int) y + 2); + + if (mouseX > guiLeft + (int) x + 2 && mouseX < guiLeft + (int) x + 18) { + if (mouseY > guiTop + (int) y + 2 && mouseY < guiTop + (int) y + 18) { + tooltipToDisplay = new ArrayList<>(); + tooltipToDisplay.add(collectionItem.getDisplayName() + " " + + (completedness >= 1 ? EnumChatFormatting.GOLD : EnumChatFormatting.GRAY) + tierString); + tooltipToDisplay.add( + "Collected: " + numberFormat.format(Utils.getElementAsFloat(personalAmounts.get(collection), 0))); + tooltipToDisplay.add("Total Collected: " + numberFormat.format(amount)); + } + } + + GlStateManager.color(1, 1, 1, 1); + if (tier >= 0) { + Utils.drawStringCentered(tierString, Minecraft.getMinecraft().fontRendererObj, + guiLeft + x + 10, guiTop + y - 4, true, + tierStringColour + ); + } + + Utils.drawStringCentered(GuiProfileViewer.shortNumberFormat(amount, 0) + "", Minecraft.getMinecraft().fontRendererObj, + guiLeft + x + 10, guiTop + y + 26, true, + color.getRGB() + ); + } + } + } + } + + Utils.drawStringCentered( + selectedCollectionCategory.getDisplayName() + " Minions", + Minecraft.getMinecraft().fontRendererObj, + guiLeft + 326, + guiTop + 14, + true, + 4210752 + ); + + List minions = ProfileViewer.getCollectionCatToMinionMap().get(selectedCollectionCategory); + if (minions != null) { + for (int i = 0; i < minions.size(); i++) { + String minion = minions.get(i); + if (minion != null) { + JsonObject misc = Constants.MISC; + float MAX_MINION_TIER = + Utils.getElementAsFloat(Utils.getElement(misc, "minions." + minion + "_GENERATOR"), 11); + + int tier = (int) Utils.getElementAsFloat(minionTiers.get(minion), 0); + JsonObject minionJson; + if (tier == 0) { + minionJson = NotEnoughUpdates.INSTANCE.manager.getItemInformation().get(minion + "_GENERATOR_1"); + } else { + minionJson = NotEnoughUpdates.INSTANCE.manager.getItemInformation().get(minion + "_GENERATOR_" + tier); + } + + if (minionJson != null) { + int xIndex = i % COLLS_XCOUNT; + int yIndex = i / COLLS_XCOUNT; + + float x = 231 + COLLS_XPADDING + (COLLS_XPADDING + 20) * xIndex; + float y = 7 + COLLS_YPADDING + (COLLS_YPADDING + 20) * yIndex; + + String tierString; + + if (tier - 1 >= romans.length || tier - 1 < 0) { + tierString = String.valueOf(tier); + } else { + tierString = romans[tier - 1]; + } + + Color color = new Color(128, 128, 128, 255); + int tierStringColour = color.getRGB(); + float completedness = tier / MAX_MINION_TIER; + + completedness = Math.min(1, completedness); + if (completedness >= 1) { + tierStringColour = new Color(255, 215, 0).getRGB(); + } + + GlStateManager.color(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y, 20, 20 * (1 - completedness), + 0, 20 / 256f, 0, 20 * (1 - completedness) / 256f, GL11.GL_NEAREST + ); + GlStateManager.color(1, 185 / 255f, 0, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y + 20 * (1 - completedness), 20, 20 * (completedness), + 0, 20 / 256f, 20 * (1 - completedness) / 256f, 20 / 256f, GL11.GL_NEAREST + ); + + Utils.drawItemStack( + NotEnoughUpdates.INSTANCE.manager.jsonToStack(minionJson), + guiLeft + (int) x + 2, + guiTop + (int) y + 2 + ); + + if (mouseX > guiLeft + (int) x + 2 && mouseX < guiLeft + (int) x + 18) { + if (mouseY > guiTop + (int) y + 2 && mouseY < guiTop + (int) y + 18) { + tooltipToDisplay = NotEnoughUpdates.INSTANCE.manager.jsonToStack(minionJson) + .getTooltip( + Minecraft.getMinecraft().thePlayer, + false + ); + } + } + + GlStateManager.color(1, 1, 1, 1); + if (tier >= 0) { + Utils.drawStringCentered(tierString, Minecraft.getMinecraft().fontRendererObj, + guiLeft + x + 10, guiTop + y - 4, true, + tierStringColour + ); + } + } + } + } + } + + if (tooltipToDisplay != null) { + List grayTooltip = new ArrayList<>(tooltipToDisplay.size()); + for (String line : tooltipToDisplay) { + grayTooltip.add(EnumChatFormatting.GRAY + line); + } + Utils.drawHoveringText(grayTooltip, mouseX, mouseY, width, height, -1, Minecraft.getMinecraft().fontRendererObj); + tooltipToDisplay = null; + } + } + + protected static void keyTypedCols(char typedChar, int keyCode) throws IOException { + ItemStack stack = null; + Iterator items = ProfileViewer.getCollectionCatToCollectionMap().keySet().iterator(); + switch (keyCode) { + case Keyboard.KEY_5: + case Keyboard.KEY_NUMPAD5: + stack = items.next(); + case Keyboard.KEY_4: + case Keyboard.KEY_NUMPAD4: + stack = items.next(); + case Keyboard.KEY_3: + case Keyboard.KEY_NUMPAD3: + stack = items.next(); + case Keyboard.KEY_2: + case Keyboard.KEY_NUMPAD2: + stack = items.next(); + case Keyboard.KEY_1: + case Keyboard.KEY_NUMPAD1: + stack = items.next(); + } + if (stack != null) { + selectedCollectionCategory = stack; + } + Utils.playPressSound(); + } + + public static void mouseReleasedCols(int mouseX, int mouseY, int mouseButton) { + int collectionCatSize = ProfileViewer.getCollectionCatToCollectionMap().size(); + int collectionCatYSize = (int) (162f / (collectionCatSize - 1 + 0.0000001f)); + int yIndex = 0; + for (ItemStack stack : ProfileViewer.getCollectionCatToCollectionMap().keySet()) { + if (mouseX > guiLeft + 7 && mouseX < guiLeft + 7 + 20) { + if (mouseY > guiTop + 10 + collectionCatYSize * yIndex && + mouseY < guiTop + 10 + collectionCatYSize * yIndex + 20) { + selectedCollectionCategory = stack; + Utils.playPressSound(); + return; + } + } + yIndex++; + } + } +} 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 90ad36c0..457f7c34 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/GuiProfileViewer.java @@ -29,6 +29,7 @@ import com.mojang.authlib.GameProfile; import io.github.moulberry.notenoughupdates.NotEnoughUpdates; import io.github.moulberry.notenoughupdates.cosmetics.ShaderManager; import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField; +import io.github.moulberry.notenoughupdates.profileviewer.bestiary.BestiaryPage; import io.github.moulberry.notenoughupdates.profileviewer.trophy.TrophyFishingPage; import io.github.moulberry.notenoughupdates.util.Constants; import io.github.moulberry.notenoughupdates.util.SBInfo; @@ -81,7 +82,6 @@ import java.util.Arrays; import java.util.Base64; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -105,7 +105,7 @@ public class GuiProfileViewer extends GuiScreen { public static final ResourceLocation pv_extra = new ResourceLocation("notenoughupdates:pv_extra.png"); public static final ResourceLocation pv_mining = new ResourceLocation("notenoughupdates:pv_mining.png"); public static final ResourceLocation pv_invs = new ResourceLocation("notenoughupdates:pv_invs.png"); - public static final ResourceLocation pv_cols = new ResourceLocation("notenoughupdates:pv_cols.png"); + public static final ResourceLocation pv_pets = new ResourceLocation("notenoughupdates:pv_pets.png"); public static final ResourceLocation pv_dropdown = new ResourceLocation("notenoughupdates:pv_dropdown.png"); public static final ResourceLocation pv_bg = new ResourceLocation("notenoughupdates:pv_bg.png"); @@ -230,10 +230,7 @@ public class GuiProfileViewer extends GuiScreen { private final HashMap levelObjhotms = new HashMap<>(); private final HashMap> levelObjClasseses = new HashMap<>(); private final GuiElementTextField dungeonLevelTextField = new GuiElementTextField("", GuiElementTextField.SCALE_TEXT); - private final String[] romans = new String[]{ - "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", - "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XIX", "XX" - }; + private final int COLLS_XCOUNT = 5; private final int COLLS_YCOUNT = 4; private final float COLLS_XPADDING = (190 - COLLS_XCOUNT * 20) / (float) (COLLS_XCOUNT + 1); @@ -254,7 +251,6 @@ public class GuiProfileViewer extends GuiScreen { private List tooltipToDisplay = null; private static String profileId = null; private boolean profileDropdownSelected = false; - private ItemStack selectedCollectionCategory = null; private int floorLevelTo = -1; private long floorLevelToXP = -1; private boolean onMasterMode = false; @@ -704,7 +700,7 @@ public class GuiProfileViewer extends GuiScreen { drawInvsPage(mouseX, mouseY); break; case COLLECTIONS: - drawColsPage(mouseX, mouseY, partialTicks); + CollectionPage.drawColsPage(mouseX, mouseY, width, height); break; case PETS: drawPetsPage(mouseX, mouseY, partialTicks); @@ -718,6 +714,9 @@ public class GuiProfileViewer extends GuiScreen { case TROPHY_FISH: TrophyFishingPage.renderPage(mouseX, mouseY); break; + case BESTIARY: + BestiaryPage.renderPage(mouseX, mouseY); + break; case LOADING: String str = EnumChatFormatting.YELLOW + "Loading player profiles."; long currentTimeMod = System.currentTimeMillis() % 1000; @@ -1093,7 +1092,7 @@ public class GuiProfileViewer extends GuiScreen { inventoryTextField.keyTyped(typedChar, keyCode); break; case COLLECTIONS: - keyTypedCols(typedChar, keyCode); + CollectionPage.keyTypedCols(typedChar, keyCode); break; case DUNGEON: keyTypedDung(typedChar, keyCode); @@ -1120,10 +1119,13 @@ public class GuiProfileViewer extends GuiScreen { mouseReleasedInvs(mouseX, mouseY, mouseButton); break; case COLLECTIONS: - mouseReleasedCols(mouseX, mouseY, mouseButton); + CollectionPage.mouseReleasedCols(mouseX, mouseY, mouseButton); break; case PETS: mouseReleasedPets(mouseX, mouseY, mouseButton); + break; + case BESTIARY: + BestiaryPage.mouseReleased(mouseX, mouseY, mouseButton); } } @@ -1209,31 +1211,7 @@ public class GuiProfileViewer extends GuiScreen { Utils.playPressSound(); } - protected void keyTypedCols(char typedChar, int keyCode) throws IOException { - ItemStack stack = null; - Iterator items = ProfileViewer.getCollectionCatToCollectionMap().keySet().iterator(); - switch (keyCode) { - case Keyboard.KEY_5: - case Keyboard.KEY_NUMPAD5: - stack = items.next(); - case Keyboard.KEY_4: - case Keyboard.KEY_NUMPAD4: - stack = items.next(); - case Keyboard.KEY_3: - case Keyboard.KEY_NUMPAD3: - stack = items.next(); - case Keyboard.KEY_2: - case Keyboard.KEY_NUMPAD2: - stack = items.next(); - case Keyboard.KEY_1: - case Keyboard.KEY_NUMPAD1: - stack = items.next(); - } - if (stack != null) { - selectedCollectionCategory = stack; - } - Utils.playPressSound(); - } + private void mouseReleasedPets(int mouseX, int mouseY, int mouseButton) { if (mouseY > guiTop + 6 && mouseY < guiTop + 22) { @@ -1300,22 +1278,6 @@ public class GuiProfileViewer extends GuiScreen { } } - private void mouseReleasedCols(int mouseX, int mouseY, int mouseButton) { - int collectionCatSize = ProfileViewer.getCollectionCatToCollectionMap().size(); - int collectionCatYSize = (int) (162f / (collectionCatSize - 1 + 0.0000001f)); - int yIndex = 0; - for (ItemStack stack : ProfileViewer.getCollectionCatToCollectionMap().keySet()) { - if (mouseX > guiLeft + 7 && mouseX < guiLeft + 7 + 20) { - if (mouseY > guiTop + 10 + collectionCatYSize * yIndex && - mouseY < guiTop + 10 + collectionCatYSize * yIndex + 20) { - selectedCollectionCategory = stack; - Utils.playPressSound(); - return; - } - } - yIndex++; - } - } private void calculateFloorLevelXP() { JsonObject leveling = Constants.LEVELING; @@ -2433,232 +2395,7 @@ public class GuiProfileViewer extends GuiScreen { } } - private void drawColsPage(int mouseX, int mouseY, float partialTicks) { - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_cols); - Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY, GL11.GL_NEAREST); - JsonObject collectionInfo = profile.getCollectionInfo(profileId); - if (collectionInfo == null) { - Utils.drawStringCentered( - EnumChatFormatting.RED + "Collection API not enabled!", - Minecraft.getMinecraft().fontRendererObj, - guiLeft + 134, - guiTop + 101, - true, - 0 - ); - return; - } - JsonObject resourceCollectionInfo = ProfileViewer.getResourceCollectionInformation(); - if (resourceCollectionInfo == null) return; - - int collectionCatSize = ProfileViewer.getCollectionCatToCollectionMap().size(); - int collectionCatYSize = (int) (162f / (collectionCatSize - 1 + 0.0000001f)); - { - int yIndex = 0; - for (ItemStack stack : ProfileViewer.getCollectionCatToCollectionMap().keySet()) { - if (selectedCollectionCategory == null) selectedCollectionCategory = stack; - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); - if (stack == selectedCollectionCategory) { - Utils.drawTexturedRect(guiLeft + 7, guiTop + 10 + collectionCatYSize * yIndex, 20, 20, - 20 / 256f, 0, 20 / 256f, 0, GL11.GL_NEAREST - ); - Utils.drawItemStackWithText( - stack, - guiLeft + 10, - guiTop + 13 + collectionCatYSize * yIndex, - "" + (yIndex + 1) - ); - } else { - Utils.drawTexturedRect(guiLeft + 7, guiTop + 10 + collectionCatYSize * yIndex, 20, 20, - 0, 20 / 256f, 0, 20 / 256f, GL11.GL_NEAREST - ); - Utils.drawItemStackWithText(stack, guiLeft + 9, guiTop + 12 + collectionCatYSize * yIndex, "" + (yIndex + 1)); - } - yIndex++; - } - } - - Utils.drawStringCentered( - selectedCollectionCategory.getDisplayName() + " Collections", - Minecraft.getMinecraft().fontRendererObj, - guiLeft + 134, - guiTop + 14, - true, - 4210752 - ); - - JsonObject minionTiers = collectionInfo.get("minion_tiers").getAsJsonObject(); - JsonObject collectionTiers = collectionInfo.get("collection_tiers").getAsJsonObject(); - JsonObject maxAmounts = collectionInfo.get("max_amounts").getAsJsonObject(); - JsonObject totalAmounts = collectionInfo.get("total_amounts").getAsJsonObject(); - JsonObject personalAmounts = collectionInfo.get("personal_amounts").getAsJsonObject(); - - List collections = ProfileViewer.getCollectionCatToCollectionMap().get(selectedCollectionCategory); - if (collections != null) { - for (int i = 0; i < collections.size(); i++) { - String collection = collections.get(i); - if (collection != null) { - ItemStack collectionItem = ProfileViewer.getCollectionToCollectionDisplayMap().get(collection); - if (collectionItem != null) { - int xIndex = i % COLLS_XCOUNT; - int yIndex = i / COLLS_XCOUNT; - - float x = 39 + COLLS_XPADDING + (COLLS_XPADDING + 20) * xIndex; - float y = 7 + COLLS_YPADDING + (COLLS_YPADDING + 20) * yIndex; - - String tierString; - int tier = (int) Utils.getElementAsFloat(collectionTiers.get(collection), 0); - if (tier > 20 || tier < 0) { - tierString = String.valueOf(tier); - } else { - tierString = romans[tier]; - } - float amount = Utils.getElementAsFloat(totalAmounts.get(collection), 0); - float maxAmount = Utils.getElementAsFloat(maxAmounts.get(collection), 0); - Color color = new Color(128, 128, 128, 255); - int tierStringColour = color.getRGB(); - float completedness = 0; - if (maxAmount > 0) { - completedness = amount / maxAmount; - } - completedness = Math.min(1, completedness); - if (maxAmounts.has(collection) && completedness >= 1) { - tierStringColour = new Color(255, 215, 0).getRGB(); - } - - GlStateManager.color(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); - Utils.drawTexturedRect(guiLeft + x, guiTop + y, 20, 20 * (1 - completedness), - 0, 20 / 256f, 0, 20 * (1 - completedness) / 256f, GL11.GL_NEAREST - ); - GlStateManager.color(1, 185 / 255f, 0, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); - Utils.drawTexturedRect(guiLeft + x, guiTop + y + 20 * (1 - completedness), 20, 20 * (completedness), - 0, 20 / 256f, 20 * (1 - completedness) / 256f, 20 / 256f, GL11.GL_NEAREST - ); - Utils.drawItemStack(collectionItem, guiLeft + (int) x + 2, guiTop + (int) y + 2); - - if (mouseX > guiLeft + (int) x + 2 && mouseX < guiLeft + (int) x + 18) { - if (mouseY > guiTop + (int) y + 2 && mouseY < guiTop + (int) y + 18) { - tooltipToDisplay = new ArrayList<>(); - tooltipToDisplay.add(collectionItem.getDisplayName() + " " + - (completedness >= 1 ? EnumChatFormatting.GOLD : EnumChatFormatting.GRAY) + tierString); - tooltipToDisplay.add( - "Collected: " + numberFormat.format(Utils.getElementAsFloat(personalAmounts.get(collection), 0))); - tooltipToDisplay.add("Total Collected: " + numberFormat.format(amount)); - } - } - - GlStateManager.color(1, 1, 1, 1); - if (tier >= 0) { - Utils.drawStringCentered(tierString, fontRendererObj, - guiLeft + x + 10, guiTop + y - 4, true, - tierStringColour - ); - } - - Utils.drawStringCentered( - shortNumberFormat(amount, 0) + "", fontRendererObj, - guiLeft + x + 10, guiTop + y + 26, true, - color.getRGB() - ); - } - } - } - } - - Utils.drawStringCentered( - selectedCollectionCategory.getDisplayName() + " Minions", - Minecraft.getMinecraft().fontRendererObj, - guiLeft + 326, - guiTop + 14, - true, - 4210752 - ); - - List minions = ProfileViewer.getCollectionCatToMinionMap().get(selectedCollectionCategory); - if (minions != null) { - for (int i = 0; i < minions.size(); i++) { - String minion = minions.get(i); - if (minion != null) { - JsonObject misc = Constants.MISC; - float MAX_MINION_TIER = - Utils.getElementAsFloat(Utils.getElement(misc, "minions." + minion + "_GENERATOR"), 11); - - int tier = (int) Utils.getElementAsFloat(minionTiers.get(minion), 0); - JsonObject minionJson; - if (tier == 0) { - minionJson = NotEnoughUpdates.INSTANCE.manager.getItemInformation().get(minion + "_GENERATOR_1"); - } else { - minionJson = NotEnoughUpdates.INSTANCE.manager.getItemInformation().get(minion + "_GENERATOR_" + tier); - } - - if (minionJson != null) { - int xIndex = i % COLLS_XCOUNT; - int yIndex = i / COLLS_XCOUNT; - - float x = 231 + COLLS_XPADDING + (COLLS_XPADDING + 20) * xIndex; - float y = 7 + COLLS_YPADDING + (COLLS_YPADDING + 20) * yIndex; - - String tierString; - - if (tier - 1 >= romans.length || tier - 1 < 0) { - tierString = String.valueOf(tier); - } else { - tierString = romans[tier - 1]; - } - - Color color = new Color(128, 128, 128, 255); - int tierStringColour = color.getRGB(); - float completedness = tier / MAX_MINION_TIER; - - completedness = Math.min(1, completedness); - if (completedness >= 1) { - tierStringColour = new Color(255, 215, 0).getRGB(); - } - - GlStateManager.color(1, 1, 1, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); - Utils.drawTexturedRect(guiLeft + x, guiTop + y, 20, 20 * (1 - completedness), - 0, 20 / 256f, 0, 20 * (1 - completedness) / 256f, GL11.GL_NEAREST - ); - GlStateManager.color(1, 185 / 255f, 0, 1); - Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); - Utils.drawTexturedRect(guiLeft + x, guiTop + y + 20 * (1 - completedness), 20, 20 * (completedness), - 0, 20 / 256f, 20 * (1 - completedness) / 256f, 20 / 256f, GL11.GL_NEAREST - ); - - Utils.drawItemStack( - NotEnoughUpdates.INSTANCE.manager.jsonToStack(minionJson), - guiLeft + (int) x + 2, - guiTop + (int) y + 2 - ); - - if (mouseX > guiLeft + (int) x + 2 && mouseX < guiLeft + (int) x + 18) { - if (mouseY > guiTop + (int) y + 2 && mouseY < guiTop + (int) y + 18) { - tooltipToDisplay = NotEnoughUpdates.INSTANCE.manager.jsonToStack(minionJson) - .getTooltip( - Minecraft.getMinecraft().thePlayer, - false - ); - } - } - - GlStateManager.color(1, 1, 1, 1); - if (tier >= 0) { - Utils.drawStringCentered(tierString, fontRendererObj, - guiLeft + x + 10, guiTop + y - 4, true, - tierStringColour - ); - } - } - } - } - } - - //190 - } public int countItemsInInventory( String internalname, @@ -5399,7 +5136,8 @@ public class GuiProfileViewer extends GuiScreen { PETS(5, Items.bone, "Pets"), MINING(6, Items.iron_pickaxe, "Heart of the Mountain"), BINGO(7, Items.filled_map, "Bingo"), - TROPHY_FISH(8, Items.fishing_rod, "Trophy Fish"); + TROPHY_FISH(8, Items.fishing_rod, "Trophy Fish"), + BESTIARY(9, Items.iron_sword, "Bestiary"); public final ItemStack stack; public final int id; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryData.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryData.java new file mode 100644 index 00000000..1e18f825 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryData.java @@ -0,0 +1,1089 @@ +/* + * Copyright (C) 2022 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see . + */ + +package io.github.moulberry.notenoughupdates.profileviewer.bestiary; + +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +import java.util.LinkedHashMap; +import java.util.List; + +public class BestiaryData { + private static final LinkedHashMap> bestiaryLocations = + new LinkedHashMap>() {{ + put( + Utils.createSkull( + EnumChatFormatting.AQUA + "Private Island", + "bdee7687-9c85-4e7a-b789-b55e90d21d68", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzljODg4MWU0MjkxNWE5ZDI5YmI2MWExNmZiMjZkMDU5OTEzMjA0ZDI2NWRmNWI0MzliM2Q3OTJhY2Q1NiJ9fX0=" + ), + Utils.createList( + "family_cave_spider", + "family_enderman_private", + "family_skeleton", + "family_slime", + "family_spider", + "family_witch", + "family_zombie" + ) + ); + put( + Utils.createSkull( + EnumChatFormatting.AQUA + "Hub", + "88208736-41cd-4ed8-8ed7-53179140a7fa", + "eyJ0aW1lc3RhbXAiOjE1NTkyMTU0MTY5MDksInByb2ZpbGVJZCI6IjQxZDNhYmMyZDc0OTQwMGM5MDkwZDU0MzRkMDM4MzFiIiwicHJvZmlsZU5hbWUiOiJNZWdha2xvb24iLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2Q3Y2M2Njg3NDIzZDA1NzBkNTU2YWM1M2UwNjc2Y2I1NjNiYmRkOTcxN2NkODI2OWJkZWJlZDZmNmQ0ZTdiZjgifX19" + ), + Utils.createList( + "family_unburried_zombie", + "family_old_wolf", + "family_ruin_wolf", + "family_zombie_villager" + ) + ); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "Spiders Den", + "acbeaf98-2081-40c5-b5a3-221a2957d532", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzc1NDMxOGEzMzc2ZjQ3MGU0ODFkZmNkNmM4M2E1OWFhNjkwYWQ0YjRkZDc1NzdmZGFkMWMyZWYwOGQ4YWVlNiJ9fX0" + ), Utils.createList( + "family_arachne", + "family_arachne_brood", + "family_arachne_keeper", + "family_brood_mother_spider", + "family_dasher_spider", + "family_respawning_skeleton", + "family_random_slime", + "family_spider_jockey", + "family_splitter_spider", + "family_voracious_spider", + "family_weaver_spider" + )); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "The End", + "e39ea8b1-a267-48a9-907a-1b97b85342bc", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg0MGI4N2Q1MjI3MWQyYTc1NWRlZGM4Mjg3N2UwZWQzZGY2N2RjYzQyZWE0NzllYzE0NjE3NmIwMjc3OWE1In19fQ" + ), Utils.createList( + "family_dragon", + "family_enderman", + "family_endermite", + "family_corrupted_protector", + "family_obsidian_wither", + "family_voidling_extremist", + "family_voidling_fanatic", + "family_watcher", + "family_zealot_enderman" + )); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "Crimson Isles", + "d8489bfe-dcd7-41f0-bfbd-fb482bf61ecb", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzM2ODdlMjVjNjMyYmNlOGFhNjFlMGQ2NGMyNGU2OTRjM2VlYTYyOWVhOTQ0ZjRjZjMwZGNmYjRmYmNlMDcxIn19fQ" + ), Utils.createList( + "family_ashfang", + "family_barbarian_duke_x", + "family_bladesoul", + "family_blaze", + "family_flaming_spider", + "family_ghast", + "family_mage_outlaw", + "family_magma_cube", + "family_magma_cube_boss", + "family_matcho", + "family_charging_mushroom_cow", + "family_pigman", + "family_wither_skeleton", + "family_wither_spectre" + )); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "Deep Caverns", + "896b5137-a2dd-4de2-8c63-d5a5649bfc70", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTY5YTFmMTE0MTUxYjQ1MjEzNzNmMzRiYzE0YzI5NjNhNTAxMWNkYzI1YTY1NTRjNDhjNzA4Y2Q5NmViZmMifX19" + ), Utils.createList( + "family_automaton", + "family_butterfly", + "family_emerald_slime", + "family_caverns_ghost", + "family_goblin", + "family_team_treasurite", + "family_ice_walker", + "family_lapis_zombie", + "family_diamond_skeleton", + "family_diamond_zombie", + "family_redstone_pigman", + "family_sludge", + "family_invisible_creeper", + "family_thyst", + "family_treasure_hoarder", + "family_worms", + "family_yog" + )); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "The Park", + "6473b2ff-0575-4aec-811f-5f0dca2131b6", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTIyMWY4MTNkYWNlZTBmZWY4YzU5Zjc2ODk0ZGJiMjY0MTU0NzhkOWRkZmM0NGMyZTcwOGE2ZDNiNzU0OWIifX19" + ), Utils.createList("family_howling_spirit", "family_pack_spirit", "family_soul_of_the_alpha" + )); + put(Utils.createItemStack(Item.getItemFromBlock(Blocks.lit_pumpkin), EnumChatFormatting.AQUA + "Spooky" + ), Utils.createList( + "family_batty_witch", + "family_headless_horseman", + "family_phantom_spirit", + "family_scary_jerry", + "family_trick_or_treater", + "family_wither_gourd", + "family_wraith" + )); + put(Utils.createSkull( + EnumChatFormatting.AQUA + "Catacombs", + "00b3837d-9275-304c-8bf9-656659087e6b", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTY0ZTFjM2UzMTVjOGQ4ZmZmYzM3OTg1YjY2ODFjNWJkMTZhNmY5N2ZmZDA3MTk5ZThhMDVlZmJlZjEwMzc5MyJ9fX0" + ), Utils.createList( + "family_diamond_guy", + "family_cellar_spider", + "family_crypt_dreadlord", + "family_crypt_lurker", + "family_crypt_souleater", + "family_king_midas", + "family_lonely_spider", + "family_lost_adventurer", + "family_scared_skeleton", + "family_shadow_assassin", + "family_skeleton_grunt", + "family_skeleton_master", + "family_skeleton_soldier", + "family_skeletor", + "family_sniper_skeleton", + "family_super_archer", + "family_super_tank_zombie", + "family_crypt_tank_zombie", + "family_watcher_summon_undead", + "family_dungeon_respawning_skeleton", + "family_crypt_witherskeleton", + "family_zombie_commander", + "family_zombie_grunt", + "family_zombie_knight", + "family_zombie_soldier" + )); + }}; + + public static LinkedHashMap> getBestiaryLocations() { + return bestiaryLocations; + } + + private static final LinkedHashMap bestiaryMobs = + new LinkedHashMap() {{ + // Private Island + put( + "family_cave_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aCave Spider", + "a8aee72d-0d1d-3db7-8cf8-be1ce6ec2dc4", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDE2NDVkZmQ3N2QwOTkyMzEwN2IzNDk2ZTk0ZWViNWMzMDMyOWY5N2VmYzk2ZWQ3NmUyMjZlOTgyMjQifX19" + ) + ); + put( + "family_enderman_private", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aEnderman", + "2005daad-730b-363c-abae-e6f3830816fb", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTZjMGIzNmQ1M2ZmZjY5YTQ5YzdkNmYzOTMyZjJiMGZlOTQ4ZTAzMjIyNmQ1ZTgwNDVlYzU4NDA4YTM2ZTk1MSJ9fX0=" + ) + ); + put( + "family_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSkeleton", + "53924f1a-87e6-4709-8e53-f1c7d13dc239", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMTgzNjcwNCwKICAicHJvZmlsZUlkIiA6ICI1MzkyNGYxYTg3ZTY0NzA5OGU1M2YxYzdkMTNkYzIzOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaHJvd3BvIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg4ZWI2OGE0ZDM4ZTlmNDQ2YjhlOTkyNzVmMTYwMzAyZjM2NmVmMTAyMTZhYmY5NDg0ODdlNTgyNTEyYmQwZjMiCiAgICB9CiAgfQp9=" + ) + ); + put( + "family_slime", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSlime", + "3b70a2f3-319c-38d5-b7d1-5b2425770184", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk1YWVlYzZiODQyYWRhODY2OWY4NDZkNjViYzQ5NzYyNTk3ODI0YWI5NDRmMjJmNDViZjNiYmI5NDFhYmU2YyJ9fX0=" + ) + ); + put( + "family_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSpider", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_witch", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWitch", + "cf4f97d7-2e1f-3678-9ca3-4a7b9666cc28", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmNlNjYwNDE1N2ZjNGFiNTU5MWU0YmNmNTA3YTc0OTkxOGVlOWM0MWUzNTdkNDczNzZlMGVlNzM0MjA3NGM5MCJ9fX0=" + ) + ); + put( + "family_zombie", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + + // Hub + put( + "family_unburried_zombie", + Utils.createItemStack(Items.golden_sword, EnumChatFormatting.AQUA + "§aCrypt Ghoul") + ); + put( + "family_old_wolf", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aOld Wolf", + "26e6f2d9-8a27-3a77-965c-5bd2b5d2dc93", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDM1OTUzN2MxNTUzNGY2MWMxY2Q4ODZiYzExODc3NGVkMjIyODBlN2NkYWI2NjEzODcwMTYwYWFkNGNhMzkifX19" + ) + ); + put( + "family_ruin_wolf", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWolf", + "7e9af289-f295-3f8c-bd54-58b7667d5759", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjlkMWQzMTEzZWM0M2FjMjk2MWRkNTlmMjgxNzVmYjQ3MTg4NzNjNmM0NDhkZmNhODcyMjMxN2Q2NyJ9fX0=" + ) + ); + put( + "family_zombie_villager", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie Villager", + "3acb9940-fc42-328e-91e8-c9a9a57e8698", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTVlMDhhODc3NmMxNzY0YzNmZTZhNmRkZDQxMmRmY2I4N2Y0MTMzMWRhZDQ3OWFjOTZjMjFkZjRiZjNhYzg5YyJ9fX0=" + ) + ); + + // Spiders Den + put( + "family_arachne", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aArachne", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_arachne_brood", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aArachne's Brood", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_arachne_keeper", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aArachne's Keeper", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_brood_mother_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aBrood Mother", + "d7390e70-1e99-3c24-9b1c-bb098e0bbef1", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2YwNjIyYjM5OThkNDJiMzRkNWJjNzYwYmIyYzgzZmRiYzZlNjhmYWIwNWI3ZWExN2IzNTA5N2VkODExOTBkNiJ9fX0=" + ) + ); + put( + "family_dasher_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aDasher Spider", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_respawning_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aGravel Skeleton", + "53924f1a-87e6-4709-8e53-f1c7d13dc239", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMTgzNjcwNCwKICAicHJvZmlsZUlkIiA6ICI1MzkyNGYxYTg3ZTY0NzA5OGU1M2YxYzdkMTNkYzIzOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaHJvd3BvIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg4ZWI2OGE0ZDM4ZTlmNDQ2YjhlOTkyNzVmMTYwMzAyZjM2NmVmMTAyMTZhYmY5NDg0ODdlNTgyNTEyYmQwZjMiCiAgICB9CiAgfQp9=" + ) + ); + put( + "family_random_slime", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aRain Slime", + "3b70a2f3-319c-38d5-b7d1-5b2425770184", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk1YWVlYzZiODQyYWRhODY2OWY4NDZkNjViYzQ5NzYyNTk3ODI0YWI5NDRmMjJmNDViZjNiYmI5NDFhYmU2YyJ9fX0=" + ) + ); + put( + "family_spider_jockey", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSpider Jockey", + "4eb8745c-80d2-356b-b4fa-f3ffa74082e7", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzA5MzkzNzNjYWZlNGIxZjUzOTdhYWZkMDlmM2JiMTY2M2U3YjYyOWE0MWE3NWZiZGMxODYwYjZiZjhiNDc1ZiJ9fX0=" + ) + ); + put( + "family_splitter_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSplitter Spider", + "50010472-fa22-3519-b941-2d6d22f47bf1", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmFjZjY5ZmM3YWY1NDk3YTE3NDE4OTFkMWU1YmYzMmI5NmFlMGQ2YzBiYmQzYzE0NzU4ZWE0NGEwM2M1NzI4MyJ9fX0=" + ) + ); + put( + "family_voracious_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aVoracious Spider", + "3e5474d4-4365-3ea7-b4bc-b4edc54da341", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODMwMDk4NmVkMGEwNGVhNzk5MDRmNmFlNTNmNDllZDNhMGZmNWIxZGY2MmJiYTYyMmVjYmQzNzc3ZjE1NmRmOCJ9fX0=" + ) + ); + put( + "family_weaver_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWeaver Spider", + "97414c0c-623b-3df3-b1f6-bbcaddafc7fc", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTIxNDM4ZjY0NmRjMDQ1MTU5NjdlODE5NWNjYzNkMzFlMjNiMDJmOWFhMGFjOTE0ZWRjMjgyMmY5ODM5NGI4NiJ9fX0=" + ) + ); + + // The End + put( + "family_dragon", + Utils.createItemStack(Item.getItemFromBlock(Blocks.dragon_egg), EnumChatFormatting.AQUA + "§aDragon") + ); + put( + "family_enderman", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aEnderman", + "2005daad-730b-363c-abae-e6f3830816fb", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTZjMGIzNmQ1M2ZmZjY5YTQ5YzdkNmYzOTMyZjJiMGZlOTQ4ZTAzMjIyNmQ1ZTgwNDVlYzU4NDA4YTM2ZTk1MSJ9fX0=" + ) + ); + put( + "family_endermite", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aEndermite", + "b3224e56-73d2-32f9-9081-a23b7512035b", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWJjN2I5ZDM2ZmI5MmI2YmYyOTJiZTczZDMyYzZjNWIwZWNjMjViNDQzMjNhNTQxZmFlMWYxZTY3ZTM5M2EzZSJ9fX0=" + ) + ); + put( + "family_corrupted_protector", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aEndstone Protector", + "a46a9adf-60a3-38f2-a3dd-335d85f1cc10", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiY2FjZWViNDE2MmY0MDBkNDQ3NDMzMTU5MzJhYzgyMGQzMTE5YWM4OTg2YTAxNjFhNzI2MTYxY2NjOTNmYyJ9fX0=" + ) + ); + put( + "family_obsidian_wither", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aObsidian Defender", + "d0e05de7-6067-454d-beae-c6d19d886191", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMjg1MTE1NCwKICAicHJvZmlsZUlkIiA6ICJkMGUwNWRlNzYwNjc0NTRkYmVhZWM2ZDE5ZDg4NjE5MSIsCiAgInByb2ZpbGVOYW1lIiA6ICJNb3VsYmVycnkiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmNlMTU1MjI0ZWE0YmM0OWE4ZTkxOTA3MzdjYjA0MTdkOGE3YzM4YTAzN2Q4ZDAzODJkZGU0ODI5YzEwMzU5MCIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9" + ) + ); + put( + "family_voidling_extremist", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§dVoidling Extremist", + "159dcb01-74e3-382c-87d6-3afa022fb379", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWIwNzU5NGUyZGYyNzM5MjFhNzdjMTAxZDBiZmRmYTExMTVhYmVkNWI5YjIwMjllYjQ5NmNlYmE5YmRiYjRiMyJ9fX0=" + ) + ); + put( + "family_voidling_fanatic", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aVoidling Fanatic", + "e86aab24-6245-3967-bf3d-07e31999b602", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTUzYjdiY2Q1NmYwYjk1Zjg3ZGQ3OWVkMTc2MzZiZWI5ZDgzNDY3NDQwMTQyMjhlYTJmNmIxMTBiMTQ4YzEifX19" + ) + ); + put( + "family_watcher", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWatcher", + "00a702b9-7bad-3205-a04b-52478d8c0e7f", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGFhOGZjOGRlNjQxN2I0OGQ0OGM4MGI0NDNjZjUzMjZlM2Q5ZGE0ZGJlOWIyNWZjZDQ5NTQ5ZDk2MTY4ZmMwIn19fQ==" + ) + ); + put( + "family_zealot_enderman", + Utils.createItemStack(Item.getItemFromBlock(Blocks.ender_chest), EnumChatFormatting.AQUA + "§aZealot") + ); + + // Crimson Isle + put( + "family_ashfang", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aAshfang", + "1bc8810e-2b57-3a89-8e00-a47a057d6ecc", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2QyYTViNGIxMDliZDc4OGVkYmEwMTcxZDBhYWI4YTU1MzA1YWMyZjU2MTg0ZGY3MGEzMTljZDQ4OGEzNmMzZSJ9fX0=" + ) + ); + put( + "family_barbarian_duke_x", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aBarbarian Duke X", + "6ddece1d-8227-35f3-b9ca-476a9f6cd8c5", + "ewogICJ0aW1lc3RhbXAiIDogMTY0MTI0OTYyNTU3NSwKICAicHJvZmlsZUlkIiA6ICIyNzZlMDQ2YjI0MDM0M2VkOTk2NmU0OTRlN2U2Y2IzNCIsCiAgInByb2ZpbGVOYW1lIiA6ICJBRFJBTlM3MTAiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmVlOWZjN2MxODFlMmY2MzBmNmIxYWY4NWQ0OTUxMzU5Y2FmY2ZhODJmZjVlYTNiYzI4M2UwZTYwODhjNmU1NCIKICAgIH0KICB9Cn0" + ) + ); + put( + "family_bladesoul", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aBladesoul", + "9a1699a4-9b61-37a5-be7a-ca23a1f092a1", + "ewogICJ0aW1lc3RhbXAiIDogMTY0NDA4Mjg1NzcxMCwKICAicHJvZmlsZUlkIiA6ICIwNTVhOTk2NTk2M2E0YjRmOGMwMjRmMTJmNDFkMmNmMiIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGVWb3hlbGxlIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzdmNWYzMzg0Mzg0ZDdmMDNiZjk3YTczMDk5YjBiYWZiNzJjNTM4ZmMwNDE1YWM4NjEzYjY2NGY4NzU3OWEzNzkiCiAgICB9CiAgfQp9" + ) + ); + put( + "family_blaze", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aBlaze", + "118fe834-28aa-3b0d-afe6-f0c52d01afe8", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc4ZWYyZTRjZjJjNDFhMmQxNGJmZGU5Y2FmZjEwMjE5ZjViMWJmNWIzNWE0OWViNTFjNjQ2Nzg4MmNiNWYwIn19fQ==" + ) + ); + put( + "family_flaming_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aFlaming Spider", + "d27e14a2-f35e-3c7b-8062-089fa201a533", + "ewogICJ0aW1lc3RhbXAiIDogMTY0NDQ5OTUzOTQ2NywKICAicHJvZmlsZUlkIiA6ICJhYTZhNzUwNWVkYmU0NjNiYjk1NWYyMWY0MjNiYTM1NCIsCiAgInByb2ZpbGVOYW1lIiA6ICJub3RhbmR5d2FyaG9sIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzVhNjVlZjIzZWEzNTA0NzE1MGQzMzg4MDQ3M2E0N2ZlNjM1ZjBjMGUzYzgyM2JkNzZkYzg0OWNiMDI0NDE2NTUiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ==" + ) + ); + put( + "family_ghast", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aGhast", + "69725d7d-1933-3dea-87bd-a3052482ab2c", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGU4YTM4ZTlhZmJkM2RhMTBkMTliNTc3YzU1YzdiZmQ2YjRmMmU0MDdlNDRkNDAxN2IyM2JlOTE2N2FiZmYwMiJ9fX0=" + ) + ); + put( + "family_mage_outlaw", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMage Outlaw", + "1d16c26c-d937-336f-821a-371968d050c2", + "ewogICJ0aW1lc3RhbXAiIDogMTY0NDA4Mjg3Mzk2NywKICAicHJvZmlsZUlkIiA6ICJiNzQ3OWJhZTI5YzQ0YjIzYmE1NjI4MzM3OGYwZTNjNiIsCiAgInByb2ZpbGVOYW1lIiA6ICJTeWxlZXgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWJlYzk5YjNhMDUwZmQyNzc1Mjg0MDc2NzYzNjZlMjBiOTIwMDZhZDg4ZDE0NzI3YTRkOTllYjhjYjI3M2I2MiIKICAgIH0KICB9Cn0" + ) + ); + put( + "family_magma_cube", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMagma Cube", + "35f02923-7bec-3869-9ef5-b42a4794cac8", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzg5NTdkNTAyM2M5MzdjNGM0MWFhMjQxMmQ0MzQxMGJkYTIzY2Y3OWE5ZjZhYjM2Yjc2ZmVmMmQ3YzQyOSJ9fX0=" + ) + ); + put( + "family_magma_cube_boss", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§6§lMagma Cube Boss", + "35f02923-7bec-3869-9ef5-b42a4794cac8", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzg5NTdkNTAyM2M5MzdjNGM0MWFhMjQxMmQ0MzQxMGJkYTIzY2Y3OWE5ZjZhYjM2Yjc2ZmVmMmQ3YzQyOSJ9fX0=" + ) + ); + put( + "family_matcho", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMatcho", + "61db73be-677f-554a-9450-e306a7ff0449", + "e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWYyZGFhYmI3OGExZjdhYTEyZDE0NWQ4OGMwY2E0NmI5ZTg1NmY1NTM0ZTkyODZlNTU1ZmFmMGMyOTFmNGZkNSJ9fX0=" + ) + ); + put( + "family_charging_mushroom_cow", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMushroom Bull", + "2b9eb675-2097-4b51-8fec-c1a51562f19c", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTE2M2JjNDE2YjhlNjA1OGY5MmIyMzFlOWE1MjRiN2ZlMTE4ZWI2ZTdlZWFiNGFkMTZkMWI1MmEzZWMwNGZjZCJ9fX0=" + ) + ); + put( + "family_pigman", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aPigman", + "3fc29372-e78e-3ad6-b0b0-05ca0a84babd", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlOWM2ZTk4NTgyZmZkOGZmOGZlYjMzMjJjZDE4NDljNDNmYjE2YjE1OGFiYjExY2E3YjQyZWRhNzc0M2ViIn19fQ==" + ) + ); + put( + "family_wither_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWither Skeleton", + "2141b934-c877-3db1-bc6c-7c9a347ffa95", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk1M2I2YzY4NDQ4ZTdlNmI2YmY4ZmIyNzNkNzIwM2FjZDhlMWJlMTllODE0ODFlYWQ1MWY0NWRlNTlhOCJ9fX0=" + ) + ); + put( + "family_wither_spectre", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWither Spectre", + "9a1699a4-9b61-37a5-be7a-ca23a1f092a1", + "ewogICJ0aW1lc3RhbXAiIDogMTY0NDA4Mjg1NzcxMCwKICAicHJvZmlsZUlkIiA6ICIwNTVhOTk2NTk2M2E0YjRmOGMwMjRmMTJmNDFkMmNmMiIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGVWb3hlbGxlIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzdmNWYzMzg0Mzg0ZDdmMDNiZjk3YTczMDk5YjBiYWZiNzJjNTM4ZmMwNDE1YWM4NjEzYjY2NGY4NzU3OWEzNzkiCiAgICB9CiAgfQp9" + ) + ); + + // Deep Caverns + put( + "family_automaton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aAutomaton", + "a46a9adf-60a3-38f2-a3dd-335d85f1cc10", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjJiY2FjZWViNDE2MmY0MDBkNDQ3NDMzMTU5MzJhYzgyMGQzMTE5YWM4OTg2YTAxNjFhNzI2MTYxY2NjOTNmYyJ9fX0=" + ) + ); + put( + "family_butterfly", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§eButterfly", + "9dd11ec6-cfea-34df-9336-416c946567bc", + "ewogICJ0aW1lc3RhbXAiIDogMTYyNTUxMjE4ODY3NCwKICAicHJvZmlsZUlkIiA6ICI3MzgyZGRmYmU0ODU0NTVjODI1ZjkwMGY4OGZkMzJmOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJJb3lhbCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS85ZmQ4MDZkZWZkZmRmNTliMWYyNjA5YzhlZTM2NDY2NmRlNjYxMjdhNjIzNDE1YjU0MzBjOTM1OGM2MDFlZjdjIgogICAgfQogIH0KfQ==" + ) + ); + put( + "family_emerald_slime", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aEmerald Slime", + "cb762e0d-a1e6-3888-8c05-eddabbbe49a2", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTc3NGU4NmFhNGNmZjc5MjM5NWI3N2FkZDU3YjAwYmIxYTEwMmY4ZjBmMDk4MGY0ZDU1YjNkN2FmZjFlNmRhOSJ9fX0=" + ) + ); + put( + "family_caverns_ghost", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aGhost", + "c5752211-7503-3e77-9890-d1cf6ba1d0e7", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTgxOTc3OTE4YTExODBlMGRlYzg3OWU2YmNkMWFhMzk0OTQ5NzdiYjkxM2JlMmFiMDFhZmYxZGIxZmE0In19fQ==" + ) + ); + put( + "family_goblin", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aGoblin", + "7c7d07db-4911-31f1-9a19-1589899cfe25", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjZiOTcyZTMyZDc2MWIxOTI2MjZlNWQ2ZDAxZWRjMDk0OTQwOTEwMTAzY2VhNWUyZTJkMWYyMzFhZGI3NTVkNSJ9fX0=" + ) + ); + put( + "family_team_treasurite", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aGrunt", + "a64ccd19-2a64-39a4-b2f5-cb6799c12a99", + "ewogICJ0aW1lc3RhbXAiIDogMTYxODE5NTA2MDUwMCwKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWY1ZTAzYjhkZTExOWY4NTg5YTgwODIyNGNiZWE3MzdmNWRjZjI0MjM1Nzk5YjczNzhhYzViZjA2YWJmNmRkNCIKICAgIH0KICB9Cn0=" + ) + ); + put( + "family_ice_walker", + Utils.createItemStack(Item.getItemFromBlock(Blocks.packed_ice), EnumChatFormatting.AQUA + "§aIce Walker") + ); + put("family_lapis_zombie", Utils.createItemStack(Items.dye, EnumChatFormatting.AQUA + "§aLapis Zombie", 4)); + put( + "family_diamond_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMiner Skeleton", + "39c843e6-237b-36b2-8a7b-c5ff5d3ebf99", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODM2YmJjNDIxNWNlYTFiNmE0ODRlODkzYjExNmU3MzQ1OWVmMzZiZmZjNjIyNzQxZTU3N2U5NDkzYTQxZTZlIn19fQ==" + ) + ); + put( + "family_diamond_zombie", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aMiner Zombie", + "468210c9-f4bd-34c7-aa8d-2c3d0d5e05c1", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDI4ZDlmZjU0MTg4YTFhZmVlNjViOTRmM2JmY2NlMzIxYzY0M2EzNDU5MGMxNGIxOTJiMmUzZWMyZjUyNWQzIn19fQ==" + ) + ); + put( + "family_redstone_pigman", + Utils.createItemStack(Items.redstone, EnumChatFormatting.AQUA + "§aRedstone Pigman") + ); + put( + "family_sludge", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSludge", + "3b70a2f3-319c-38d5-b7d1-5b2425770184", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk1YWVlYzZiODQyYWRhODY2OWY4NDZkNjViYzQ5NzYyNTk3ODI0YWI5NDRmMjJmNDViZjNiYmI5NDFhYmU2YyJ9fX0=" + ) + ); + put( + "family_invisible_creeper", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSneaky Creeper", + "81fb1385-b2fc-4d4f-b5bb-0fe9b1d37d60", + "ewogICJ0aW1lc3RhbXAiIDogMTYxOTE5MjI5MzI5OCwKICAicHJvZmlsZUlkIiA6ICI0ZjU2ZTg2ODk2OGU0ZWEwYmNjM2M2NzRlNzQ3ODdjOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJDVUNGTDE1IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E2ODIyNGNmOGVkNGMwM2I0NTdiZjQ5YmViNmY1NDQxOTM2NzkyNjhiODQyMWIwMWZmY2U2ZDI3YjI1YWMzMmQiCiAgICB9CiAgfQp9" + ) + ); + put( + "family_thyst", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aThyst", + "b3224e56-73d2-32f9-9081-a23b7512035b", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWJjN2I5ZDM2ZmI5MmI2YmYyOTJiZTczZDMyYzZjNWIwZWNjMjViNDQzMjNhNTQxZmFlMWYxZTY3ZTM5M2EzZSJ9fX0=" + ) + ); + put( + "family_treasure_hoarder", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aTreasure Hoarder", + "b0f13fc2-07a5-3964-8303-784f802e5f0f", + "ewogICJ0aW1lc3RhbXAiIDogMTU5MDE1NjYzNDYzOCwKICAicHJvZmlsZUlkIiA6ICI5MWZlMTk2ODdjOTA0NjU2YWExZmMwNTk4NmRkM2ZlNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJoaGphYnJpcyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iMmIxMmE4MTRjZWQ4YWYwMmNkZGYyOWEzN2U3ZjMwMTFlNDMwZThhMThiMzhiNzA2ZjI3YzZiZDMxNjUwYjY1IgogICAgfQogIH0KfQ==" + ) + ); + put( + "family_worms", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWorm", + "29f95759-1a6f-3e85-9941-91a7a2275274", + "ewogICJ0aW1lc3RhbXAiIDogMTYyMDQ0NTc2NDQ1MSwKICAicHJvZmlsZUlkIiA6ICJmNDY0NTcxNDNkMTU0ZmEwOTkxNjBlNGJmNzI3ZGNiOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJSZWxhcGFnbzA1IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2RmMDNhZDk2MDkyZjNmNzg5OTAyNDM2NzA5Y2RmNjlkZTZiNzI3YzEyMWIzYzJkYWVmOWZmYTFjY2FlZDE4NmMiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ==" + ) + ); + put( + "family_yog", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aYog", + "35f02923-7bec-3869-9ef5-b42a4794cac8", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzg5NTdkNTAyM2M5MzdjNGM0MWFhMjQxMmQ0MzQxMGJkYTIzY2Y3OWE5ZjZhYjM2Yjc2ZmVmMmQ3YzQyOSJ9fX0=" + ) + ); + + // The Park + put( + "family_howling_spirit", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§bHowling Spirit", + "802a167c-cbcd-3a1f-becd-5b1a25a4cf15", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjdjOGJlZjZiZWI3N2UyOWFmODYyN2VjZGMzOGQ4NmFhMmZlYTdjY2QxNjNkYzczYzAwZjlmMjU4ZjlhMTQ1NyJ9fX0=" + ) + ); + put( + "family_pack_spirit", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§bPack Spirit", + "802a167c-cbcd-3a1f-becd-5b1a25a4cf15", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjdjOGJlZjZiZWI3N2UyOWFmODYyN2VjZGMzOGQ4NmFhMmZlYTdjY2QxNjNkYzczYzAwZjlmMjU4ZjlhMTQ1NyJ9fX0=" + ) + ); + put( + "family_soul_of_the_alpha", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§3Soul of the Alpha", + "802a167c-cbcd-3a1f-becd-5b1a25a4cf15", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjdjOGJlZjZiZWI3N2UyOWFmODYyN2VjZGMzOGQ4NmFhMmZlYTdjY2QxNjNkYzczYzAwZjlmMjU4ZjlhMTQ1NyJ9fX0=" + ) + ); + + // Spooky + put( + "family_batty_witch", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§8Crazy Witch", + "cf4f97d7-2e1f-3678-9ca3-4a7b9666cc28", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmNlNjYwNDE1N2ZjNGFiNTU5MWU0YmNmNTA3YTc0OTkxOGVlOWM0MWUzNTdkNDczNzZlMGVlNzM0MjA3NGM5MCJ9fX0=" + ) + ); + put( + "family_headless_horseman", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§6Headless Horseman", + "2594a979-1302-3d6e-a1da-c9dbf0959539", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGM2NTcwZjEyNDI5OTJmNmViYTIzZWU1ODI1OThjMzllM2U3NDUzODMyNzNkZWVmOGIzOTc3NTgzZmUzY2Y1In19fQ==" + ) + ); + put( + "family_phantom_spirit", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§cPhantom Spirit", + "805d7035-5f25-37ea-8530-7c0d09156c8e", + "ewogICJ0aW1lc3RhbXAiIDogMTYwMzcyMjc5NzYzNywKICAicHJvZmlsZUlkIiA6ICJhMmY4MzQ1OTVjODk0YTI3YWRkMzA0OTcxNmNhOTEwYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJiUHVuY2giLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjUzYjJmN2M1ZTE3N2JkNjdjZWFkMzBkMGVlNTM0MjVjNzY4NGM5NzVjOGMyYTUyNzNhMDljYTQ5YTFmNmNkZCIKICAgIH0KICB9Cn0=" + ) + ); + put( + "family_scary_jerry", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§6Scary Jerry", + "127e3dec-4ab7-3798-9410-5fce3f227632", + "ewogICJ0aW1lc3RhbXAiIDogMTYwMzczMzU4OTcxOSwKICAicHJvZmlsZUlkIiA6ICJhMmY4MzQ1OTVjODk0YTI3YWRkMzA0OTcxNmNhOTEwYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJiUHVuY2giLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGYyMDJkYzI0ZDE1ZjdjZTM2ZTAyZmI0YjNlODE1M2IxNDZhYjljMTcyNGFhYTVkNDg0Yzc0MWRhMGVlYjZmZCIKICAgIH0KICB9Cn0=" + ) + ); + put( + "family_trick_or_treater", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§eTrick or Treater", + "79dd9434-1fde-3aac-87a7-bb09d91eba77", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYmUwNjFiNDQ1Yjg4Y2IyZGY1OWFjY2M4ZDJjMWMxMjExOGZlMGIyMTI3ZTZlNzU4MTM1NTBhZGFjNjdjZiJ9fX0=" + ) + ); + put( + "family_wither_gourd", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§6Wither Gourd", + "3263c14e-c555-365e-a244-0ee97a8b2056", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjhmMmZmYzZmYjRlOTk1OWI5YTdhMzE3ZjUxYTY3NzVhMTU5ZGRjMjI0MWRiZDZjNzc0ZDNhYzA4YjYifX19" + ) + ); + put( + "family_wraith", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§8Wraith", + "bca22b11-8e4c-386a-8824-7b2bd6364cde", + "ewogICJ0aW1lc3RhbXAiIDogMTYwMzczMzcxNjI0MiwKICAicHJvZmlsZUlkIiA6ICJhMmY4MzQ1OTVjODk0YTI3YWRkMzA0OTcxNmNhOTEwYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJiUHVuY2giLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYWVhYmMzMDc1Y2Y0MWYzOGU2ZGYxMjM2Yjk1Y2FhZmNiYTFiZWUyMmM0OWQ4MDRiOTQyNzQ4OGMyZjZlMGVmYyIKICAgIH0KICB9Cn0=" + ) + ); + + // Dungeons + put( + "family_diamond_guy", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§d§lAngry Archeologist", + "db784d7a-fae1-3d60-9a5a-42a1814037f8", + "eyJ0aW1lc3RhbXAiOjE1NzU0NzAzOTQwMzEsInByb2ZpbGVJZCI6IjdkYTJhYjNhOTNjYTQ4ZWU4MzA0OGFmYzNiODBlNjhlIiwicHJvZmlsZU5hbWUiOiJHb2xkYXBmZWwiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2M0OGM3ODM0NThlNGNmODUxOGU4YWI1ODYzZmJjNGNiOTQ4ZjkwNTY4ZWViOWE2MGQxNmM0ZmRlMmI5NmMwMzMifX19" + ) + ); + put( + "family_cellar_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aCellar Spider", + "a8aee72d-0d1d-3db7-8cf8-be1ce6ec2dc4", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDE2NDVkZmQ3N2QwOTkyMzEwN2IzNDk2ZTk0ZWViNWMzMDMyOWY5N2VmYzk2ZWQ3NmUyMjZlOTgyMjQifX19" + ) + ); + put( + "family_crypt_dreadlord", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aCrypt Dreadlord", + "68b4c885-7447-3382-b86b-b661b464d76e", + "eyJ0aW1lc3RhbXAiOjE1NjI0Mjc0MTA5MTQsInByb2ZpbGVJZCI6ImIwZDczMmZlMDBmNzQwN2U5ZTdmNzQ2MzAxY2Q5OGNhIiwicHJvZmlsZU5hbWUiOiJPUHBscyIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjZmMzQ5MjcwYTNiODUxODk2Y2RhZDg0MmY1ZWVjNmUxNDBiZDkxMTliNzVjMDc0OTU1YzNiZTc4NjVlMjdjNyJ9fX0=" + ) + ); + put( + "family_crypt_lurker", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aCrypt Lurker", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + put( + "family_crypt_souleater", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aCrypt Souleater", + "68b4c885-7447-3382-b86b-b661b464d76e", + "eyJ0aW1lc3RhbXAiOjE1NjI0Mjc0MTA5MTQsInByb2ZpbGVJZCI6ImIwZDczMmZlMDBmNzQwN2U5ZTdmNzQ2MzAxY2Q5OGNhIiwicHJvZmlsZU5hbWUiOiJPUHBscyIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjZmMzQ5MjcwYTNiODUxODk2Y2RhZDg0MmY1ZWVjNmUxNDBiZDkxMTliNzVjMDc0OTU1YzNiZTc4NjVlMjdjNyJ9fX0=" + ) + ); + put( + "family_king_midas", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§d§lKing Midas", + "1a85d923-f8dd-35b8-899a-8f13b9469b0c", + "ewogICJ0aW1lc3RhbXAiIDogMTU5MTU3NjA3MDMwMCwKICAicHJvZmlsZUlkIiA6ICJkYTQ5OGFjNGU5Mzc0ZTVjYjYxMjdiMzgwODU1Nzk4MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOaXRyb2hvbGljXzIiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjJiY2EwODU3NTAwNDM1MDNmNWRmOWY3ZGVmODI0YTJlM2FjZmMyNzg0MmJjZDA5ZDJiNjY5NTg4MWU4MzJmNSIKICAgIH0KICB9Cn0=" + ) + ); + put( + "family_lonely_spider", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aLonely Spider", + "7c63f3cf-a963-311a-aeca-3a075b417806", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2Q1NDE1NDFkYWFmZjUwODk2Y2QyNThiZGJkZDRjZjgwYzNiYTgxNjczNTcyNjA3OGJmZTM5MzkyN2U1N2YxIn19fQ==" + ) + ); + put( + "family_lost_adventurer", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§d§lLost Adventurer", + "f69ba621-a8b6-31a7-8de1-dc7ade140e1d", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHBzOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzFlMDMyOWY0MjE5MmVlN2MxYTBjNzA0ZjgyZGJiYmU3YzAwZmJmYTNmMDIwYzEwNjdhMjA4NjMwYjk5MWI5ODgifX19" + ) + ); + put( + "family_scared_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aScared Skeleton", + "53924f1a-87e6-4709-8e53-f1c7d13dc239", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMTgzNjcwNCwKICAicHJvZmlsZUlkIiA6ICI1MzkyNGYxYTg3ZTY0NzA5OGU1M2YxYzdkMTNkYzIzOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaHJvd3BvIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg4ZWI2OGE0ZDM4ZTlmNDQ2YjhlOTkyNzVmMTYwMzAyZjM2NmVmMTAyMTZhYmY5NDg0ODdlNTgyNTEyYmQwZjMiCiAgICB9CiAgfQp9=" + ) + ); + put( + "family_shadow_assassin", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§d§lShadow Assassin", + "ef18719c-db6a-3ffb-97ca-4ed764ce9464", + "ewogICJ0aW1lc3RhbXAiIDogMTU5MjI2ODE3MDkxMSwKICAicHJvZmlsZUlkIiA6ICJkYTQ5OGFjNGU5Mzc0ZTVjYjYxMjdiMzgwODU1Nzk4MyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOaXRyb2hvbGljXzIiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzM5OWUwMGY0MDQ0MTFlNDY1ZDc0Mzg4ZGYxMzJkNTFmZTg2OGVjZjg2ZjFjMDczZmFmZmExZDkxNzJlYzBmMyIKICAgIH0KICB9Cn0=" + ) + ); + put( + "family_skeleton_grunt", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSkeleton Grunt", + "dfed3415-919e-3358-b563-0abd0513f74c", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzA0NzE2NzdiMzdhZTg0MmMyYmQyMzJlMTZlZWI4NGQ1YTQ5MzIzMWVlY2VjMDcyZGEzOGJlMzEyN2RkNWM4In19fQ==" + ) + ); + put( + "family_skeleton_master", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSkeleton Master", + "ce22e0d7-c78e-3c8d-907a-2368c927808c", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRlOTVlMWI3ZGM4MmJhNzg0NWE2OGZjNmEzMTJmNGNkOTBlZTJmNmNjZTI2YTY4Yzg4YjA0YjEwNzJkODc5In19fQ==" + ) + ); + put( + "family_skeleton_soldier", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSkeleton Soldier", + "cab75065-c896-338e-a399-c4a6da16d678", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjE5Njg4ZTBjMmYwNWFlYjk3OWQ2YTFiOGM5MTE5NTdiN2QzNjU3ZTE0YjU3YWY5M2M1ZWY2ZjZhNTk1NjlkZCJ9fX0=" + ) + ); + put( + "family_skeletor", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSkeletor", + "49fcfb3e-da7e-3fda-b4f9-37df5ac8fbd3", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODlkMDc0YWQ5Yjk5NzE4NzllYjMyNWJkZGZmMzY3NWY3MjI0ODU2YmQ2ZDU2OWZjOGQ0ODNjMTMzZDczMDA1ZCJ9fX0K" + ) + ); + put( + "family_sniper_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSniper", + "848130dc-9c46-3818-a099-b429cb2f1d75", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjE4YzA3MWYwODBkYmE1MGE2MmE2MjYzZmY3MjRlZGMxNTdjZTRmYjQ4ODNjY2VmZjI0OTFkNWJiZGU4MzBjMSJ9fX0K" + ) + ); + put( + "family_super_archer", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSuper Archer", + "8ebf155b-7b8f-386f-91f1-2e425db4230f", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGNhZTZkYjBiNTlhNjQzMDUwNzZkOTY2ZDhlN2I5YTk3YmU0NmRhZTNhODA3NzE0ZmE4NmQzNzg0OGY2In19fQ==" + ) + ); + put( + "family_super_tank_zombie", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aSuper Tank Zombie", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + put( + "family_crypt_tank_zombie", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aTank Zombie", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + put( + "family_watcher_summon_undead", + Utils.createSkull( + EnumChatFormatting.AQUA + "§a§4§lUndead", + "0ac53e90-4e60-388c-a754-092dd4578592", + "eyJ0aW1lc3RhbXAiOjE1ODYwNDAyMDM1NzMsInByb2ZpbGVJZCI6ImRhNDk4YWM0ZTkzNzRlNWNiNjEyN2IzODA4NTU3OTgzIiwicHJvZmlsZU5hbWUiOiJOaXRyb2hvbGljXzIiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2Y0NjI0YTlhOGM2OWNhMjA0NTA0YWJiMDQzZDQ3NDU2Y2Q5YjA5NzQ5YTM2MzU3NDYyMzAzZjI3NmEyMjlkNCJ9fX0=" + ) + ); + put( + "family_dungeon_respawning_skeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aUndead Skeleton", + "53924f1a-87e6-4709-8e53-f1c7d13dc239", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMTgzNjcwNCwKICAicHJvZmlsZUlkIiA6ICI1MzkyNGYxYTg3ZTY0NzA5OGU1M2YxYzdkMTNkYzIzOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaHJvd3BvIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzg4ZWI2OGE0ZDM4ZTlmNDQ2YjhlOTkyNzVmMTYwMzAyZjM2NmVmMTAyMTZhYmY5NDg0ODdlNTgyNTEyYmQwZjMiCiAgICB9CiAgfQp9=" + ) + ); + put( + "family_crypt_witherskeleton", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aWithermancer", + "d0e05de7-6067-454d-beae-c6d19d886191", + "ewogICJ0aW1lc3RhbXAiIDogMTY1NTYzMjg1MTE1NCwKICAicHJvZmlsZUlkIiA6ICJkMGUwNWRlNzYwNjc0NTRkYmVhZWM2ZDE5ZDg4NjE5MSIsCiAgInByb2ZpbGVOYW1lIiA6ICJNb3VsYmVycnkiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmNlMTU1MjI0ZWE0YmM0OWE4ZTkxOTA3MzdjYjA0MTdkOGE3YzM4YTAzN2Q4ZDAzODJkZGU0ODI5YzEwMzU5MCIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9" + ) + ); + put( + "family_zombie_commander", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie Commander", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + put( + "family_zombie_grunt", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie Grunt", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + put( + "family_zombie_knight", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie Knight", + "34af9e21-dff4-3b94-9fb5-07816e41af75", + "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjVkMmYzMWJhMTYyZmU2MjcyZTgzMWFlZDE3ZjUzMjEzZGI2ZmExYzRjYmU0ZmM4MjdmMzk2M2NjOThiOSJ9fX0=" + ) + ); + put( + "family_zombie_soldier", + Utils.createSkull( + EnumChatFormatting.AQUA + "§aZombie Soldier", + "9673d491-d589-44cb-b63e-5f8b3148b3df", + "ewogICJ0aW1lc3RhbXAiIDogMTY0Njc1NjU2MzM1MiwKICAicHJvZmlsZUlkIiA6ICJkYmQ4MDQ2M2EwMzY0Y2FjYjI3OGNhODBhMDBkZGIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJ4bG9nMjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM2NjZkMWJkZjQ1NThiMGQxNjk5MGIyNDFlODE4NWNiZjU4YzNlMDNjMjRkOTA0NTQ0ZThjYzY1YjFjMzhkMSIKICAgIH0KICB9Cn0=\", \"n8vct7fj3NdiODy/h6PJhjxSR2U7d8gQxHjdVq553HqG60SSczt1Tl9XhvQbZP14ZrJGWxCziauuYb/HjZza0ugNAhfwh9z8hqR1PjBJGdvp+wpxoWpP2wd5RT9i5/GYEqpiAIAt9vHY1YeyejFqKZhXaGgp7gZZNjOQWQqB0SZzTUTAPzRW9FiY8x2re7H7Y1POThRXOvvkeQ6qWdPV6Hk5hTumV0rfEGm971jQRIbfdzBZDJRcro+8y+dlje/NpF5qf0JLy78Xr4hc2cwbT9+wqOeoUTcM/r9mwL15OKgFLjB44jszauKRHNfoqb6B3+1fNQEJrJK/7hIyvswpde7C5uOxkE7oMFib6X68VVEhb6PGC1+HWNaMaGjI0wWEkCahp48ihN9+sBEBFXOxIAhXG/pvJcbEi742/cBS1CTtOI8qui6JSL9MKX5jmyhtjjibOYRZbacosqayCnwsJAdMmwS7zIxc8jGhpfKECiSni/baS4zRla0bns4hfEM0l7ASv0Dh99WQD0We2ZMqltmix8lMEaAILXJVBln3CFrjYvncfku2hrSaqu1lNAtfMYYSITEUCBJ7McVAVmUHOrER0XGoVs9L237H0BQNSLqlGGEQ7OM8HV6G0YfXGlbNgNBx6O9k8ZijuK60JeEoJapcmbNj/LVHEU+dsgcFAbo=" + ) + ); + }}; + + public static LinkedHashMap getBestiaryMobs() { + return bestiaryMobs; + } + + private static final LinkedHashMap mobTypeMap = + new LinkedHashMap() {{ + // Island + put("family_cave_spider", "ISLAND"); + put("family_enderman_private", "ISLAND"); + put("family_skeleton", "ISLAND"); + put("family_slime", "ISLAND"); + put("family_spider", "ISLAND"); + put("family_witch", "ISLAND"); + put("family_zombie", "ISLAND"); + + // Hub + put("family_unburried_zombie", "MOB"); + put("family_old_wolf", "MOB"); + put("family_ruin_wolf", "MOB"); + put("family_zombie_villager", "MOB"); + + // Spiders Den + put("family_arachne", "BOSS"); + put("family_arachne_brood", "MOB"); + put("family_arachne_keeper", "MOB"); + put("family_brood_mother_spider", "BOSS"); + put("family_dasher_spider", "MOB"); + put("family_respawning_skeleton", "MOB"); + put("family_random_slime", "MOB"); + put("family_spider_jockey", "MOB"); + put("family_splitter_spider", "MOB"); + put("family_voracious_spider", "MOB"); + put("family_weaver_spider", "MOB"); + + // The End + put("family_dragon", "BOSS"); + put("family_enderman", "MOB"); + put("family_endermite", "MOB"); + put("family_corrupted_protector", "BOSS"); + put("family_obsidian_wither", "MOB"); + put("family_voidling_extremist", "MOB"); + put("family_voidling_fanatic", "MOB"); + put("family_watcher", "MOB"); + put("family_zealot_enderman", "MOB"); + + // Crimson Isles + put("family_ashfang", "BOSS"); + put("family_barbarian_duke_x", "BOSS"); + put("family_bladesoul", "BOSS"); + put("family_blaze", "MOB"); + put("family_flaming_spider", "MOB"); + put("family_ghast", "MOB"); + put("family_mage_outlaw", "BOSS"); + put("family_magma_cube", "MOB"); + put("family_magma_cube_boss", "BOSS"); + put("family_matcho", "MOB"); + put("family_charging_mushroom_cow", "MOB"); + put("family_pigman", "MOB"); + put("family_wither_skeleton", "MOB"); + put("family_wither_spectre", "MOB"); + + // Deep Caverns + put("family_automaton", "MOB"); + put("family_butterfly", "MOB"); + put("family_emerald_slime", "MOB"); + put("family_caverns_ghost", "MOB"); + put("family_goblin", "MOB"); + put("family_team_treasurite", "MOB"); + put("family_ice_walker", "MOB"); + put("family_lapis_zombie", "MOB"); + put("family_diamond_skeleton", "MOB"); + put("family_diamond_zombie", "MOB"); + put("family_redstone_pigman", "MOB"); + put("family_sludge", "MOB"); + put("family_invisible_creeper", "MOB"); + put("family_thyst", "MOB"); + put("family_treasure_hoarder", "MOB"); + put("family_worms", "MOB"); + put("family_yog", "MOB"); + + // The Park + put("family_howling_spirit", "MOB"); + put("family_pack_spirit", "MOB"); + put("family_soul_of_the_alpha", "MOB"); + + // Spooky + put("family_batty_witch", "MOB"); + put("family_headless_horseman", "BOSS"); + put("family_phantom_spirit", "MOB"); + put("family_scary_jerry", "MOB"); + put("family_trick_or_treater", "MOB"); + put("family_wither_gourd", "MOB"); + put("family_wraith", "MOB"); + + // Catacombs + put("family_diamond_guy", "MOB"); + put("family_cellar_spider", "MOB"); + put("family_crypt_dreadlord", "MOB"); + put("family_crypt_lurker", "MOB"); + put("family_crypt_souleater", "MOB"); + put("family_king_midas", "MOB"); + put("family_lonely_spider", "MOB"); + put("family_lost_adventurer", "MOB"); + put("family_scared_skeleton", "MOB"); + put("family_shadow_assassin", "MOB"); + put("family_skeleton_grunt", "MOB"); + put("family_skeleton_master", "MOB"); + put("family_skeleton_soldier", "MOB"); + put("family_skeletor", "MOB"); + put("family_sniper_skeleton", "MOB"); + put("family_super_archer", "MOB"); + put("family_super_tank_zombie", "MOB"); + put("family_crypt_tank_zombie", "MOB"); + put("family_watcher_summon_undead", "MOB"); + put("family_dungeon_respawning_skeleton", "MOB"); + put("family_crypt_witherskeleton", "MOB"); + put("family_zombie_commander", "MOB"); + put("family_zombie_grunt", "MOB"); + put("family_zombie_knight", "MOB"); + put("family_zombie_soldier", "MOB"); + + }}; + + public static LinkedHashMap getMobType() { + return mobTypeMap; + } + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryPage.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryPage.java new file mode 100644 index 00000000..1bd3770a --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/bestiary/BestiaryPage.java @@ -0,0 +1,279 @@ +/* + * Copyright (C) 2022 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see . + */ + +package io.github.moulberry.notenoughupdates.profileviewer.bestiary; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import io.github.moulberry.notenoughupdates.profileviewer.GuiProfileViewer; +import io.github.moulberry.notenoughupdates.profileviewer.ProfileViewer; +import io.github.moulberry.notenoughupdates.util.Constants; +import io.github.moulberry.notenoughupdates.util.Utils; +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ScaledResolution; +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.RenderHelper; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +import java.awt.*; +import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +public class BestiaryPage { + + private static int guiLeft; + private static int guiTop; + private static final ResourceLocation BESTIARY_TEXTURE = new ResourceLocation( + "notenoughupdates:pv_bestiary_tab.png"); + public static final ResourceLocation pv_elements = new ResourceLocation("notenoughupdates:pv_elements.png"); + private static ItemStack selectedBestiaryLocation = null; + private static List tooltipToDisplay = null; + private static final NumberFormat numberFormat = NumberFormat.getInstance(Locale.US); + private static final int XCOUNT = 7; + private static final int YCOUNT = 5; + private static final float XPADDING = (190 - XCOUNT * 20) / (float) (XCOUNT + 1); + private static final float YPADDING = (202 - YCOUNT * 20) / (float) (YCOUNT + 1); + + public static void renderPage(int mouseX, int mouseY) { + guiLeft = GuiProfileViewer.getGuiLeft(); + guiTop = GuiProfileViewer.getGuiTop(); + JsonObject profileInfo = GuiProfileViewer.getProfile().getProfileInformation(GuiProfileViewer.getProfileId()); + + int bestiarySize = BestiaryData.getBestiaryLocations().size(); + int bestiaryXSize = (int) (350f / (bestiarySize - 1 + 0.0000001f)); + + { + int yIndex = 0; + for (ItemStack stack : BestiaryData.getBestiaryLocations().keySet()) { + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + if (stack == selectedBestiaryLocation) { + Utils.drawTexturedRect(guiLeft + 30 + bestiaryXSize * yIndex, guiTop + 10, 20, 20, + 20 / 256f, 0, 20 / 256f, 0, GL11.GL_NEAREST + ); + Utils.drawItemStack( + stack, + guiLeft + 32 + bestiaryXSize * yIndex, + guiTop + 12 + ); + } else { + Utils.drawTexturedRect(guiLeft + 30 + bestiaryXSize * yIndex, guiTop + 10, 20, 20, + 0, 20 / 256f, 0, 20 / 256f, GL11.GL_NEAREST + ); + Utils.drawItemStack(stack, guiLeft + 32 + bestiaryXSize * yIndex, guiTop + 12); + } + yIndex++; + } + } + ScaledResolution scaledResolution = new ScaledResolution(Minecraft.getMinecraft()); + int width = scaledResolution.getScaledWidth(); + int height = scaledResolution.getScaledHeight(); + + Minecraft.getMinecraft().getTextureManager().bindTexture(BESTIARY_TEXTURE); + Utils.drawTexturedRect(guiLeft, guiTop, 431, 202, GL11.GL_NEAREST); + + GlStateManager.color(1, 1, 1, 1); + GlStateManager.disableLighting(); + RenderHelper.enableGUIStandardItemLighting(); + + List mobs = BestiaryData.getBestiaryLocations().get(selectedBestiaryLocation); + Color color = new Color(128, 128, 128, 255); + if (mobs != null) { + for (int i = 0; i < mobs.size(); i++) { + + String mob = mobs.get(i); + if (mob != null) { + ItemStack mobItem = BestiaryData.getBestiaryMobs().get(mob); + if (mobItem != null) { + int xIndex = i % XCOUNT; + int yIndex = i / XCOUNT; + + float x = 23 + XPADDING + (XPADDING + 20) * xIndex; + float y = 30 + YPADDING + (YPADDING + 20) * yIndex; + + float completedness = 0; + + GlStateManager.color(1, 1, 1, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y, 20, 20 * (1 - completedness), + 0, 20 / 256f, 0, 20 * (1 - completedness) / 256f, GL11.GL_NEAREST + ); + GlStateManager.color(1, 185 / 255f, 0, 1); + Minecraft.getMinecraft().getTextureManager().bindTexture(pv_elements); + Utils.drawTexturedRect(guiLeft + x, guiTop + y + 20 * (1 - completedness), 20, 20 * (completedness), + 0, 20 / 256f, 20 * (1 - completedness) / 256f, 20 / 256f, GL11.GL_NEAREST + ); + Utils.drawItemStack(mobItem, guiLeft + (int) x + 2, guiTop + (int) y + 2); + float kills = Utils.getElementAsFloat(Utils.getElement(profileInfo, "bestiary.kills_" + mob), 0); + float deaths = Utils.getElementAsFloat(Utils.getElement(profileInfo, "bestiary.deaths_" + mob), 0); + + String type; + if (BestiaryData.getMobType().get(mob) != null) { + type = BestiaryData.getMobType().get(mob); + } else { + type = "MOB"; + } + JsonObject leveling = Constants.LEVELING; + ProfileViewer.Level level = null; + if (leveling != null && Utils.getElement(leveling, "bestiary." + type) != null) { + JsonArray levelingArray = Utils.getElement(leveling, "bestiary." + type).getAsJsonArray(); + int levelCap = Utils.getElementAsInt(Utils.getElement(leveling, "bestiary.caps." + type), 0); + level = ProfileViewer.getLevel(levelingArray, kills, levelCap, false); + } else { + Utils.showOutdatedRepoNotification(); + } + + float levelNum = -1; + if (level != null) { + levelNum = level.level; + } + if (mouseX > guiLeft + (int) x + 2 && mouseX < guiLeft + (int) x + 18) { + if (mouseY > guiTop + (int) y + 2 && mouseY < guiTop + (int) y + 18) { + tooltipToDisplay = new ArrayList<>(); + tooltipToDisplay.add(mobItem.getDisplayName() + " " + ((levelNum == -1) ? "?" : (int) Math.floor(levelNum))); + tooltipToDisplay.add(EnumChatFormatting.GRAY + "Kills: " + EnumChatFormatting.GREEN + numberFormat.format(kills)); + tooltipToDisplay.add(EnumChatFormatting.GRAY + "Deaths: " + EnumChatFormatting.GREEN + numberFormat.format(deaths)); + if (level != null) { + tooltipToDisplay.add(EnumChatFormatting.GRAY + "Progress: " + EnumChatFormatting.AQUA + + GuiProfileViewer.shortNumberFormat(Math.round((levelNum % 1) * level.maxXpForLevel), 0) + "/" + + GuiProfileViewer.shortNumberFormat(level.maxXpForLevel, 0)); + } + } + } + + GlStateManager.color(1, 1, 1, 1); +// if (tier >= 0) { +// Utils.drawStringCentered(tierString, Minecraft.getMinecraft().fontRendererObj, +// guiLeft + x + 10, guiTop + y - 4, true, +// tierStringColour +// ); +// } + Utils.drawStringCentered((int) Math.floor(levelNum) + "", Minecraft.getMinecraft().fontRendererObj, + guiLeft + x + 10, guiTop + y + 26, true, + color.getRGB() + ); + } + } + Utils.renderAlignedString(EnumChatFormatting.RED + "Bestiary Level: ", + EnumChatFormatting.GRAY + "" + (float) getBeTiers(profileInfo) / 10, + guiLeft + 220, guiTop + 50, 110 + ); + } + } + if (tooltipToDisplay != null) { + List grayTooltip = new ArrayList<>(tooltipToDisplay.size()); + for (String line : tooltipToDisplay) { + grayTooltip.add(EnumChatFormatting.GRAY + line); + } + Utils.drawHoveringText(grayTooltip, mouseX, mouseY, width, height, -1, Minecraft.getMinecraft().fontRendererObj); + tooltipToDisplay = null; + } + } + + public static void mouseReleased(int mouseX, int mouseY, int mouseButton) { + int bestiarySize = BestiaryData.getBestiaryLocations().size(); + int bestiaryYSize = (int) (350f / (bestiarySize - 1 + 0.0000001f)); + int yIndex = 0; + for (ItemStack stack : BestiaryData.getBestiaryLocations().keySet()) { + if (mouseX > guiLeft + 30 + bestiaryYSize * yIndex && + mouseX < guiLeft + 30 + bestiaryYSize * yIndex + 20) { + if (mouseY > guiTop + 10 && mouseY < guiTop + 10 + 20) { + selectedBestiaryLocation = stack; + Utils.playPressSound(); + return; + } + } + yIndex++; + } + } + + public static int getBeTiers(JsonObject profileInfo) { + int beLevel = 0; + for (ItemStack items : BestiaryData.getBestiaryLocations().keySet()) { + List mobs = BestiaryData.getBestiaryLocations().get(items); + if (mobs != null) { + for (int i = 0; i < mobs.size(); i++) { + + String mob = mobs.get(i); + if (mob != null) { + float kills = Utils.getElementAsFloat(Utils.getElement(profileInfo, "bestiary.kills_" + mob), 0); + String type; + if (BestiaryData.getMobType().get(mob) != null) { + type = BestiaryData.getMobType().get(mob); + } else { + type = "MOB"; + } + JsonObject leveling = Constants.LEVELING; + ProfileViewer.Level level = null; + if (leveling != null && Utils.getElement(leveling, "bestiary." + type) != null) { + JsonArray levelingArray = Utils.getElement(leveling, "bestiary." + type).getAsJsonArray(); + int levelCap = Utils.getElementAsInt(Utils.getElement(leveling, "bestiary.caps." + type), 0); + level = ProfileViewer.getLevel(levelingArray, kills, levelCap, false); + } + + float levelNum = 0; + if (level != null) { + levelNum = level.level; + } + beLevel += (int) Math.floor(levelNum); + } + } + } + } + return beLevel; + } + + public static int getBeTiersFromPage(JsonObject profileInfo) { + int beLevel = 0; + List mobs = BestiaryData.getBestiaryLocations().get(selectedBestiaryLocation); + if (mobs != null) { + for (int i = 0; i < mobs.size(); i++) { + + String mob = mobs.get(i); + if (mob != null) { + float kills = Utils.getElementAsFloat(Utils.getElement(profileInfo, "bestiary.kills_" + mob), 0); + String type; + if (BestiaryData.getMobType().get(mob) != null) { + type = BestiaryData.getMobType().get(mob); + } else { + type = "MOB"; + } + JsonObject leveling = Constants.LEVELING; + ProfileViewer.Level level = null; + if (leveling != null) { + JsonArray levelingArray = Utils.getElement(leveling, "bestiary." + type).getAsJsonArray(); + int levelCap = Utils.getElementAsInt(Utils.getElement(leveling, "bestiary.caps." + type), 0); + level = ProfileViewer.getLevel(levelingArray, kills, levelCap, false); + } + + float levelNum = 0; + if (level != null) { + levelNum = level.level; + } + beLevel += (int) Math.floor(levelNum); + } + } + } + return beLevel; + } +} diff --git a/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png new file mode 100644 index 00000000..620c156b Binary files /dev/null and b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png index b8eb26e4..628f3a47 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png and b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png differ -- cgit From 431de03ea35cbbfbf81385ad320bfbd8f512feb9 Mon Sep 17 00:00:00 2001 From: "imgbot[bot]" <31301654+imgbot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 13:59:15 +1100 Subject: [ImgBot] Optimize images (#325) Co-authored-by: ImgBotApp --- .../notenoughupdates/accessory_bag_overlay.png | Bin 973 -> 587 bytes .../notenoughupdates/armordisplay/armordisplay.png | Bin 1599 -> 381 bytes .../armordisplay/armordisplay_transparent_pet.png | Bin 1500 -> 1171 bytes .../auc_search/ah_search_overlay.png | Bin 3513 -> 3168 bytes .../auc_search/ah_search_overlay_tab_completed.png | Bin 6969 -> 6547 bytes .../assets/notenoughupdates/auction_profit.png | Bin 595 -> 551 bytes .../assets/notenoughupdates/button_white.png | Bin 6570 -> 4882 bytes .../assets/notenoughupdates/capes/dg_preview.png | Bin 18852 -> 7788 bytes .../assets/notenoughupdates/capes/fade.png | Bin 18572 -> 10289 bytes .../assets/notenoughupdates/capes/fade_preview.png | Bin 10411 -> 10309 bytes .../assets/notenoughupdates/capes/furf.png | Bin 8509 -> 5776 bytes .../assets/notenoughupdates/capes/furf_preview.png | Bin 3506 -> 3286 bytes .../assets/notenoughupdates/capes/ironmoon.png | Bin 142131 -> 133758 bytes .../notenoughupdates/capes/ironmoon_preview.png | Bin 92492 -> 88214 bytes .../assets/notenoughupdates/capes/lava.png | Bin 169280 -> 167381 bytes .../notenoughupdates/capes/mbstaff_preview.png | Bin 39260 -> 38573 bytes .../assets/notenoughupdates/capes/mcworld.png | Bin 291014 -> 280386 bytes .../notenoughupdates/capes/packshq_preview.png | Bin 14680 -> 14346 bytes .../assets/notenoughupdates/capes/screensaver.png | Bin 31381 -> 31139 bytes .../notenoughupdates/capes/screensaver_preview.png | Bin 19453 -> 17150 bytes .../notenoughupdates/capes/secondpfirsisch.png | Bin 58167 -> 52827 bytes .../capes/secondpfirsisch_preview.png | Bin 38433 -> 36232 bytes .../assets/notenoughupdates/capes/sharex_white.png | Bin 27251 -> 15517 bytes .../capes/sharex_white_preview.png | Bin 21698 -> 15204 bytes .../assets/notenoughupdates/capes/skyclient.png | Bin 27981 -> 13024 bytes .../notenoughupdates/capes/skyclient_preview.png | Bin 10294 -> 5987 bytes .../assets/notenoughupdates/capes/space.png | Bin 922429 -> 856184 bytes .../assets/notenoughupdates/capes/stormy_lh.png | Bin 56764 -> 24286 bytes .../notenoughupdates/capes/stormy_lh_preview.png | Bin 12899 -> 11290 bytes .../notenoughupdates/capes/subreddit_dark.png | Bin 7297 -> 5275 bytes .../notenoughupdates/capes/subreddit_light.png | Bin 7508 -> 5353 bytes .../capes/subreddit_light_preview.png | Bin 2583 -> 2406 bytes .../assets/notenoughupdates/capes/thebakery.png | Bin 537705 -> 431168 bytes .../notenoughupdates/capes/thebakery_preview.png | Bin 71386 -> 50272 bytes .../assets/notenoughupdates/capes/void.png | Bin 41607 -> 20910 bytes .../assets/notenoughupdates/capes/void_preview.png | Bin 4712 -> 3235 bytes .../notenoughupdates/colour_selector_dot.png | Bin 3677 -> 2596 bytes .../notenoughupdates/core/colour_selector_dot.png | Bin 3677 -> 2596 bytes .../assets/notenoughupdates/custom_enchant_gui.png | Bin 4982 -> 3227 bytes .../dungeon_map/borders/large/10.png | Bin 7050 -> 6065 bytes .../dungeon_map/borders/large/11.png | Bin 16913 -> 12073 bytes .../dungeon_map/borders/large/2.png | Bin 1006 -> 943 bytes .../dungeon_map/borders/large/3.png | Bin 6971 -> 6232 bytes .../dungeon_map/borders/large/4.png | Bin 10886 -> 7775 bytes .../dungeon_map/borders/large/5.png | Bin 13433 -> 8195 bytes .../dungeon_map/borders/large/8.png | Bin 6904 -> 6080 bytes .../dungeon_map/borders/large/9.png | Bin 6779 -> 5405 bytes .../borders/map_border_dragon_stone.png | Bin 4952 -> 2351 bytes .../dungeon_map/borders/medium/10.png | Bin 6703 -> 6222 bytes .../dungeon_map/borders/medium/11.png | Bin 15370 -> 11183 bytes .../dungeon_map/borders/medium/3.png | Bin 6522 -> 6013 bytes .../dungeon_map/borders/medium/4.png | Bin 7093 -> 5987 bytes .../dungeon_map/borders/medium/5.png | Bin 7618 -> 5824 bytes .../dungeon_map/borders/medium/8.png | Bin 6277 -> 5779 bytes .../dungeon_map/borders/medium/9.png | Bin 6362 -> 5654 bytes .../dungeon_map/borders/small/10.png | Bin 7045 -> 6455 bytes .../dungeon_map/borders/small/11.png | Bin 12576 -> 9691 bytes .../dungeon_map/borders/small/3.png | Bin 6697 -> 6386 bytes .../dungeon_map/borders/small/4.png | Bin 5947 -> 5307 bytes .../dungeon_map/borders/small/5.png | Bin 8456 -> 7041 bytes .../dungeon_map/borders/small/8.png | Bin 6789 -> 6365 bytes .../dungeon_map/borders/small/9.png | Bin 5897 -> 5734 bytes .../dungeon_map/borders/steampunk.png | Bin 10039 -> 8341 bytes .../assets/notenoughupdates/dungeon_win/a.png | Bin 569 -> 517 bytes .../assets/notenoughupdates/dungeon_win/s.png | Bin 579 -> 502 bytes .../assets/notenoughupdates/dungeon_win/splus.png | Bin 2296 -> 1482 bytes .../dynamic_54/style4/dynamic_54_slot_ctm.png | Bin 539 -> 537 bytes .../dynamic_54/style5/dynamic_54_button_ctm.png | Bin 543 -> 533 bytes .../dynamic_54/style5/dynamic_54_slot_ctm.png | Bin 539 -> 537 bytes .../dynamic_54/style6/dynamic_54_button_ctm.png | Bin 539 -> 537 bytes .../dynamic_54/style6/dynamic_54_slot_ctm.png | Bin 539 -> 537 bytes .../dynamic_54/style7/dynamic_54_button_ctm.png | Bin 3437 -> 864 bytes .../dynamic_54/style7/dynamic_54_slot_ctm.png | Bin 539 -> 537 bytes .../notenoughupdates/dynamic_54/toggle_off.png | Bin 389 -> 379 bytes .../notenoughupdates/dynamic_54/toggle_on.png | Bin 406 -> 379 bytes .../notenoughupdates/fishing_warning_exclam.png | Bin 5807 -> 5749 bytes .../resources/assets/notenoughupdates/fuel_bar.png | Bin 2333 -> 2271 bytes .../resources/assets/notenoughupdates/help.png | Bin 3500 -> 3018 bytes .../invbuttons/extraicons/settings.png | Bin 3962 -> 2546 bytes .../resources/assets/notenoughupdates/logo.png | Bin 21782 -> 18710 bytes src/main/resources/assets/notenoughupdates/on.png | Bin 1311 -> 446 bytes .../panoramas/combat_1_day/panorama_0.jpg | Bin 21394 -> 20975 bytes .../panoramas/combat_1_day/panorama_1.jpg | Bin 20539 -> 20008 bytes .../panoramas/combat_1_day/panorama_2.jpg | Bin 18095 -> 18018 bytes .../panoramas/combat_1_day/panorama_3.jpg | Bin 21069 -> 20646 bytes .../panoramas/combat_1_day/panorama_4.jpg | Bin 17245 -> 16944 bytes .../panoramas/combat_1_night/panorama_5.jpg | Bin 16017 -> 15892 bytes .../panoramas/combat_3_day/panorama_0.jpg | Bin 34048 -> 32699 bytes .../panoramas/combat_3_day/panorama_1.jpg | Bin 28471 -> 27566 bytes .../panoramas/combat_3_day/panorama_2.jpg | Bin 22159 -> 21806 bytes .../panoramas/combat_3_day/panorama_3.jpg | Bin 27487 -> 26543 bytes .../panoramas/combat_3_day/panorama_4.jpg | Bin 19750 -> 19205 bytes .../panoramas/combat_3_day/panorama_5.jpg | Bin 21597 -> 21050 bytes .../panoramas/combat_3_night/panorama_0.jpg | Bin 18255 -> 18025 bytes .../panoramas/combat_3_night/panorama_3.jpg | Bin 18438 -> 18259 bytes .../panoramas/dark_auction/panorama_0.jpg | Bin 19008 -> 18990 bytes .../panoramas/dark_auction/panorama_1.jpg | Bin 19414 -> 19399 bytes .../panoramas/dark_auction/panorama_3.jpg | Bin 19497 -> 19482 bytes .../panoramas/dark_auction/panorama_4.jpg | Bin 18727 -> 18500 bytes .../panoramas/dark_auction/panorama_5.jpg | Bin 18871 -> 18621 bytes .../panoramas/dungeon/panorama_4.jpg | Bin 18780 -> 18727 bytes .../panoramas/dungeon/panorama_5.jpg | Bin 18041 -> 17991 bytes .../panoramas/dungeon_hub/panorama_4.jpg | Bin 18780 -> 18727 bytes .../panoramas/dungeon_hub/panorama_5.jpg | Bin 18041 -> 17991 bytes .../panoramas/dynamic_day/panorama_0.jpg | Bin 35131 -> 33582 bytes .../panoramas/dynamic_day/panorama_1.jpg | Bin 32356 -> 31126 bytes .../panoramas/dynamic_day/panorama_2.jpg | Bin 34147 -> 32793 bytes .../panoramas/dynamic_day/panorama_3.jpg | Bin 42291 -> 40205 bytes .../panoramas/dynamic_day/panorama_4.jpg | Bin 25831 -> 24929 bytes .../panoramas/dynamic_day/panorama_5.jpg | Bin 20933 -> 20373 bytes .../panoramas/dynamic_night/panorama_0.jpg | Bin 28070 -> 27052 bytes .../panoramas/dynamic_night/panorama_1.jpg | Bin 30401 -> 29354 bytes .../panoramas/dynamic_night/panorama_2.jpg | Bin 29899 -> 28849 bytes .../panoramas/dynamic_night/panorama_3.jpg | Bin 30543 -> 29568 bytes .../panoramas/dynamic_night/panorama_4.jpg | Bin 27401 -> 26255 bytes .../panoramas/dynamic_night/panorama_5.jpg | Bin 21828 -> 21223 bytes .../panoramas/farming_1_day/panorama_0.jpg | Bin 34294 -> 32829 bytes .../panoramas/farming_1_day/panorama_1.jpg | Bin 47518 -> 45004 bytes .../panoramas/farming_1_day/panorama_2.jpg | Bin 46569 -> 44117 bytes .../panoramas/farming_1_day/panorama_3.jpg | Bin 36648 -> 35025 bytes .../panoramas/farming_1_day/panorama_4.jpg | Bin 15788 -> 15667 bytes .../panoramas/farming_1_day/panorama_5.jpg | Bin 47536 -> 45072 bytes .../panoramas/farming_1_night/panorama_0.jpg | Bin 20273 -> 19870 bytes .../panoramas/farming_1_night/panorama_1.jpg | Bin 23666 -> 23078 bytes .../panoramas/farming_1_night/panorama_2.jpg | Bin 26548 -> 25794 bytes .../panoramas/farming_1_night/panorama_3.jpg | Bin 22310 -> 21899 bytes .../panoramas/farming_1_night/panorama_5.jpg | Bin 29882 -> 28777 bytes .../panoramas/farming_2_day/panorama_0.jpg | Bin 30779 -> 29641 bytes .../panoramas/farming_2_day/panorama_2.jpg | Bin 30070 -> 29040 bytes .../panoramas/farming_2_day/panorama_3.jpg | Bin 30822 -> 29641 bytes .../panoramas/farming_2_day/panorama_5.jpg | Bin 24780 -> 23466 bytes .../panoramas/farming_2_night/panorama_0.jpg | Bin 19525 -> 19360 bytes .../panoramas/farming_2_night/panorama_3.jpg | Bin 17533 -> 17432 bytes .../panoramas/farming_2_night/panorama_5.jpg | Bin 17504 -> 17040 bytes .../panoramas/foraging_1_day/panorama_0.jpg | Bin 42789 -> 40489 bytes .../panoramas/foraging_1_day/panorama_1.jpg | Bin 32963 -> 31789 bytes .../panoramas/foraging_1_day/panorama_2.jpg | Bin 36208 -> 34619 bytes .../panoramas/foraging_1_day/panorama_3.jpg | Bin 34657 -> 33244 bytes .../panoramas/foraging_1_day/panorama_4.jpg | Bin 25234 -> 24265 bytes .../panoramas/foraging_1_day/panorama_5.jpg | Bin 29243 -> 27950 bytes .../panoramas/foraging_1_night/panorama_0.jpg | Bin 16958 -> 16927 bytes .../panoramas/foraging_1_night/panorama_3.jpg | Bin 17531 -> 17518 bytes .../panoramas/foraging_1_night/panorama_5.jpg | Bin 17297 -> 16836 bytes .../panoramas/hub_day/panorama_0.jpg | Bin 20453 -> 20153 bytes .../panoramas/hub_day/panorama_1.jpg | Bin 20509 -> 20168 bytes .../panoramas/hub_day/panorama_2.jpg | Bin 23845 -> 23266 bytes .../panoramas/hub_day/panorama_3.jpg | Bin 24436 -> 23872 bytes .../panoramas/hub_day/panorama_5.jpg | Bin 16562 -> 16208 bytes .../panoramas/hub_night/panorama_0.jpg | Bin 17155 -> 16995 bytes .../panoramas/hub_night/panorama_1.jpg | Bin 17538 -> 17361 bytes .../panoramas/hub_night/panorama_2.jpg | Bin 15950 -> 15857 bytes .../panoramas/hub_night/panorama_3.jpg | Bin 17928 -> 17829 bytes .../panoramas/hub_night/panorama_5.jpg | Bin 15786 -> 15695 bytes .../panoramas/mining_1_day/panorama_0.jpg | Bin 37877 -> 36322 bytes .../panoramas/mining_1_day/panorama_1.jpg | Bin 33985 -> 32721 bytes .../panoramas/mining_1_day/panorama_2.jpg | Bin 29885 -> 28886 bytes .../panoramas/mining_1_day/panorama_3.jpg | Bin 29426 -> 28366 bytes .../panoramas/mining_1_day/panorama_4.jpg | Bin 17061 -> 16993 bytes .../panoramas/mining_1_day/panorama_5.jpg | Bin 24623 -> 23602 bytes .../panoramas/mining_1_night/panorama_0.jpg | Bin 25721 -> 25182 bytes .../panoramas/mining_1_night/panorama_1.jpg | Bin 22713 -> 22307 bytes .../panoramas/mining_1_night/panorama_3.jpg | Bin 19113 -> 18911 bytes .../panoramas/mining_1_night/panorama_5.jpg | Bin 17142 -> 17041 bytes .../panoramas/unknown/panorama_0.jpg | Bin 26015 -> 25187 bytes .../panoramas/unknown/panorama_1.jpg | Bin 26016 -> 25186 bytes .../panoramas/unknown/panorama_2.jpg | Bin 24769 -> 24064 bytes .../panoramas/unknown/panorama_3.jpg | Bin 24854 -> 24124 bytes .../panoramas/unknown/panorama_4.jpg | Bin 26123 -> 25315 bytes .../panoramas/unknown/panorama_5.jpg | Bin 24894 -> 24144 bytes .../petdisplay/petdisplayarmor_dark.png | Bin 1738 -> 1269 bytes .../petdisplay/petdisplayarmor_fsr.png | Bin 1734 -> 1305 bytes .../petdisplay/petdisplayarmor_phqdark.png | Bin 1728 -> 1272 bytes .../petdisplay/petdisplayarmor_transparent.png | Bin 1890 -> 1314 bytes .../notenoughupdates/petdisplay/petdisplaysolo.png | Bin 1743 -> 1284 bytes .../petdisplay/petdisplaysolo_dark.png | Bin 1545 -> 1190 bytes .../petdisplay/petdisplaysolo_fsr.png | Bin 1548 -> 1231 bytes .../petdisplay/petdisplaysolo_phqdark.png | Bin 1537 -> 1191 bytes .../petdisplay/petdisplaysolo_transparent.png | Bin 1720 -> 1257 bytes .../price_graph_gui/price_information_gui.png | Bin 2079 -> 1547 bytes .../price_graph_gui/price_information_gui_dark.png | Bin 2088 -> 1553 bytes .../price_graph_gui/price_information_gui_fsr.png | Bin 2045 -> 1520 bytes .../price_information_gui_phqdark.png | Bin 2091 -> 1556 bytes .../resources/assets/notenoughupdates/pv_basic.png | Bin 2836 -> 1860 bytes .../assets/notenoughupdates/pv_bestiary_tab.png | Bin 628 -> 400 bytes .../assets/notenoughupdates/pv_bingo_tab.png | Bin 2635 -> 1914 bytes .../assets/notenoughupdates/pv_elements.png | Bin 3030 -> 2219 bytes .../resources/assets/notenoughupdates/pv_invs.png | Bin 2426 -> 1219 bytes .../assets/notenoughupdates/pv_mining.png | Bin 4516 -> 3137 bytes .../assets/notenoughupdates/pv_trophy_fish_tab.png | Bin 2839 -> 1888 bytes .../assets/notenoughupdates/pv_unknown.png | Bin 1814 -> 1341 bytes .../resources/assets/notenoughupdates/settings.png | Bin 3962 -> 2546 bytes .../assets/notenoughupdates/slotlocking/bound.png | Bin 5619 -> 5512 bytes .../notenoughupdates/storage_gui/storage_gui_0.png | Bin 6939 -> 4334 bytes .../notenoughupdates/storage_gui/storage_gui_1.png | Bin 4859 -> 4026 bytes .../notenoughupdates/storage_gui/storage_gui_2.png | Bin 4380 -> 3669 bytes .../notenoughupdates/storage_gui/storage_gui_3.png | Bin 4469 -> 3419 bytes .../storage_gui/storage_gui_pane_ctm.png | Bin 1523 -> 1460 bytes .../notenoughupdates/storage_gui/storage_icons.png | Bin 5046 -> 3726 bytes .../storage_gui/storage_preview_0.png | Bin 6939 -> 5541 bytes .../storage_gui/storage_preview_1.png | Bin 7369 -> 6383 bytes .../storage_gui/storage_preview_2.png | Bin 7020 -> 5652 bytes .../storage_gui/storage_preview_3.png | Bin 4373 -> 3912 bytes .../storage_gui/we_do_a_little_rolling/0.jpg | Bin 3696 -> 3455 bytes .../storage_gui/we_do_a_little_rolling/1.jpg | Bin 3642 -> 3400 bytes .../storage_gui/we_do_a_little_rolling/10.jpg | Bin 3687 -> 3444 bytes .../storage_gui/we_do_a_little_rolling/11.jpg | Bin 3827 -> 3597 bytes .../storage_gui/we_do_a_little_rolling/12.jpg | Bin 3762 -> 3518 bytes .../storage_gui/we_do_a_little_rolling/13.jpg | Bin 3701 -> 3447 bytes .../storage_gui/we_do_a_little_rolling/14.jpg | Bin 3604 -> 3370 bytes .../storage_gui/we_do_a_little_rolling/15.jpg | Bin 3574 -> 3324 bytes .../storage_gui/we_do_a_little_rolling/16.jpg | Bin 3717 -> 3488 bytes .../storage_gui/we_do_a_little_rolling/17.jpg | Bin 3798 -> 3573 bytes .../storage_gui/we_do_a_little_rolling/18.jpg | Bin 4003 -> 3787 bytes .../storage_gui/we_do_a_little_rolling/2.jpg | Bin 3719 -> 3473 bytes .../storage_gui/we_do_a_little_rolling/3.jpg | Bin 3730 -> 3494 bytes .../storage_gui/we_do_a_little_rolling/4.jpg | Bin 3762 -> 3525 bytes .../storage_gui/we_do_a_little_rolling/5.jpg | Bin 3706 -> 3472 bytes .../storage_gui/we_do_a_little_rolling/6.jpg | Bin 3560 -> 3315 bytes .../storage_gui/we_do_a_little_rolling/7.jpg | Bin 3547 -> 3289 bytes .../storage_gui/we_do_a_little_rolling/8.jpg | Bin 3579 -> 3320 bytes .../storage_gui/we_do_a_little_rolling/9.jpg | Bin 3609 -> 3351 bytes .../notenoughupdates/supersecretassets/bald.png | Bin 19909 -> 17189 bytes .../notenoughupdates/supersecretassets/lunar.png | Bin 54979 -> 33956 bytes .../textures/gui/forge_recipe_tall.png | Bin 2743 -> 2548 bytes .../textures/gui/item_shop_recipe.png | Bin 3177 -> 2829 bytes .../notenoughupdates/textures/gui/navigation.png | Bin 984 -> 883 bytes .../textures/gui/villager_recipe_tall.png | Bin 2709 -> 2503 bytes 227 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/resources/assets/notenoughupdates/textures/gui') diff --git a/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png b/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png index 6fcac4d1..9de21da0 100644 Binary files a/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png and b/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png differ diff --git a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png index 56f6060a..56bf0e1d 100644 Binary files a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png and b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png differ diff --git a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png index aeb1b5ed..0467011e 100644 Binary files a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png and b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png differ diff --git a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png index 3e21edda..7e15ccd5 100644 Binary files a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png and b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png differ diff --git a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png index b5cf62c0..e6d5ccf0 100644 Binary files a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png and b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png differ diff --git a/src/main/resources/assets/notenoughupdates/auction_profit.png b/src/main/resources/assets/notenoughupdates/auction_profit.png index 80e06c10..26a2bbc6 100644 Binary files a/src/main/resources/assets/notenoughupdates/auction_profit.png and b/src/main/resources/assets/notenoughupdates/auction_profit.png differ diff --git a/src/main/resources/assets/notenoughupdates/button_white.png b/src/main/resources/assets/notenoughupdates/button_white.png index 7763716d..d6460e89 100644 Binary files a/src/main/resources/assets/notenoughupdates/button_white.png and b/src/main/resources/assets/notenoughupdates/button_white.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/dg_preview.png b/src/main/resources/assets/notenoughupdates/capes/dg_preview.png index 2e68d99d..bf9bad22 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/dg_preview.png and b/src/main/resources/assets/notenoughupdates/capes/dg_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/fade.png b/src/main/resources/assets/notenoughupdates/capes/fade.png index d898ec4d..7ee247a6 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/fade.png and b/src/main/resources/assets/notenoughupdates/capes/fade.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/fade_preview.png b/src/main/resources/assets/notenoughupdates/capes/fade_preview.png index fcb121e3..2a580336 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/fade_preview.png and b/src/main/resources/assets/notenoughupdates/capes/fade_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/furf.png b/src/main/resources/assets/notenoughupdates/capes/furf.png index a083a662..74983e1f 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/furf.png and b/src/main/resources/assets/notenoughupdates/capes/furf.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/furf_preview.png b/src/main/resources/assets/notenoughupdates/capes/furf_preview.png index d65f8fbe..8f5dd5da 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/furf_preview.png and b/src/main/resources/assets/notenoughupdates/capes/furf_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/ironmoon.png b/src/main/resources/assets/notenoughupdates/capes/ironmoon.png index b25221d9..2e3ebda1 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/ironmoon.png and b/src/main/resources/assets/notenoughupdates/capes/ironmoon.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png b/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png index c233128a..242bec0e 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png and b/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/lava.png b/src/main/resources/assets/notenoughupdates/capes/lava.png index 8f60a03e..71451cf2 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/lava.png and b/src/main/resources/assets/notenoughupdates/capes/lava.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png b/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png index 0d9ad9eb..147491ef 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png and b/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/mcworld.png b/src/main/resources/assets/notenoughupdates/capes/mcworld.png index 89b3b367..562ab737 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/mcworld.png and b/src/main/resources/assets/notenoughupdates/capes/mcworld.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png b/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png index d69ff6c0..45c36da3 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png and b/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/screensaver.png b/src/main/resources/assets/notenoughupdates/capes/screensaver.png index c6ce9e8c..024f5504 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/screensaver.png and b/src/main/resources/assets/notenoughupdates/capes/screensaver.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png b/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png index a7d890f8..35d0cdeb 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png and b/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png index 66314629..a801e8c0 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png and b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png index 2be61fee..c8fb5204 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png and b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/sharex_white.png b/src/main/resources/assets/notenoughupdates/capes/sharex_white.png index c7457897..c638e825 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/sharex_white.png and b/src/main/resources/assets/notenoughupdates/capes/sharex_white.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png b/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png index 6ed14bd8..0855c8d7 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png and b/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/skyclient.png b/src/main/resources/assets/notenoughupdates/capes/skyclient.png index 8fa36038..62543232 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/skyclient.png and b/src/main/resources/assets/notenoughupdates/capes/skyclient.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png b/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png index 36140806..d8ad43f0 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png and b/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/space.png b/src/main/resources/assets/notenoughupdates/capes/space.png index 76d4a42c..0fd5c0a5 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/space.png and b/src/main/resources/assets/notenoughupdates/capes/space.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png b/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png index aba13112..201f31c5 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png and b/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png b/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png index 6a9b43d0..e03a6379 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png and b/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png index 83ae4223..4daa66ca 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png index a2af3c1d..f32d1b02 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png index d06a5c33..c9e3d636 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/thebakery.png b/src/main/resources/assets/notenoughupdates/capes/thebakery.png index 8d4ca440..8784cf63 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/thebakery.png and b/src/main/resources/assets/notenoughupdates/capes/thebakery.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png b/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png index 4d0a6b7e..eb3dbcd9 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png and b/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/void.png b/src/main/resources/assets/notenoughupdates/capes/void.png index d9f27e95..2c481444 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/void.png and b/src/main/resources/assets/notenoughupdates/capes/void.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/void_preview.png b/src/main/resources/assets/notenoughupdates/capes/void_preview.png index 5bac3004..a2914145 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/void_preview.png and b/src/main/resources/assets/notenoughupdates/capes/void_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/colour_selector_dot.png b/src/main/resources/assets/notenoughupdates/colour_selector_dot.png index 1150c8bb..775c5290 100644 Binary files a/src/main/resources/assets/notenoughupdates/colour_selector_dot.png and b/src/main/resources/assets/notenoughupdates/colour_selector_dot.png differ diff --git a/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png b/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png index 1150c8bb..6dc8cc15 100644 Binary files a/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png and b/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png differ diff --git a/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png b/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png index 735a3fb4..fe53d96d 100644 Binary files a/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png and b/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png index 6cd64ed1..a1935c97 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png index 65898e8f..f0471e28 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png index 6f0daba0..6d80fa08 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png index 4c123e77..4ed21c74 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png index 833b9017..3384e52f 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png index 93bef87d..cb74af61 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png index 54db6fbc..9fb3d937 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png index c5fedff9..40b88826 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png index c79eee7f..cb604e86 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png index 4f4b1dc7..ef623aec 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png index 3730ab57..132ccd97 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png index 68824d04..a22cf178 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png index 3b8776e7..51c59181 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png index 3a708494..a4625bf9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png index c131badf..982477f9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png index a42870f2..723056e9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png index b9bcac1d..359eacf6 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png index 2fdbe252..da1e28eb 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png index fe0ba4b9..92e441ea 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png index bd580c8e..5a8cb034 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png index 6f2bdc29..1dabecff 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png index 5dd06a89..055e99fb 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png index 1d275525..199da5c7 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png index 3d1c0833..dbe35950 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/a.png b/src/main/resources/assets/notenoughupdates/dungeon_win/a.png index 85322946..cfb3630d 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/a.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/a.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/s.png b/src/main/resources/assets/notenoughupdates/dungeon_win/s.png index a514f285..a1bf993c 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/s.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/s.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png b/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png index 732d30a3..69aa0c75 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png index fa43a0ed..aa3f32fe 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png index bab0eab7..ee5a3b54 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png index fa43a0ed..13c83e85 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png index fa43a0ed..4ba59d9a 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png index fa43a0ed..3c91e846 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png index ea57f0d0..b8749675 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png index fa43a0ed..ff73398b 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png index 7a1aa4a4..34fde767 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png index 5f4960f9..55f0cf25 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png differ diff --git a/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png b/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png index 914e86bf..0e2078dc 100644 Binary files a/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png and b/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png differ diff --git a/src/main/resources/assets/notenoughupdates/fuel_bar.png b/src/main/resources/assets/notenoughupdates/fuel_bar.png index f15ab522..1b2daa14 100644 Binary files a/src/main/resources/assets/notenoughupdates/fuel_bar.png and b/src/main/resources/assets/notenoughupdates/fuel_bar.png differ diff --git a/src/main/resources/assets/notenoughupdates/help.png b/src/main/resources/assets/notenoughupdates/help.png index 1a7ebb60..71501035 100644 Binary files a/src/main/resources/assets/notenoughupdates/help.png and b/src/main/resources/assets/notenoughupdates/help.png differ diff --git a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png index 481a0588..dd65a6e4 100644 Binary files a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png and b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png differ diff --git a/src/main/resources/assets/notenoughupdates/logo.png b/src/main/resources/assets/notenoughupdates/logo.png index c08a8991..26d30ff6 100644 Binary files a/src/main/resources/assets/notenoughupdates/logo.png and b/src/main/resources/assets/notenoughupdates/logo.png differ diff --git a/src/main/resources/assets/notenoughupdates/on.png b/src/main/resources/assets/notenoughupdates/on.png index 5520a661..e3f0eee0 100644 Binary files a/src/main/resources/assets/notenoughupdates/on.png and b/src/main/resources/assets/notenoughupdates/on.png differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg index 27531695..e777b0fc 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg index 5586cf8a..2564894c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg index 78540079..7bf12754 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg index 74bc8f23..a6c9c2fe 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg index cdf3fdde..d15749a6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg index f9e5ed40..2f9aac53 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg index f1f6a028..ed3339e5 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg index 882e20a2..7452f9ef 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg index 3ec9391f..aa988960 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg index 0c99863b..df60e3ba 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg index 92b62ab3..ddd78a06 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg index 169c36be..45c635f9 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg index cb60f6d3..74ce480c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg index 39a3b594..1aadb5ba 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg index 32f9f7bb..3cc6ec86 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg index ece00b29..7ed2a00e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg index ed4af05e..4715dacf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg index aca79dcf..53449ffe 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg index 398e21c9..a76500fe 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg index 75b6cd4e..8b21cd0c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg index c5e99eac..e1562211 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg index 75b6cd4e..8b21cd0c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg index c5e99eac..e1562211 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg index f6231245..55ad8851 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg index 286b3a38..bb0edeaa 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg index c6fca879..ed6e4f58 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg index 01b2f816..ccea9cd2 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg index a5c810fe..4c8e6249 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg index 30d32a08..803f43f4 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg index b1fb3e84..39080e08 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg index f7642beb..3167ff3a 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg index 3cb3b42f..dd39c253 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg index a98d7672..656700da 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg index ad2b8c70..4cfc6d34 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg index f2e93cde..b47d9b7f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg index c03b849d..302b60b8 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg index 2286407b..a35a3ff8 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg index 62127f51..6121cbcf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg index fe631d89..139dcceb 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg index cf835eea..e9de5bf8 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg index 879b5747..29304f3c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg index 265515f6..fac794d6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg index e774ca7a..7b526d60 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg index 1e3c8a98..d3cbe633 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg index 7833eb89..259bd3d6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg index ae3bdbdf..e1f41379 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg index e03657af..009684ce 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg index c83f2c91..3fb00305 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg index 9b730712..1ae90a23 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg index a17337b9..f98a25e2 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg index 26909780..e893b436 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg index 0e870f38..33512fe1 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg index f40c330c..ddc7820f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg index 9a12896f..6ff184ff 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg index c157ccdd..f0133647 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg index ecee024b..bdb4e055 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg index 0dbef91f..42d45a9c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg index 681aa33e..2bc73a30 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg index 6be866d2..160f84c6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg index 050e4f78..1631924e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg index 3af3638e..8647d5ee 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg index d3c13992..4bac20d8 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg index 0d5f26dd..e61f7c12 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg index 820b92a4..3e97f3c0 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg index 14d01dd1..141a4fcf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg index bfc66ec9..570da076 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg index f3df82a5..cafeb1dd 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg index 34bc84db..988c7cdb 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg index 742d158b..0ef7e0a2 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg index abf0a253..1d3f8d11 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg index 7efc75d6..aebc2b4e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg index e86e93c4..3159658d 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg index e0c4288d..7872a822 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg index e0cc8139..40c1b8bf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg index 381912e1..2586dec8 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg index 0beaf628..7d4a23a4 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg index 26417482..befb2875 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg index 8571b288..2e2d1700 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg index e90efd5f..3045fbc5 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg index 603f9d04..6e04d738 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg index abd201d1..1d87c269 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg index 93a5a26d..67b0c1a0 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg index 9482df80..3c579656 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg index 1b4235dd..5d38a803 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg index 2f1fcc06..46465f71 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg index ce20d9b5..39eb8c7e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg index 3dcdac57..67cd1ecf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg index 45f65c7c..fe839f66 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png index 27abd2d5..d231bd86 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png index 39782b3f..d179fa42 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png index 83b78351..d33dac25 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png index f1bebc01..6e9f1928 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png index c047d5ad..9f4f712e 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png index 6ad6216c..c43b5fdb 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png index f39235af..795ba881 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png index 80566c92..41fa8bc1 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png index dfe92b74..2364318f 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png index 633be870..d84526ca 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png index 0f7743e6..d70fc7dc 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png index e98bdb7d..36921193 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png index f794319f..893d2716 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_basic.png b/src/main/resources/assets/notenoughupdates/pv_basic.png index 4d5236f5..1c46a8e4 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_basic.png and b/src/main/resources/assets/notenoughupdates/pv_basic.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png index 620c156b..eed9a72b 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png and b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png b/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png index 135035cf..56046537 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png and b/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_elements.png b/src/main/resources/assets/notenoughupdates/pv_elements.png index 7e9033bd..2a6cd1c2 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_elements.png and b/src/main/resources/assets/notenoughupdates/pv_elements.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_invs.png b/src/main/resources/assets/notenoughupdates/pv_invs.png index 46c7b0e9..c25ce499 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_invs.png and b/src/main/resources/assets/notenoughupdates/pv_invs.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_mining.png b/src/main/resources/assets/notenoughupdates/pv_mining.png index a183fe88..226c7e40 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_mining.png and b/src/main/resources/assets/notenoughupdates/pv_mining.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png b/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png index d42446c1..47ac6928 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png and b/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_unknown.png b/src/main/resources/assets/notenoughupdates/pv_unknown.png index d6ce3a00..0c282ac7 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_unknown.png and b/src/main/resources/assets/notenoughupdates/pv_unknown.png differ diff --git a/src/main/resources/assets/notenoughupdates/settings.png b/src/main/resources/assets/notenoughupdates/settings.png index 481a0588..c81d4c18 100644 Binary files a/src/main/resources/assets/notenoughupdates/settings.png and b/src/main/resources/assets/notenoughupdates/settings.png differ diff --git a/src/main/resources/assets/notenoughupdates/slotlocking/bound.png b/src/main/resources/assets/notenoughupdates/slotlocking/bound.png index 1631d386..8ff435b3 100644 Binary files a/src/main/resources/assets/notenoughupdates/slotlocking/bound.png and b/src/main/resources/assets/notenoughupdates/slotlocking/bound.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png index da1461be..12f613ff 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png index 3ff29ff1..5c0e8175 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png index 16150a20..8ceeb6c3 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png index 755dc865..74d9820d 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png index 429e7a28..56a1c8ef 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png index be569369..9dec164f 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png index faa30c96..dcce08b4 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png index 00ed9488..bb23232d 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png index 89fe7b15..ddaf339c 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png index 7ead5a79..2d23ee4a 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg index 48d7a47f..ef225dba 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg index ace0d1a0..363bc4ab 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg index afed0c9b..82f66718 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg index 0b03bbfb..9baa4531 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg index b7142650..fea92c09 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg index 8e62f742..4a220319 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg index 6f296154..b50fb7cf 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg index 682aae45..15fa28f9 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg index ea4efa72..b6bd773a 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg index 9be04bea..7046b122 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg index d2f1e372..1429548a 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg index 11598aec..5050048b 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg index 6c8a53e7..468278b8 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg index c78a311f..7d29bf3d 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg index 48080f68..4277a767 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg index 382082e2..bbe597d7 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg index 7f3576fe..8f311a6d 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg index de065e28..d7c97663 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg index 29fdfc1b..39da193a 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png b/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png index 4f730a44..7b407117 100644 Binary files a/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png and b/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png differ diff --git a/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png b/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png index 7de98284..469d96b8 100644 Binary files a/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png and b/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png index cdd8b0f1..d89260db 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png index e78c0f44..9226529a 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png and b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png index 628f3a47..fc85046f 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png and b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png index 8cb89bae..f22f28ee 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png differ -- cgit From df9f5b86598e5d358463bcc770471a274027626d Mon Sep 17 00:00:00 2001 From: jani270 <69345714+jani270@users.noreply.github.com> Date: Tue, 4 Oct 2022 13:59:56 +0200 Subject: Revert "[ImgBot] Optimize images" (#334) --- .../notenoughupdates/accessory_bag_overlay.png | Bin 587 -> 973 bytes .../notenoughupdates/armordisplay/armordisplay.png | Bin 381 -> 1599 bytes .../armordisplay/armordisplay_transparent_pet.png | Bin 1171 -> 1500 bytes .../auc_search/ah_search_overlay.png | Bin 3168 -> 3513 bytes .../auc_search/ah_search_overlay_tab_completed.png | Bin 6547 -> 6969 bytes .../assets/notenoughupdates/auction_profit.png | Bin 551 -> 595 bytes .../assets/notenoughupdates/button_white.png | Bin 4882 -> 6570 bytes .../assets/notenoughupdates/capes/dg_preview.png | Bin 7788 -> 18852 bytes .../assets/notenoughupdates/capes/fade.png | Bin 10289 -> 18572 bytes .../assets/notenoughupdates/capes/fade_preview.png | Bin 10309 -> 10411 bytes .../assets/notenoughupdates/capes/furf.png | Bin 5776 -> 8509 bytes .../assets/notenoughupdates/capes/furf_preview.png | Bin 3286 -> 3506 bytes .../assets/notenoughupdates/capes/ironmoon.png | Bin 133758 -> 142131 bytes .../notenoughupdates/capes/ironmoon_preview.png | Bin 88214 -> 92492 bytes .../assets/notenoughupdates/capes/lava.png | Bin 167381 -> 169280 bytes .../notenoughupdates/capes/mbstaff_preview.png | Bin 38573 -> 39260 bytes .../assets/notenoughupdates/capes/mcworld.png | Bin 280386 -> 291014 bytes .../notenoughupdates/capes/packshq_preview.png | Bin 14346 -> 14680 bytes .../assets/notenoughupdates/capes/screensaver.png | Bin 31139 -> 31381 bytes .../notenoughupdates/capes/screensaver_preview.png | Bin 17150 -> 19453 bytes .../notenoughupdates/capes/secondpfirsisch.png | Bin 52827 -> 58167 bytes .../capes/secondpfirsisch_preview.png | Bin 36232 -> 38433 bytes .../assets/notenoughupdates/capes/sharex_white.png | Bin 15517 -> 27251 bytes .../capes/sharex_white_preview.png | Bin 15204 -> 21698 bytes .../assets/notenoughupdates/capes/skyclient.png | Bin 13024 -> 27981 bytes .../notenoughupdates/capes/skyclient_preview.png | Bin 5987 -> 10294 bytes .../assets/notenoughupdates/capes/space.png | Bin 856184 -> 922429 bytes .../assets/notenoughupdates/capes/stormy_lh.png | Bin 24286 -> 56764 bytes .../notenoughupdates/capes/stormy_lh_preview.png | Bin 11290 -> 12899 bytes .../notenoughupdates/capes/subreddit_dark.png | Bin 5275 -> 7297 bytes .../notenoughupdates/capes/subreddit_light.png | Bin 5353 -> 7508 bytes .../capes/subreddit_light_preview.png | Bin 2406 -> 2583 bytes .../assets/notenoughupdates/capes/thebakery.png | Bin 431168 -> 537705 bytes .../notenoughupdates/capes/thebakery_preview.png | Bin 50272 -> 71386 bytes .../assets/notenoughupdates/capes/void.png | Bin 20910 -> 41607 bytes .../assets/notenoughupdates/capes/void_preview.png | Bin 3235 -> 4712 bytes .../notenoughupdates/colour_selector_dot.png | Bin 2596 -> 3677 bytes .../notenoughupdates/core/colour_selector_dot.png | Bin 2596 -> 3677 bytes .../assets/notenoughupdates/custom_enchant_gui.png | Bin 3227 -> 4982 bytes .../dungeon_map/borders/large/10.png | Bin 6065 -> 7050 bytes .../dungeon_map/borders/large/11.png | Bin 12073 -> 16913 bytes .../dungeon_map/borders/large/2.png | Bin 943 -> 1006 bytes .../dungeon_map/borders/large/3.png | Bin 6232 -> 6971 bytes .../dungeon_map/borders/large/4.png | Bin 7775 -> 10886 bytes .../dungeon_map/borders/large/5.png | Bin 8195 -> 13433 bytes .../dungeon_map/borders/large/8.png | Bin 6080 -> 6904 bytes .../dungeon_map/borders/large/9.png | Bin 5405 -> 6779 bytes .../borders/map_border_dragon_stone.png | Bin 2351 -> 4952 bytes .../dungeon_map/borders/medium/10.png | Bin 6222 -> 6703 bytes .../dungeon_map/borders/medium/11.png | Bin 11183 -> 15370 bytes .../dungeon_map/borders/medium/3.png | Bin 6013 -> 6522 bytes .../dungeon_map/borders/medium/4.png | Bin 5987 -> 7093 bytes .../dungeon_map/borders/medium/5.png | Bin 5824 -> 7618 bytes .../dungeon_map/borders/medium/8.png | Bin 5779 -> 6277 bytes .../dungeon_map/borders/medium/9.png | Bin 5654 -> 6362 bytes .../dungeon_map/borders/small/10.png | Bin 6455 -> 7045 bytes .../dungeon_map/borders/small/11.png | Bin 9691 -> 12576 bytes .../dungeon_map/borders/small/3.png | Bin 6386 -> 6697 bytes .../dungeon_map/borders/small/4.png | Bin 5307 -> 5947 bytes .../dungeon_map/borders/small/5.png | Bin 7041 -> 8456 bytes .../dungeon_map/borders/small/8.png | Bin 6365 -> 6789 bytes .../dungeon_map/borders/small/9.png | Bin 5734 -> 5897 bytes .../dungeon_map/borders/steampunk.png | Bin 8341 -> 10039 bytes .../assets/notenoughupdates/dungeon_win/a.png | Bin 517 -> 569 bytes .../assets/notenoughupdates/dungeon_win/s.png | Bin 502 -> 579 bytes .../assets/notenoughupdates/dungeon_win/splus.png | Bin 1482 -> 2296 bytes .../dynamic_54/style4/dynamic_54_slot_ctm.png | Bin 537 -> 539 bytes .../dynamic_54/style5/dynamic_54_button_ctm.png | Bin 533 -> 543 bytes .../dynamic_54/style5/dynamic_54_slot_ctm.png | Bin 537 -> 539 bytes .../dynamic_54/style6/dynamic_54_button_ctm.png | Bin 537 -> 539 bytes .../dynamic_54/style6/dynamic_54_slot_ctm.png | Bin 537 -> 539 bytes .../dynamic_54/style7/dynamic_54_button_ctm.png | Bin 864 -> 3437 bytes .../dynamic_54/style7/dynamic_54_slot_ctm.png | Bin 537 -> 539 bytes .../notenoughupdates/dynamic_54/toggle_off.png | Bin 379 -> 389 bytes .../notenoughupdates/dynamic_54/toggle_on.png | Bin 379 -> 406 bytes .../notenoughupdates/fishing_warning_exclam.png | Bin 5749 -> 5807 bytes .../resources/assets/notenoughupdates/fuel_bar.png | Bin 2271 -> 2333 bytes .../resources/assets/notenoughupdates/help.png | Bin 3018 -> 3500 bytes .../invbuttons/extraicons/settings.png | Bin 2546 -> 3962 bytes .../resources/assets/notenoughupdates/logo.png | Bin 18710 -> 21782 bytes src/main/resources/assets/notenoughupdates/on.png | Bin 446 -> 1311 bytes .../panoramas/combat_1_day/panorama_0.jpg | Bin 20975 -> 21394 bytes .../panoramas/combat_1_day/panorama_1.jpg | Bin 20008 -> 20539 bytes .../panoramas/combat_1_day/panorama_2.jpg | Bin 18018 -> 18095 bytes .../panoramas/combat_1_day/panorama_3.jpg | Bin 20646 -> 21069 bytes .../panoramas/combat_1_day/panorama_4.jpg | Bin 16944 -> 17245 bytes .../panoramas/combat_1_night/panorama_5.jpg | Bin 15892 -> 16017 bytes .../panoramas/combat_3_day/panorama_0.jpg | Bin 32699 -> 34048 bytes .../panoramas/combat_3_day/panorama_1.jpg | Bin 27566 -> 28471 bytes .../panoramas/combat_3_day/panorama_2.jpg | Bin 21806 -> 22159 bytes .../panoramas/combat_3_day/panorama_3.jpg | Bin 26543 -> 27487 bytes .../panoramas/combat_3_day/panorama_4.jpg | Bin 19205 -> 19750 bytes .../panoramas/combat_3_day/panorama_5.jpg | Bin 21050 -> 21597 bytes .../panoramas/combat_3_night/panorama_0.jpg | Bin 18025 -> 18255 bytes .../panoramas/combat_3_night/panorama_3.jpg | Bin 18259 -> 18438 bytes .../panoramas/dark_auction/panorama_0.jpg | Bin 18990 -> 19008 bytes .../panoramas/dark_auction/panorama_1.jpg | Bin 19399 -> 19414 bytes .../panoramas/dark_auction/panorama_3.jpg | Bin 19482 -> 19497 bytes .../panoramas/dark_auction/panorama_4.jpg | Bin 18500 -> 18727 bytes .../panoramas/dark_auction/panorama_5.jpg | Bin 18621 -> 18871 bytes .../panoramas/dungeon/panorama_4.jpg | Bin 18727 -> 18780 bytes .../panoramas/dungeon/panorama_5.jpg | Bin 17991 -> 18041 bytes .../panoramas/dungeon_hub/panorama_4.jpg | Bin 18727 -> 18780 bytes .../panoramas/dungeon_hub/panorama_5.jpg | Bin 17991 -> 18041 bytes .../panoramas/dynamic_day/panorama_0.jpg | Bin 33582 -> 35131 bytes .../panoramas/dynamic_day/panorama_1.jpg | Bin 31126 -> 32356 bytes .../panoramas/dynamic_day/panorama_2.jpg | Bin 32793 -> 34147 bytes .../panoramas/dynamic_day/panorama_3.jpg | Bin 40205 -> 42291 bytes .../panoramas/dynamic_day/panorama_4.jpg | Bin 24929 -> 25831 bytes .../panoramas/dynamic_day/panorama_5.jpg | Bin 20373 -> 20933 bytes .../panoramas/dynamic_night/panorama_0.jpg | Bin 27052 -> 28070 bytes .../panoramas/dynamic_night/panorama_1.jpg | Bin 29354 -> 30401 bytes .../panoramas/dynamic_night/panorama_2.jpg | Bin 28849 -> 29899 bytes .../panoramas/dynamic_night/panorama_3.jpg | Bin 29568 -> 30543 bytes .../panoramas/dynamic_night/panorama_4.jpg | Bin 26255 -> 27401 bytes .../panoramas/dynamic_night/panorama_5.jpg | Bin 21223 -> 21828 bytes .../panoramas/farming_1_day/panorama_0.jpg | Bin 32829 -> 34294 bytes .../panoramas/farming_1_day/panorama_1.jpg | Bin 45004 -> 47518 bytes .../panoramas/farming_1_day/panorama_2.jpg | Bin 44117 -> 46569 bytes .../panoramas/farming_1_day/panorama_3.jpg | Bin 35025 -> 36648 bytes .../panoramas/farming_1_day/panorama_4.jpg | Bin 15667 -> 15788 bytes .../panoramas/farming_1_day/panorama_5.jpg | Bin 45072 -> 47536 bytes .../panoramas/farming_1_night/panorama_0.jpg | Bin 19870 -> 20273 bytes .../panoramas/farming_1_night/panorama_1.jpg | Bin 23078 -> 23666 bytes .../panoramas/farming_1_night/panorama_2.jpg | Bin 25794 -> 26548 bytes .../panoramas/farming_1_night/panorama_3.jpg | Bin 21899 -> 22310 bytes .../panoramas/farming_1_night/panorama_5.jpg | Bin 28777 -> 29882 bytes .../panoramas/farming_2_day/panorama_0.jpg | Bin 29641 -> 30779 bytes .../panoramas/farming_2_day/panorama_2.jpg | Bin 29040 -> 30070 bytes .../panoramas/farming_2_day/panorama_3.jpg | Bin 29641 -> 30822 bytes .../panoramas/farming_2_day/panorama_5.jpg | Bin 23466 -> 24780 bytes .../panoramas/farming_2_night/panorama_0.jpg | Bin 19360 -> 19525 bytes .../panoramas/farming_2_night/panorama_3.jpg | Bin 17432 -> 17533 bytes .../panoramas/farming_2_night/panorama_5.jpg | Bin 17040 -> 17504 bytes .../panoramas/foraging_1_day/panorama_0.jpg | Bin 40489 -> 42789 bytes .../panoramas/foraging_1_day/panorama_1.jpg | Bin 31789 -> 32963 bytes .../panoramas/foraging_1_day/panorama_2.jpg | Bin 34619 -> 36208 bytes .../panoramas/foraging_1_day/panorama_3.jpg | Bin 33244 -> 34657 bytes .../panoramas/foraging_1_day/panorama_4.jpg | Bin 24265 -> 25234 bytes .../panoramas/foraging_1_day/panorama_5.jpg | Bin 27950 -> 29243 bytes .../panoramas/foraging_1_night/panorama_0.jpg | Bin 16927 -> 16958 bytes .../panoramas/foraging_1_night/panorama_3.jpg | Bin 17518 -> 17531 bytes .../panoramas/foraging_1_night/panorama_5.jpg | Bin 16836 -> 17297 bytes .../panoramas/hub_day/panorama_0.jpg | Bin 20153 -> 20453 bytes .../panoramas/hub_day/panorama_1.jpg | Bin 20168 -> 20509 bytes .../panoramas/hub_day/panorama_2.jpg | Bin 23266 -> 23845 bytes .../panoramas/hub_day/panorama_3.jpg | Bin 23872 -> 24436 bytes .../panoramas/hub_day/panorama_5.jpg | Bin 16208 -> 16562 bytes .../panoramas/hub_night/panorama_0.jpg | Bin 16995 -> 17155 bytes .../panoramas/hub_night/panorama_1.jpg | Bin 17361 -> 17538 bytes .../panoramas/hub_night/panorama_2.jpg | Bin 15857 -> 15950 bytes .../panoramas/hub_night/panorama_3.jpg | Bin 17829 -> 17928 bytes .../panoramas/hub_night/panorama_5.jpg | Bin 15695 -> 15786 bytes .../panoramas/mining_1_day/panorama_0.jpg | Bin 36322 -> 37877 bytes .../panoramas/mining_1_day/panorama_1.jpg | Bin 32721 -> 33985 bytes .../panoramas/mining_1_day/panorama_2.jpg | Bin 28886 -> 29885 bytes .../panoramas/mining_1_day/panorama_3.jpg | Bin 28366 -> 29426 bytes .../panoramas/mining_1_day/panorama_4.jpg | Bin 16993 -> 17061 bytes .../panoramas/mining_1_day/panorama_5.jpg | Bin 23602 -> 24623 bytes .../panoramas/mining_1_night/panorama_0.jpg | Bin 25182 -> 25721 bytes .../panoramas/mining_1_night/panorama_1.jpg | Bin 22307 -> 22713 bytes .../panoramas/mining_1_night/panorama_3.jpg | Bin 18911 -> 19113 bytes .../panoramas/mining_1_night/panorama_5.jpg | Bin 17041 -> 17142 bytes .../panoramas/unknown/panorama_0.jpg | Bin 25187 -> 26015 bytes .../panoramas/unknown/panorama_1.jpg | Bin 25186 -> 26016 bytes .../panoramas/unknown/panorama_2.jpg | Bin 24064 -> 24769 bytes .../panoramas/unknown/panorama_3.jpg | Bin 24124 -> 24854 bytes .../panoramas/unknown/panorama_4.jpg | Bin 25315 -> 26123 bytes .../panoramas/unknown/panorama_5.jpg | Bin 24144 -> 24894 bytes .../petdisplay/petdisplayarmor_dark.png | Bin 1269 -> 1738 bytes .../petdisplay/petdisplayarmor_fsr.png | Bin 1305 -> 1734 bytes .../petdisplay/petdisplayarmor_phqdark.png | Bin 1272 -> 1728 bytes .../petdisplay/petdisplayarmor_transparent.png | Bin 1314 -> 1890 bytes .../notenoughupdates/petdisplay/petdisplaysolo.png | Bin 1284 -> 1743 bytes .../petdisplay/petdisplaysolo_dark.png | Bin 1190 -> 1545 bytes .../petdisplay/petdisplaysolo_fsr.png | Bin 1231 -> 1548 bytes .../petdisplay/petdisplaysolo_phqdark.png | Bin 1191 -> 1537 bytes .../petdisplay/petdisplaysolo_transparent.png | Bin 1257 -> 1720 bytes .../price_graph_gui/price_information_gui.png | Bin 1547 -> 2079 bytes .../price_graph_gui/price_information_gui_dark.png | Bin 1553 -> 2088 bytes .../price_graph_gui/price_information_gui_fsr.png | Bin 1520 -> 2045 bytes .../price_information_gui_phqdark.png | Bin 1556 -> 2091 bytes .../resources/assets/notenoughupdates/pv_basic.png | Bin 1860 -> 2836 bytes .../assets/notenoughupdates/pv_bestiary_tab.png | Bin 400 -> 628 bytes .../assets/notenoughupdates/pv_bingo_tab.png | Bin 1914 -> 2635 bytes .../assets/notenoughupdates/pv_elements.png | Bin 2219 -> 3030 bytes .../resources/assets/notenoughupdates/pv_invs.png | Bin 1219 -> 2426 bytes .../assets/notenoughupdates/pv_mining.png | Bin 3137 -> 4516 bytes .../assets/notenoughupdates/pv_trophy_fish_tab.png | Bin 1888 -> 2839 bytes .../assets/notenoughupdates/pv_unknown.png | Bin 1341 -> 1814 bytes .../resources/assets/notenoughupdates/settings.png | Bin 2546 -> 3962 bytes .../assets/notenoughupdates/slotlocking/bound.png | Bin 5512 -> 5619 bytes .../notenoughupdates/storage_gui/storage_gui_0.png | Bin 4334 -> 6939 bytes .../notenoughupdates/storage_gui/storage_gui_1.png | Bin 4026 -> 4859 bytes .../notenoughupdates/storage_gui/storage_gui_2.png | Bin 3669 -> 4380 bytes .../notenoughupdates/storage_gui/storage_gui_3.png | Bin 3419 -> 4469 bytes .../storage_gui/storage_gui_pane_ctm.png | Bin 1460 -> 1523 bytes .../notenoughupdates/storage_gui/storage_icons.png | Bin 3726 -> 5046 bytes .../storage_gui/storage_preview_0.png | Bin 5541 -> 6939 bytes .../storage_gui/storage_preview_1.png | Bin 6383 -> 7369 bytes .../storage_gui/storage_preview_2.png | Bin 5652 -> 7020 bytes .../storage_gui/storage_preview_3.png | Bin 3912 -> 4373 bytes .../storage_gui/we_do_a_little_rolling/0.jpg | Bin 3455 -> 3696 bytes .../storage_gui/we_do_a_little_rolling/1.jpg | Bin 3400 -> 3642 bytes .../storage_gui/we_do_a_little_rolling/10.jpg | Bin 3444 -> 3687 bytes .../storage_gui/we_do_a_little_rolling/11.jpg | Bin 3597 -> 3827 bytes .../storage_gui/we_do_a_little_rolling/12.jpg | Bin 3518 -> 3762 bytes .../storage_gui/we_do_a_little_rolling/13.jpg | Bin 3447 -> 3701 bytes .../storage_gui/we_do_a_little_rolling/14.jpg | Bin 3370 -> 3604 bytes .../storage_gui/we_do_a_little_rolling/15.jpg | Bin 3324 -> 3574 bytes .../storage_gui/we_do_a_little_rolling/16.jpg | Bin 3488 -> 3717 bytes .../storage_gui/we_do_a_little_rolling/17.jpg | Bin 3573 -> 3798 bytes .../storage_gui/we_do_a_little_rolling/18.jpg | Bin 3787 -> 4003 bytes .../storage_gui/we_do_a_little_rolling/2.jpg | Bin 3473 -> 3719 bytes .../storage_gui/we_do_a_little_rolling/3.jpg | Bin 3494 -> 3730 bytes .../storage_gui/we_do_a_little_rolling/4.jpg | Bin 3525 -> 3762 bytes .../storage_gui/we_do_a_little_rolling/5.jpg | Bin 3472 -> 3706 bytes .../storage_gui/we_do_a_little_rolling/6.jpg | Bin 3315 -> 3560 bytes .../storage_gui/we_do_a_little_rolling/7.jpg | Bin 3289 -> 3547 bytes .../storage_gui/we_do_a_little_rolling/8.jpg | Bin 3320 -> 3579 bytes .../storage_gui/we_do_a_little_rolling/9.jpg | Bin 3351 -> 3609 bytes .../notenoughupdates/supersecretassets/bald.png | Bin 17189 -> 19909 bytes .../notenoughupdates/supersecretassets/lunar.png | Bin 33956 -> 54979 bytes .../textures/gui/forge_recipe_tall.png | Bin 2548 -> 2743 bytes .../textures/gui/item_shop_recipe.png | Bin 2829 -> 3177 bytes .../notenoughupdates/textures/gui/navigation.png | Bin 883 -> 984 bytes .../textures/gui/villager_recipe_tall.png | Bin 2503 -> 2709 bytes 227 files changed, 0 insertions(+), 0 deletions(-) (limited to 'src/main/resources/assets/notenoughupdates/textures/gui') diff --git a/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png b/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png index 9de21da0..6fcac4d1 100644 Binary files a/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png and b/src/main/resources/assets/notenoughupdates/accessory_bag_overlay.png differ diff --git a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png index 56bf0e1d..56f6060a 100644 Binary files a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png and b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay.png differ diff --git a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png index 0467011e..aeb1b5ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png and b/src/main/resources/assets/notenoughupdates/armordisplay/armordisplay_transparent_pet.png differ diff --git a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png index 7e15ccd5..3e21edda 100644 Binary files a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png and b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay.png differ diff --git a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png index e6d5ccf0..b5cf62c0 100644 Binary files a/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png and b/src/main/resources/assets/notenoughupdates/auc_search/ah_search_overlay_tab_completed.png differ diff --git a/src/main/resources/assets/notenoughupdates/auction_profit.png b/src/main/resources/assets/notenoughupdates/auction_profit.png index 26a2bbc6..80e06c10 100644 Binary files a/src/main/resources/assets/notenoughupdates/auction_profit.png and b/src/main/resources/assets/notenoughupdates/auction_profit.png differ diff --git a/src/main/resources/assets/notenoughupdates/button_white.png b/src/main/resources/assets/notenoughupdates/button_white.png index d6460e89..7763716d 100644 Binary files a/src/main/resources/assets/notenoughupdates/button_white.png and b/src/main/resources/assets/notenoughupdates/button_white.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/dg_preview.png b/src/main/resources/assets/notenoughupdates/capes/dg_preview.png index bf9bad22..2e68d99d 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/dg_preview.png and b/src/main/resources/assets/notenoughupdates/capes/dg_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/fade.png b/src/main/resources/assets/notenoughupdates/capes/fade.png index 7ee247a6..d898ec4d 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/fade.png and b/src/main/resources/assets/notenoughupdates/capes/fade.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/fade_preview.png b/src/main/resources/assets/notenoughupdates/capes/fade_preview.png index 2a580336..fcb121e3 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/fade_preview.png and b/src/main/resources/assets/notenoughupdates/capes/fade_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/furf.png b/src/main/resources/assets/notenoughupdates/capes/furf.png index 74983e1f..a083a662 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/furf.png and b/src/main/resources/assets/notenoughupdates/capes/furf.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/furf_preview.png b/src/main/resources/assets/notenoughupdates/capes/furf_preview.png index 8f5dd5da..d65f8fbe 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/furf_preview.png and b/src/main/resources/assets/notenoughupdates/capes/furf_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/ironmoon.png b/src/main/resources/assets/notenoughupdates/capes/ironmoon.png index 2e3ebda1..b25221d9 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/ironmoon.png and b/src/main/resources/assets/notenoughupdates/capes/ironmoon.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png b/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png index 242bec0e..c233128a 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png and b/src/main/resources/assets/notenoughupdates/capes/ironmoon_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/lava.png b/src/main/resources/assets/notenoughupdates/capes/lava.png index 71451cf2..8f60a03e 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/lava.png and b/src/main/resources/assets/notenoughupdates/capes/lava.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png b/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png index 147491ef..0d9ad9eb 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png and b/src/main/resources/assets/notenoughupdates/capes/mbstaff_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/mcworld.png b/src/main/resources/assets/notenoughupdates/capes/mcworld.png index 562ab737..89b3b367 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/mcworld.png and b/src/main/resources/assets/notenoughupdates/capes/mcworld.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png b/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png index 45c36da3..d69ff6c0 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png and b/src/main/resources/assets/notenoughupdates/capes/packshq_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/screensaver.png b/src/main/resources/assets/notenoughupdates/capes/screensaver.png index 024f5504..c6ce9e8c 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/screensaver.png and b/src/main/resources/assets/notenoughupdates/capes/screensaver.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png b/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png index 35d0cdeb..a7d890f8 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png and b/src/main/resources/assets/notenoughupdates/capes/screensaver_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png index a801e8c0..66314629 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png and b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png index c8fb5204..2be61fee 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png and b/src/main/resources/assets/notenoughupdates/capes/secondpfirsisch_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/sharex_white.png b/src/main/resources/assets/notenoughupdates/capes/sharex_white.png index c638e825..c7457897 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/sharex_white.png and b/src/main/resources/assets/notenoughupdates/capes/sharex_white.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png b/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png index 0855c8d7..6ed14bd8 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png and b/src/main/resources/assets/notenoughupdates/capes/sharex_white_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/skyclient.png b/src/main/resources/assets/notenoughupdates/capes/skyclient.png index 62543232..8fa36038 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/skyclient.png and b/src/main/resources/assets/notenoughupdates/capes/skyclient.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png b/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png index d8ad43f0..36140806 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png and b/src/main/resources/assets/notenoughupdates/capes/skyclient_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/space.png b/src/main/resources/assets/notenoughupdates/capes/space.png index 0fd5c0a5..76d4a42c 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/space.png and b/src/main/resources/assets/notenoughupdates/capes/space.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png b/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png index 201f31c5..aba13112 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png and b/src/main/resources/assets/notenoughupdates/capes/stormy_lh.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png b/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png index e03a6379..6a9b43d0 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png and b/src/main/resources/assets/notenoughupdates/capes/stormy_lh_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png index 4daa66ca..83ae4223 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png index f32d1b02..a2af3c1d 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_light.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png b/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png index c9e3d636..d06a5c33 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png and b/src/main/resources/assets/notenoughupdates/capes/subreddit_light_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/thebakery.png b/src/main/resources/assets/notenoughupdates/capes/thebakery.png index 8784cf63..8d4ca440 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/thebakery.png and b/src/main/resources/assets/notenoughupdates/capes/thebakery.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png b/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png index eb3dbcd9..4d0a6b7e 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png and b/src/main/resources/assets/notenoughupdates/capes/thebakery_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/void.png b/src/main/resources/assets/notenoughupdates/capes/void.png index 2c481444..d9f27e95 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/void.png and b/src/main/resources/assets/notenoughupdates/capes/void.png differ diff --git a/src/main/resources/assets/notenoughupdates/capes/void_preview.png b/src/main/resources/assets/notenoughupdates/capes/void_preview.png index a2914145..5bac3004 100644 Binary files a/src/main/resources/assets/notenoughupdates/capes/void_preview.png and b/src/main/resources/assets/notenoughupdates/capes/void_preview.png differ diff --git a/src/main/resources/assets/notenoughupdates/colour_selector_dot.png b/src/main/resources/assets/notenoughupdates/colour_selector_dot.png index 775c5290..1150c8bb 100644 Binary files a/src/main/resources/assets/notenoughupdates/colour_selector_dot.png and b/src/main/resources/assets/notenoughupdates/colour_selector_dot.png differ diff --git a/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png b/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png index 6dc8cc15..1150c8bb 100644 Binary files a/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png and b/src/main/resources/assets/notenoughupdates/core/colour_selector_dot.png differ diff --git a/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png b/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png index fe53d96d..735a3fb4 100644 Binary files a/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png and b/src/main/resources/assets/notenoughupdates/custom_enchant_gui.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png index a1935c97..6cd64ed1 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png index f0471e28..65898e8f 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png index 6d80fa08..6f0daba0 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png index 4ed21c74..4c123e77 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png index 3384e52f..833b9017 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png index cb74af61..93bef87d 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png index 9fb3d937..54db6fbc 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png index 40b88826..c5fedff9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png index cb604e86..c79eee7f 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png index ef623aec..4f4b1dc7 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png index 132ccd97..3730ab57 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png index a22cf178..68824d04 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png index 51c59181..3b8776e7 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png index a4625bf9..3a708494 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png index 982477f9..c131badf 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png index 723056e9..a42870f2 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png index 359eacf6..b9bcac1d 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png index da1e28eb..2fdbe252 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png index 92e441ea..fe0ba4b9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png index 5a8cb034..bd580c8e 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png index 1dabecff..6f2bdc29 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png index 055e99fb..5dd06a89 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png index 199da5c7..1d275525 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png index dbe35950..3d1c0833 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png and b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/a.png b/src/main/resources/assets/notenoughupdates/dungeon_win/a.png index cfb3630d..85322946 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/a.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/a.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/s.png b/src/main/resources/assets/notenoughupdates/dungeon_win/s.png index a1bf993c..a514f285 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/s.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/s.png differ diff --git a/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png b/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png index 69aa0c75..732d30a3 100644 Binary files a/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png and b/src/main/resources/assets/notenoughupdates/dungeon_win/splus.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png index aa3f32fe..fa43a0ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style4/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png index ee5a3b54..bab0eab7 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png index 13c83e85..fa43a0ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style5/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png index 4ba59d9a..fa43a0ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png index 3c91e846..fa43a0ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style6/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png index b8749675..ea57f0d0 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_button_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png index ff73398b..fa43a0ed 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/style7/dynamic_54_slot_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png index 34fde767..7a1aa4a4 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_off.png differ diff --git a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png index 55f0cf25..5f4960f9 100644 Binary files a/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png and b/src/main/resources/assets/notenoughupdates/dynamic_54/toggle_on.png differ diff --git a/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png b/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png index 0e2078dc..914e86bf 100644 Binary files a/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png and b/src/main/resources/assets/notenoughupdates/fishing_warning_exclam.png differ diff --git a/src/main/resources/assets/notenoughupdates/fuel_bar.png b/src/main/resources/assets/notenoughupdates/fuel_bar.png index 1b2daa14..f15ab522 100644 Binary files a/src/main/resources/assets/notenoughupdates/fuel_bar.png and b/src/main/resources/assets/notenoughupdates/fuel_bar.png differ diff --git a/src/main/resources/assets/notenoughupdates/help.png b/src/main/resources/assets/notenoughupdates/help.png index 71501035..1a7ebb60 100644 Binary files a/src/main/resources/assets/notenoughupdates/help.png and b/src/main/resources/assets/notenoughupdates/help.png differ diff --git a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png index dd65a6e4..481a0588 100644 Binary files a/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png and b/src/main/resources/assets/notenoughupdates/invbuttons/extraicons/settings.png differ diff --git a/src/main/resources/assets/notenoughupdates/logo.png b/src/main/resources/assets/notenoughupdates/logo.png index 26d30ff6..c08a8991 100644 Binary files a/src/main/resources/assets/notenoughupdates/logo.png and b/src/main/resources/assets/notenoughupdates/logo.png differ diff --git a/src/main/resources/assets/notenoughupdates/on.png b/src/main/resources/assets/notenoughupdates/on.png index e3f0eee0..5520a661 100644 Binary files a/src/main/resources/assets/notenoughupdates/on.png and b/src/main/resources/assets/notenoughupdates/on.png differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg index e777b0fc..27531695 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg index 2564894c..5586cf8a 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg index 7bf12754..78540079 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg index a6c9c2fe..74bc8f23 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg index d15749a6..cdf3fdde 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg index 2f9aac53..f9e5ed40 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg index ed3339e5..f1f6a028 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg index 7452f9ef..882e20a2 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg index aa988960..3ec9391f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg index df60e3ba..0c99863b 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg index ddd78a06..92b62ab3 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg index 45c635f9..169c36be 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg index 74ce480c..cb60f6d3 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg index 1aadb5ba..39a3b594 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/combat_3_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg index 3cc6ec86..32f9f7bb 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg index 7ed2a00e..ece00b29 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg index 4715dacf..ed4af05e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg index 53449ffe..aca79dcf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg index a76500fe..398e21c9 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dark_auction/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg index 8b21cd0c..75b6cd4e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg index e1562211..c5e99eac 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg index 8b21cd0c..75b6cd4e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg index e1562211..c5e99eac 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dungeon_hub/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg index 55ad8851..f6231245 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg index bb0edeaa..286b3a38 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg index ed6e4f58..c6fca879 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg index ccea9cd2..01b2f816 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg index 4c8e6249..a5c810fe 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg index 803f43f4..30d32a08 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg index 39080e08..b1fb3e84 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg index 3167ff3a..f7642beb 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg index dd39c253..3cb3b42f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg index 656700da..a98d7672 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg index 4cfc6d34..ad2b8c70 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg index b47d9b7f..f2e93cde 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/dynamic_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg index 302b60b8..c03b849d 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg index a35a3ff8..2286407b 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg index 6121cbcf..62127f51 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg index 139dcceb..fe631d89 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg index e9de5bf8..cf835eea 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg index 29304f3c..879b5747 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg index fac794d6..265515f6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg index 7b526d60..e774ca7a 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg index d3cbe633..1e3c8a98 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg index 259bd3d6..7833eb89 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg index e1f41379..ae3bdbdf 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg index 009684ce..e03657af 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg index 3fb00305..c83f2c91 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg index 1ae90a23..9b730712 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg index f98a25e2..a17337b9 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg index e893b436..26909780 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg index 33512fe1..0e870f38 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg index ddc7820f..f40c330c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/farming_2_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg index 6ff184ff..9a12896f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg index f0133647..c157ccdd 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg index bdb4e055..ecee024b 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg index 42d45a9c..0dbef91f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg index 2bc73a30..681aa33e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg index 160f84c6..6be866d2 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg index 1631924e..050e4f78 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg index 8647d5ee..3af3638e 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg index 4bac20d8..d3c13992 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/foraging_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg index e61f7c12..0d5f26dd 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg index 3e97f3c0..820b92a4 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg index 141a4fcf..14d01dd1 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg index 570da076..bfc66ec9 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg index cafeb1dd..f3df82a5 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg index 988c7cdb..34bc84db 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg index 0ef7e0a2..742d158b 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg index 1d3f8d11..abf0a253 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg index aebc2b4e..7efc75d6 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg index 3159658d..e86e93c4 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/hub_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg index 7872a822..e0c4288d 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg index 40c1b8bf..e0cc8139 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg index 2586dec8..381912e1 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg index 7d4a23a4..0beaf628 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg index befb2875..26417482 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg index 2e2d1700..8571b288 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_day/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg index 3045fbc5..e90efd5f 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg index 6e04d738..603f9d04 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg index 1d87c269..abd201d1 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg index 67b0c1a0..93a5a26d 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/mining_1_night/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg index 3c579656..9482df80 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg index 5d38a803..1b4235dd 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg index 46465f71..2f1fcc06 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg index 39eb8c7e..ce20d9b5 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg index 67cd1ecf..3dcdac57 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg index fe839f66..45f65c7c 100644 Binary files a/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg and b/src/main/resources/assets/notenoughupdates/panoramas/unknown/panorama_5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png index d231bd86..27abd2d5 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png index d179fa42..39782b3f 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png index d33dac25..83b78351 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png index 6e9f1928..f1bebc01 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplayarmor_transparent.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png index 9f4f712e..c047d5ad 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png index c43b5fdb..6ad6216c 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png index 795ba881..f39235af 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png index 41fa8bc1..80566c92 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png index 2364318f..dfe92b74 100644 Binary files a/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png and b/src/main/resources/assets/notenoughupdates/petdisplay/petdisplaysolo_transparent.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png index d84526ca..633be870 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png index d70fc7dc..0f7743e6 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_dark.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png index 36921193..e98bdb7d 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_fsr.png differ diff --git a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png index 893d2716..f794319f 100644 Binary files a/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png and b/src/main/resources/assets/notenoughupdates/price_graph_gui/price_information_gui_phqdark.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_basic.png b/src/main/resources/assets/notenoughupdates/pv_basic.png index 1c46a8e4..4d5236f5 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_basic.png and b/src/main/resources/assets/notenoughupdates/pv_basic.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png index eed9a72b..620c156b 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png and b/src/main/resources/assets/notenoughupdates/pv_bestiary_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png b/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png index 56046537..135035cf 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png and b/src/main/resources/assets/notenoughupdates/pv_bingo_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_elements.png b/src/main/resources/assets/notenoughupdates/pv_elements.png index 2a6cd1c2..7e9033bd 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_elements.png and b/src/main/resources/assets/notenoughupdates/pv_elements.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_invs.png b/src/main/resources/assets/notenoughupdates/pv_invs.png index c25ce499..46c7b0e9 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_invs.png and b/src/main/resources/assets/notenoughupdates/pv_invs.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_mining.png b/src/main/resources/assets/notenoughupdates/pv_mining.png index 226c7e40..a183fe88 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_mining.png and b/src/main/resources/assets/notenoughupdates/pv_mining.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png b/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png index 47ac6928..d42446c1 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png and b/src/main/resources/assets/notenoughupdates/pv_trophy_fish_tab.png differ diff --git a/src/main/resources/assets/notenoughupdates/pv_unknown.png b/src/main/resources/assets/notenoughupdates/pv_unknown.png index 0c282ac7..d6ce3a00 100644 Binary files a/src/main/resources/assets/notenoughupdates/pv_unknown.png and b/src/main/resources/assets/notenoughupdates/pv_unknown.png differ diff --git a/src/main/resources/assets/notenoughupdates/settings.png b/src/main/resources/assets/notenoughupdates/settings.png index c81d4c18..481a0588 100644 Binary files a/src/main/resources/assets/notenoughupdates/settings.png and b/src/main/resources/assets/notenoughupdates/settings.png differ diff --git a/src/main/resources/assets/notenoughupdates/slotlocking/bound.png b/src/main/resources/assets/notenoughupdates/slotlocking/bound.png index 8ff435b3..1631d386 100644 Binary files a/src/main/resources/assets/notenoughupdates/slotlocking/bound.png and b/src/main/resources/assets/notenoughupdates/slotlocking/bound.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png index 12f613ff..da1461be 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_0.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png index 5c0e8175..3ff29ff1 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_1.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png index 8ceeb6c3..16150a20 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_2.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png index 74d9820d..755dc865 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_3.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png index 56a1c8ef..429e7a28 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_gui_pane_ctm.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png index 9dec164f..be569369 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_icons.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png index dcce08b4..faa30c96 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_0.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png index bb23232d..00ed9488 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_1.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png index ddaf339c..89fe7b15 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_2.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png index 2d23ee4a..7ead5a79 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png and b/src/main/resources/assets/notenoughupdates/storage_gui/storage_preview_3.png differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg index ef225dba..48d7a47f 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/0.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg index 363bc4ab..ace0d1a0 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/1.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg index 82f66718..afed0c9b 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/10.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg index 9baa4531..0b03bbfb 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/11.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg index fea92c09..b7142650 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/12.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg index 4a220319..8e62f742 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/13.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg index b50fb7cf..6f296154 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/14.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg index 15fa28f9..682aae45 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/15.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg index b6bd773a..ea4efa72 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/16.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg index 7046b122..9be04bea 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/17.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg index 1429548a..d2f1e372 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/18.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg index 5050048b..11598aec 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/2.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg index 468278b8..6c8a53e7 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/3.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg index 7d29bf3d..c78a311f 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/4.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg index 4277a767..48080f68 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/5.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg index bbe597d7..382082e2 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/6.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg index 8f311a6d..7f3576fe 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/7.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg index d7c97663..de065e28 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/8.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg index 39da193a..29fdfc1b 100644 Binary files a/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg and b/src/main/resources/assets/notenoughupdates/storage_gui/we_do_a_little_rolling/9.jpg differ diff --git a/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png b/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png index 7b407117..4f730a44 100644 Binary files a/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png and b/src/main/resources/assets/notenoughupdates/supersecretassets/bald.png differ diff --git a/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png b/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png index 469d96b8..7de98284 100644 Binary files a/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png and b/src/main/resources/assets/notenoughupdates/supersecretassets/lunar.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png index d89260db..cdd8b0f1 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/forge_recipe_tall.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png index 9226529a..e78c0f44 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png and b/src/main/resources/assets/notenoughupdates/textures/gui/item_shop_recipe.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png index fc85046f..628f3a47 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png and b/src/main/resources/assets/notenoughupdates/textures/gui/navigation.png differ diff --git a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png index f22f28ee..8cb89bae 100644 Binary files a/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png and b/src/main/resources/assets/notenoughupdates/textures/gui/villager_recipe_tall.png differ -- cgit