From ebdc4df69093d29c3334537f9267374773464a30 Mon Sep 17 00:00:00 2001 From: Walker Selby Date: Fri, 6 Oct 2023 06:09:41 +0100 Subject: Cleanup: Refactor for naming conventions (#856) --- .../dungeons/GuiDungeonMapEditor.java | 2 +- .../notenoughupdates/options/NEUConfig.java | 68 +- .../options/separatesections/AHGraph.java | 163 ++++ .../options/separatesections/AHTweaks.java | 149 ++++ .../options/separatesections/AccessoryBag.java | 34 + .../options/separatesections/ApiData.java | 146 ++++ .../options/separatesections/BazaarTweaks.java | 73 ++ .../options/separatesections/Calendar.java | 72 ++ .../options/separatesections/CustomArmour.java | 56 ++ .../options/separatesections/DungeonMapConfig.java | 161 ++++ .../options/separatesections/Dungeons.java | 295 +++++++ .../options/separatesections/Enchanting.java | 242 ++++++ .../options/separatesections/Fishing.java | 301 +++++++ .../options/separatesections/Garden.java | 42 + .../options/separatesections/ImprovedSBMenu.java | 69 ++ .../options/separatesections/InventoryButtons.java | 67 ++ .../options/separatesections/ItemOverlays.java | 489 ++++++++++++ .../options/separatesections/Itemlist.java | 152 ++++ .../options/separatesections/LocationEdit.java | 85 ++ .../options/separatesections/Mining.java | 885 +++++++++++++++++++++ .../options/separatesections/MinionHelper.java | 45 ++ .../options/separatesections/Misc.java | 328 ++++++++ .../options/separatesections/MiscOverlays.java | 469 +++++++++++ .../options/separatesections/Museum.java | 64 ++ .../options/separatesections/Notifications.java | 131 +++ .../options/separatesections/PetOverlay.java | 141 ++++ .../options/separatesections/ProfileViewer.java | 104 +++ .../options/separatesections/SkillOverlays.java | 409 ++++++++++ .../options/separatesections/SlayerOverlay.java | 89 +++ .../options/separatesections/SlotLocking.java | 112 +++ .../options/separatesections/StorageGUI.java | 311 ++++++++ .../options/separatesections/Toolbar.java | 144 ++++ .../options/separatesections/TooltipTweaks.java | 354 +++++++++ .../options/separatesections/TradeMenu.java | 45 ++ .../options/separatesections/WardrobeKeybinds.java | 153 ++++ .../options/separatesections/WorldConfig.java | 134 ++++ .../options/seperateSections/AHGraph.java | 163 ---- .../options/seperateSections/AHTweaks.java | 149 ---- .../options/seperateSections/AccessoryBag.java | 34 - .../options/seperateSections/ApiData.java | 146 ---- .../options/seperateSections/BazaarTweaks.java | 73 -- .../options/seperateSections/Calendar.java | 72 -- .../options/seperateSections/CustomArmour.java | 56 -- .../options/seperateSections/DungeonMapConfig.java | 161 ---- .../options/seperateSections/Dungeons.java | 295 ------- .../options/seperateSections/Enchanting.java | 242 ------ .../options/seperateSections/Fishing.java | 301 ------- .../options/seperateSections/Garden.java | 42 - .../options/seperateSections/ImprovedSBMenu.java | 69 -- .../options/seperateSections/InventoryButtons.java | 67 -- .../options/seperateSections/ItemOverlays.java | 489 ------------ .../options/seperateSections/Itemlist.java | 152 ---- .../options/seperateSections/LocationEdit.java | 85 -- .../options/seperateSections/Mining.java | 885 --------------------- .../options/seperateSections/MinionHelper.java | 45 -- .../options/seperateSections/Misc.java | 328 -------- .../options/seperateSections/MiscOverlays.java | 469 ----------- .../options/seperateSections/Museum.java | 64 -- .../options/seperateSections/Notifications.java | 131 --- .../options/seperateSections/PetOverlay.java | 141 ---- .../options/seperateSections/ProfileViewer.java | 104 --- .../options/seperateSections/SkillOverlays.java | 409 ---------- .../options/seperateSections/SlayerOverlay.java | 89 --- .../options/seperateSections/SlotLocking.java | 112 --- .../options/seperateSections/StorageGUI.java | 311 -------- .../options/seperateSections/Toolbar.java | 144 ---- .../options/seperateSections/TooltipTweaks.java | 354 --------- .../options/seperateSections/TradeMenu.java | 45 -- .../options/seperateSections/WardrobeKeybinds.java | 153 ---- .../options/seperateSections/WorldConfig.java | 134 ---- 70 files changed, 6549 insertions(+), 6549 deletions(-) create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHTweaks.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AccessoryBag.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ApiData.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/BazaarTweaks.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Calendar.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/CustomArmour.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/DungeonMapConfig.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Dungeons.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Enchanting.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Fishing.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Garden.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ImprovedSBMenu.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/InventoryButtons.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ItemOverlays.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Itemlist.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/LocationEdit.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Mining.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/MinionHelper.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Misc.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/MiscOverlays.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Museum.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Notifications.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/PetOverlay.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ProfileViewer.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/SkillOverlays.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/SlayerOverlay.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/SlotLocking.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/StorageGUI.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Toolbar.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/TooltipTweaks.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/TradeMenu.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/WardrobeKeybinds.java create mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/WorldConfig.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHGraph.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AHTweaks.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/AccessoryBag.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ApiData.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/BazaarTweaks.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Calendar.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/CustomArmour.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/DungeonMapConfig.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Dungeons.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Enchanting.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Fishing.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Garden.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ImprovedSBMenu.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/InventoryButtons.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ItemOverlays.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Itemlist.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/LocationEdit.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Mining.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MinionHelper.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Misc.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/MiscOverlays.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Museum.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Notifications.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/PetOverlay.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/ProfileViewer.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SkillOverlays.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlayerOverlay.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/SlotLocking.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/StorageGUI.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/Toolbar.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TooltipTweaks.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/TradeMenu.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/WardrobeKeybinds.java delete mode 100644 src/main/java/io/github/moulberry/notenoughupdates/options/seperateSections/WorldConfig.java (limited to 'src/main/java') diff --git a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java index d08f3c07..dbbf2c5c 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/dungeons/GuiDungeonMapEditor.java @@ -29,7 +29,7 @@ import io.github.moulberry.notenoughupdates.core.config.GuiPositionEditorButForT import io.github.moulberry.notenoughupdates.core.util.render.RenderUtils; import io.github.moulberry.notenoughupdates.core.util.render.TextRenderUtils; import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField; -import io.github.moulberry.notenoughupdates.options.seperateSections.DungeonMapConfig; +import io.github.moulberry.notenoughupdates.options.separatesections.DungeonMapConfig; import io.github.moulberry.notenoughupdates.util.SpecialColour; import io.github.moulberry.notenoughupdates.util.Utils; import net.minecraft.client.Minecraft; 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 ea3b55bb..2d64db59 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java @@ -36,40 +36,40 @@ import io.github.moulberry.notenoughupdates.miscgui.GuiEnchantColour; import io.github.moulberry.notenoughupdates.miscgui.GuiInvButtonEditor; import io.github.moulberry.notenoughupdates.miscgui.NEUOverlayPlacements; import io.github.moulberry.notenoughupdates.options.customtypes.NEUDebugFlag; -import io.github.moulberry.notenoughupdates.options.seperateSections.AHGraph; -import io.github.moulberry.notenoughupdates.options.seperateSections.AHTweaks; -import io.github.moulberry.notenoughupdates.options.seperateSections.AccessoryBag; -import io.github.moulberry.notenoughupdates.options.seperateSections.ApiData; -import io.github.moulberry.notenoughupdates.options.seperateSections.BazaarTweaks; -import io.github.moulberry.notenoughupdates.options.seperateSections.Calendar; -import io.github.moulberry.notenoughupdates.options.seperateSections.CustomArmour; -import io.github.moulberry.notenoughupdates.options.seperateSections.DungeonMapConfig; -import io.github.moulberry.notenoughupdates.options.seperateSections.Dungeons; -import io.github.moulberry.notenoughupdates.options.seperateSections.Enchanting; -import io.github.moulberry.notenoughupdates.options.seperateSections.Fishing; -import io.github.moulberry.notenoughupdates.options.seperateSections.Garden; -import io.github.moulberry.notenoughupdates.options.seperateSections.ImprovedSBMenu; -import io.github.moulberry.notenoughupdates.options.seperateSections.InventoryButtons; -import io.github.moulberry.notenoughupdates.options.seperateSections.ItemOverlays; -import io.github.moulberry.notenoughupdates.options.seperateSections.Itemlist; -import io.github.moulberry.notenoughupdates.options.seperateSections.LocationEdit; -import io.github.moulberry.notenoughupdates.options.seperateSections.Mining; -import io.github.moulberry.notenoughupdates.options.seperateSections.MinionHelper; -import io.github.moulberry.notenoughupdates.options.seperateSections.Misc; -import io.github.moulberry.notenoughupdates.options.seperateSections.MiscOverlays; -import io.github.moulberry.notenoughupdates.options.seperateSections.Museum; -import io.github.moulberry.notenoughupdates.options.seperateSections.Notifications; -import io.github.moulberry.notenoughupdates.options.seperateSections.PetOverlay; -import io.github.moulberry.notenoughupdates.options.seperateSections.ProfileViewer; -import io.github.moulberry.notenoughupdates.options.seperateSections.SkillOverlays; -import io.github.moulberry.notenoughupdates.options.seperateSections.SlayerOverlay; -import io.github.moulberry.notenoughupdates.options.seperateSections.SlotLocking; -import io.github.moulberry.notenoughupdates.options.seperateSections.StorageGUI; -import io.github.moulberry.notenoughupdates.options.seperateSections.Toolbar; -import io.github.moulberry.notenoughupdates.options.seperateSections.TooltipTweaks; -import io.github.moulberry.notenoughupdates.options.seperateSections.TradeMenu; -import io.github.moulberry.notenoughupdates.options.seperateSections.WardrobeKeybinds; -import io.github.moulberry.notenoughupdates.options.seperateSections.WorldConfig; +import io.github.moulberry.notenoughupdates.options.separatesections.AHGraph; +import io.github.moulberry.notenoughupdates.options.separatesections.AHTweaks; +import io.github.moulberry.notenoughupdates.options.separatesections.AccessoryBag; +import io.github.moulberry.notenoughupdates.options.separatesections.ApiData; +import io.github.moulberry.notenoughupdates.options.separatesections.BazaarTweaks; +import io.github.moulberry.notenoughupdates.options.separatesections.Calendar; +import io.github.moulberry.notenoughupdates.options.separatesections.CustomArmour; +import io.github.moulberry.notenoughupdates.options.separatesections.DungeonMapConfig; +import io.github.moulberry.notenoughupdates.options.separatesections.Dungeons; +import io.github.moulberry.notenoughupdates.options.separatesections.Enchanting; +import io.github.moulberry.notenoughupdates.options.separatesections.Fishing; +import io.github.moulberry.notenoughupdates.options.separatesections.Garden; +import io.github.moulberry.notenoughupdates.options.separatesections.ImprovedSBMenu; +import io.github.moulberry.notenoughupdates.options.separatesections.InventoryButtons; +import io.github.moulberry.notenoughupdates.options.separatesections.ItemOverlays; +import io.github.moulberry.notenoughupdates.options.separatesections.Itemlist; +import io.github.moulberry.notenoughupdates.options.separatesections.LocationEdit; +import io.github.moulberry.notenoughupdates.options.separatesections.Mining; +import io.github.moulberry.notenoughupdates.options.separatesections.MinionHelper; +import io.github.moulberry.notenoughupdates.options.separatesections.Misc; +import io.github.moulberry.notenoughupdates.options.separatesections.MiscOverlays; +import io.github.moulberry.notenoughupdates.options.separatesections.Museum; +import io.github.moulberry.notenoughupdates.options.separatesections.Notifications; +import io.github.moulberry.notenoughupdates.options.separatesections.PetOverlay; +import io.github.moulberry.notenoughupdates.options.separatesections.ProfileViewer; +import io.github.moulberry.notenoughupdates.options.separatesections.SkillOverlays; +import io.github.moulberry.notenoughupdates.options.separatesections.SlayerOverlay; +import io.github.moulberry.notenoughupdates.options.separatesections.SlotLocking; +import io.github.moulberry.notenoughupdates.options.separatesections.StorageGUI; +import io.github.moulberry.notenoughupdates.options.separatesections.Toolbar; +import io.github.moulberry.notenoughupdates.options.separatesections.TooltipTweaks; +import io.github.moulberry.notenoughupdates.options.separatesections.TradeMenu; +import io.github.moulberry.notenoughupdates.options.separatesections.WardrobeKeybinds; +import io.github.moulberry.notenoughupdates.options.separatesections.WorldConfig; import io.github.moulberry.notenoughupdates.overlays.MiningOverlay; import io.github.moulberry.notenoughupdates.overlays.OverlayManager; import io.github.moulberry.notenoughupdates.overlays.TextOverlay; diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java new file mode 100644 index 00000000..efebe915 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHGraph.java @@ -0,0 +1,163 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigEditorText; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import org.lwjgl.input.Keyboard; + +public class AHGraph { + @Expose + @ConfigOption( + name = "Enable AH/BZ Price Graph", + desc = "Enable or disable the graph." + ) + @ConfigEditorBoolean + public boolean graphEnabled = true; + + @Expose + @ConfigOption( + name = "Keybind", + desc = "Key to press to open the graph." + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_P) + public int graphKey = Keyboard.KEY_P; + + @Expose + @ConfigOption( + name = "GUI Style", + desc = "Change the style of the graph GUI" + ) + @ConfigEditorDropdown( + values = {"Minecraft", "Grey", "PacksHQ Dark", "FSR"} + ) + public int graphStyle = 0; + + @Expose + @ConfigOption( + name = "Default Time", + desc = "Change the default time period for the graph." + ) + @ConfigEditorDropdown( + values = {"1 Hour", "1 Day", "1 Week", "All Time"} + ) + public int defaultMode = 1; + + @Expose + @ConfigOption( + name = "Graph Colour", + desc = "Set a custom colour for the graph." + ) + @ConfigEditorColour + public String graphColor = "0:255:0:255:0"; + + @Expose + @ConfigOption( + name = "Secondary Graph Colour", + desc = "Set a custom colour for the second graph line." + ) + @ConfigEditorColour + public String graphColor2 = "0:255:255:255:0"; + + @Expose + @ConfigOption( + name = "Moving Average", + desc = "Whether the graph should have a moving average line or not." + ) + @ConfigEditorBoolean + public boolean movingAverages = false; + // Disabled by default because it looks weird to people who don't know what it is + + @Expose + @ConfigOption( + name = "Moving Average Size (%)", + desc = "The percent of the time displayed that should be averaged." + ) + @ConfigEditorSlider( + minValue = 0.05f, + maxValue = 0.5f, + minStep = 0.05f + ) + public double movingAveragePercent = 0.2; + + @Expose + @ConfigOption( + name = "Moving Average Colour", + desc = "Set a custom colour for the graph's moving average line." + ) + @ConfigEditorColour + public String movingAverageColor = "0:255:0:255:171"; + + @Expose + @ConfigOption( + name = "Secondary Moving Average Colour", + desc = "Set a custom colour for the second graph's secondary moving average line line." + ) + @ConfigEditorColour + public String movingAverageColor2 = "0:255:255:109:0"; + + @Expose + @ConfigOption( + name = "Data Source", + desc = "Where NEU should get the data for the graph.\nPrices are only stored locally if this is set to 'Local'." + ) + @ConfigEditorDropdown( + values = {"Server", "Local"} + ) + public int dataSource = 0; + + @Expose + @ConfigOption( + name = "Price History API", + desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §apricehistory.notenoughupdates.org" + ) + @ConfigEditorText + public String serverUrl = "pricehistory.notenoughupdates.org"; + + @Expose + @ConfigOption( + name = "Data Retention", + desc = "Change the time (in days) that data is kept for.\nLonger retention require more storage." + ) + @ConfigEditorSlider( + minValue = 1, + maxValue = 30, + minStep = 1 + ) + public int dataRetention = 7; + + @Expose + @ConfigOption( + name = "Number of Graph Zones", + desc = "Change the number of graph zones.\nHigher numbers will have more detail, but will look way more cramped." + ) + @ConfigEditorSlider( + minValue = 50, + maxValue = 300, + minStep = 1 + ) + public int graphZones = 175; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHTweaks.java new file mode 100644 index 00000000..c1297175 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AHTweaks.java @@ -0,0 +1,149 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; +import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class AHTweaks { + @ConfigOption( + name = "Search GUI", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean searchAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Search GUI", + desc = "Use the advanced search GUI with autocomplete and history instead of the normal sign GUI\n\u00a7eStar Selection Texture: Johnny#4567" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableSearchOverlay = true; + + @Expose + @ConfigOption( + name = "Keep Previous Search", + desc = "Don't clear the search bar after closing the GUI" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean keepPreviousSearch = false; + + @Expose + @ConfigOption( + name = "Past Searches", + desc = "Show past searches below the autocomplete box" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showPastSearches = true; + + @Expose + @ConfigOption( + name = "ESC to Full Close", + desc = "Make pressing ESCAPE close the search GUI without opening up the AH again\n" + + "ENTER can still be used to search" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean escFullClose = true; + + @ConfigOption( + name = "BIN Warning", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean binWarningAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Undercut BIN Warning", + desc = "Ask for confirmation when BINing an item for below X% of lowest bin" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean underCutWarning = true; + + @Expose + @ConfigOption( + name = "Enable Overcut BIN Warning", + desc = "Ask for confirmation when BINing an item for over X% of lowest bin" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean overCutWarning = true; + + @Expose + @ConfigOption( + name = "Undercut Warning Threshold", + desc = "Threshold for BIN warning\nExample: 10% means warn if sell price is 10% lower than lowest bin" + ) + @ConfigEditorSlider( + minValue = 0.0f, + maxValue = 100.0f, + minStep = 5f + ) + @ConfigAccordionId(id = 1) + public float warningThreshold = 10f; + + @Expose + @ConfigOption( + name = "Overcut Warning Threshold", + desc = "Threshold for BIN warning\nExample: 50% means warn if sell price is 50% higher than lowest bin\n\u00A7c\u00a7lWARNING: \u00A7r\u00A7c100% will if above lbin always trigger, 0% instead will never trigger" + ) + @ConfigEditorSlider( + minValue = 0.0f, + maxValue = 100.0f, + minStep = 5f + ) + @ConfigAccordionId(id = 1) + public float overcutWarningThreshold = 50f; + + @ConfigOption( + name = "Sort Warning", + desc = "" + ) + @ConfigEditorAccordion(id = 2) + public boolean sortWarningAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Sort Warning", + desc = "Show the sort mode when the mode is not 'Lowest Price'" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean enableSortWarning = true; + + @Expose + @ConfigOption( + name = "Enable AH Sell Value", + desc = "Display profit information (coins to collect, value if all sold, expired and unclaimed auctions)" + ) + @ConfigEditorBoolean + public boolean enableAhSellValue = true; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AccessoryBag.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AccessoryBag.java new file mode 100644 index 00000000..16dc5faf --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/AccessoryBag.java @@ -0,0 +1,34 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class AccessoryBag { + @Expose + @ConfigOption( + name = "Enable Accessory Bag Overlay", + desc = "Show an overlay on the accessory bag screen which gives useful information about your accessories" + ) + @ConfigEditorBoolean + public boolean enableOverlay = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ApiData.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ApiData.java new file mode 100644 index 00000000..2266f9e4 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/ApiData.java @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2022-2023 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; +import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorButton; +import io.github.moulberry.moulconfig.annotations.ConfigEditorText; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class ApiData { + + @Expose + @ConfigOption( + name = "Unlock the API data tab", + desc = "If you turn this off, you will need to re-do the IQ test" + ) + @ConfigEditorBoolean + public boolean apiDataUnlocked = false; + + @Expose + @ConfigOption( + name = "Api Key", + desc = "Hypixel API key." + ) + @ConfigEditorText + public String apiKey = ""; + + @ConfigEditorAccordion(id = 0) + @ConfigOption(name = "Repository", desc = "") + public boolean repository = false; + + @Expose + @ConfigOption( + name = "Automatically Update Repository", + desc = "Update the repository on every startup" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 0) + public boolean autoupdate_new = true; + + @ConfigAccordionId(id = 0) + @ConfigOption( + name = "Update Repository now", + desc = "Refresh your repository" + ) + @ConfigEditorButton(runnableId = 22, buttonText = "Update") + public int updateRepositoryButton = 0; + + @ConfigEditorAccordion(id = 1) + @ConfigAccordionId(id = 0) + @ConfigOption( + name = "Repository Location", + desc = "" + ) + public boolean repositoryLocation = false; + + @ConfigAccordionId(id = 1) + @ConfigOption( + name = "Use default repository", + desc = "The latest, most up to date item list for the official NEU releases." + ) + @ConfigEditorButton(runnableId = 23, buttonText = "Reset") + public int setRepositoryToDefaultButton = 0; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption( + name = "Repository User", + desc = "Repository User" + ) + @ConfigEditorText + public String repoUser = "NotEnoughUpdates"; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption( + name = "Repository Name", + desc = "Repository Name" + ) + @ConfigEditorText + public String repoName = "NotEnoughUpdates-REPO"; + + @Expose + @ConfigAccordionId(id = 1) + @ConfigOption( + name = "Repository Branch", + desc = "Repository Branch" + ) + @ConfigEditorText + public String repoBranch = "master"; + + @Expose + @ConfigAccordionId(id = 0) + @ConfigOption( + name = "Edit Mode", + desc = "Enables you to edit items in the item list.\n§4Recommended for repository maintainers only.\n§4§lRemember: §rTurn off auto update as well" + ) + @ConfigEditorBoolean + public boolean repositoryEditing = false; + + @Expose + @ConfigOption( + name = "Lowestbin API", + desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing\n§fDefault: §amoulberry.codes" + ) + @ConfigEditorText + public String moulberryCodesApi = "moulberry.codes"; + + + @Expose + @ConfigOption( + name = "Ursa Minor Proxy", + desc = "§4Do §lNOT §r§4change this, unless you know exactly what you are doing" + ) + @ConfigEditorText + public String ursaApi = "https://ursa.notenoughupdates.org/"; + + public String getCommitApiUrl() { + return String.format("https://api.github.com/repos/%s/%s/commits/%s", repoUser, repoName, repoBranch); + } + + public String getDownloadUrl(String commitId) { + return String.format("https://github.com/%s/%s/archive/%s.zip", repoUser, repoName, commitId); + } + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/BazaarTweaks.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/BazaarTweaks.java new file mode 100644 index 00000000..254d0c2e --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/BazaarTweaks.java @@ -0,0 +1,73 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; +import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class BazaarTweaks { + + @ConfigOption( + name = "Search GUI", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean searchAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Search GUI", + desc = "Use the advanced search GUI with autocomplete and history instead of the normal sign GUI" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableSearchOverlay = true; + + @Expose + @ConfigOption( + name = "Keep Previous Search", + desc = "Don't clear the search bar after closing the GUI" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean keepPreviousSearch = false; + + @Expose + @ConfigOption( + name = "Past Searches", + desc = "Show past searches below the autocomplete box" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showPastSearches = true; + + @Expose + @ConfigOption( + name = "ESC to Full Close", + desc = "Make pressing ESCAPE close the search GUI without opening up the Bazaar again\n" + + "ENTER can still be used to search" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean escFullClose = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Calendar.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Calendar.java new file mode 100644 index 00000000..173aa9c6 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Calendar.java @@ -0,0 +1,72 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class Calendar { + @Expose + @ConfigOption( + name = "Event Notifications", + desc = "Display notifications for SkyBlock calendar events" + ) + @ConfigEditorBoolean + public boolean eventNotifications = true; + + @Expose + @ConfigOption( + name = "Starting Soon Time", + desc = "Display a notification before events start, time in seconds.\n" + + "0 = No prior notification" + ) + @ConfigEditorSlider( + minValue = 0f, + maxValue = 600f, + minStep = 30f + ) + public int startingSoonTime = 300; + + @Expose + @ConfigOption( + name = "Timer In Inventory", + desc = "Displays the time until the next event at the top of your screen when in inventories" + ) + @ConfigEditorBoolean + public boolean showEventTimerInInventory = true; + + @Expose + @ConfigOption( + name = "Notification Sounds", + desc = "Play a sound whenever events start" + ) + @ConfigEditorBoolean + public boolean eventNotificationSounds = true; + + @Expose + @ConfigOption( + name = "Spooky Night Notification", + desc = "Send a notification during spooky event when the time reaches 7pm" + ) + @ConfigEditorBoolean + public boolean spookyNightNotification = true; +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/CustomArmour.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/CustomArmour.java new file mode 100644 index 00000000..82f32e2d --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/CustomArmour.java @@ -0,0 +1,56 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class CustomArmour { + + @Expose + @ConfigOption( + name = "Enable Equipment Hud", + desc = "Shows an overlay in your inventory showing your 4 extra armour slots\n" + + "\u00A7cRequires Hide Potion Effects to be enabled" + ) + @ConfigEditorBoolean + public boolean enableArmourHud = true; + + @Expose + @ConfigOption( + name = "Click To Open Equipment Menu", + desc = "Click on the hud to open /equipment" + ) + @ConfigEditorBoolean + public boolean sendWardrobeCommand = true; + + @Expose + @ConfigOption( + name = "GUI Style", + desc = "Change the colour of the GUI" + ) + @ConfigEditorDropdown( + values = {"Minecraft", "Grey", "PacksHQ Dark", "Transparent", "FSR"} + ) + public int colourStyle = 0; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/DungeonMapConfig.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/DungeonMapConfig.java new file mode 100644 index 00000000..03579dd4 --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/DungeonMapConfig.java @@ -0,0 +1,161 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.notenoughupdates.core.config.Position; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class DungeonMapConfig { + @Expose + @ConfigOption( + name = "Border Size", + desc = "Changes the size of the map border, without changing the size of the contents" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 5, + minStep = 0.25f + ) + public float dmBorderSize = 1; + + @Expose + @ConfigOption( + name = "Room Size", + desc = "Changes the size of rooms. Useful for higher dungeons with larger maps" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 5, + minStep = 0.25f + ) + public float dmRoomSize = 1; + + @Expose + @ConfigOption( + name = "Icon Size", + desc = "Changes the scale of room indicators and player icons" + ) + @ConfigEditorSlider( + minValue = 0.5f, + maxValue = 3f, + minStep = 0.25f + ) + public float dmIconScale = 1.0f; + + @Expose + @ConfigOption( + name = "Border Style", + desc = "Various custom borders from various talented artists.\nUse 'custom' if your texture pack has a custom border" + ) + public int dmBorderStyle = 0; + + @Expose + @ConfigOption( + name = "Show Dungeon Map", + desc = "Show/hide the NEU dungeon map" + ) + public boolean dmEnable = true; + + @Expose + @ConfigOption( + name = "Map Center", + desc = "Center on rooms, or center on your player" + ) + public boolean dmCenterPlayer = true; + + @Expose + @ConfigOption( + name = "Rotate with Player", + desc = "Rotate the map to face the same direction as your player" + ) + public boolean dmRotatePlayer = true; + + @Expose + @ConfigOption( + name = "Orient Checkmarks", + desc = "Checkmarks will always show vertically, regardless of rotation" + ) + public boolean dmOrientCheck = true; + + @Expose + @ConfigOption( + name = "Center Checkmarks", + desc = "Checkmarks will show closer to the center of rooms" + ) + public boolean dmCenterCheck = false; + + @Expose + @ConfigOption( + name = "Player Icon Style", + desc = "Various player icon styles" + ) + public int dmPlayerHeads = 0; + + @Expose + @ConfigOption( + name = "Interpolate Far Players", + desc = "Will make players far away move smoothly" + ) + public boolean dmPlayerInterp = true; + + @Expose + @ConfigOption( + name = "OpenGL Compatibility", + desc = "Compatiblity options for people with bad computers. ONLY use this if you know what you are doing, otherwise the map will look worse" + ) + public int dmCompat = 0; + + @Expose + @ConfigOption( + name = "Background Colour", + desc = "Colour of the map background. Supports opacity & chroma" + ) + public String dmBackgroundColour = "00:170:75:75:75"; + + @Expose + @ConfigOption( + name = "Border Colour", + desc = "Colour of the map border. Supports opacity & chroma. Turn off custom borders to see" + ) + public String dmBorderColour = "00:0:0:0:0"; + + @Expose + @ConfigOption( + name = "Chroma Border Mode", + desc = "Applies a hue offset around the map border" + ) + public boolean dmChromaBorder = false; + + @Expose + @ConfigOption( + name = "Background Blur Factor", + desc = "Changes the blur factor behind the map. Set to 0 to disable blur" + ) + public float dmBackgroundBlur = 0; + + @Expose + @ConfigOption( + name = "Position", + desc = "Change the position of the map" + ) + public Position dmPosition = new Position(10, 10); +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Dungeons.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Dungeons.java new file mode 100644 index 00000000..4ea94f1d --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Dungeons.java @@ -0,0 +1,295 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; +import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorButton; +import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigEditorInfoText; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class Dungeons { + + @ConfigOption( + name = "Dungeon Map", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean dungeonMapAccordion = false; + + @Expose + @ConfigOption( + name = "Edit Dungeon Map", + desc = "The NEU dungeon map has its own editor (/neumap).\n" + + "Click the button on the left to open it" + ) + @ConfigEditorButton( + runnableId = 0, + buttonText = "Edit" + ) + @ConfigAccordionId(id = 0) + public int editDungeonMap = 0; + + @Expose + @ConfigOption( + name = "Show Own Head As Marker", + desc = "If you have the \"Head\" icon style selected, don't replace your green marker with a head" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showOwnHeadAsMarker = false; + + @ConfigOption( + name = "Dungeon Profit", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean dungeonProfitAccordion = false; + + @Expose + @ConfigOption( + name = "Profit Type", + desc = "Set the price dataset used for calculating profit" + ) + @ConfigEditorDropdown( + values = {"Lowest BIN", "24 AVG Lowest Bin", "Auction AVG"} + ) + @ConfigAccordionId(id = 1) + public int profitType = 0; + + @Expose + @ConfigOption( + name = "Profit Display Location", + desc = "Set where the profit information is displayed\n" + + "Overlay = Overlay on right side of inventory\n" + + "GUI Title = Text displayed next to the inventory title\n" + + "Lore = Inside the \"Open Reward Chest\" item" + ) + @ConfigEditorDropdown( + values = {"Overlay", "GUI Title", "Lore", "Off"} + ) + @ConfigAccordionId(id = 1) + public int profitDisplayLoc = 0; + + @Expose + @ConfigOption( + name = "Include Kismet Feather", + desc = "Include Kismet Feathers in the Profit Calculation after rerolling" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean useKismetOnDungeonProfit = true; + + @Expose + @ConfigOption( + name = "Include Essence Cost", + desc = "Include Bazaar Essence Sell Cost in the Profit Calculation for Dungeon Chests" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean useEssenceCostFromBazaar = true; + + @Expose + @ConfigOption( + name = "Warning if Derpy active", + desc = "Shows a warning if the mayor Derpy is active" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean shouldWarningDerpy = true; + + @ConfigOption( + name = "Dungeon Win Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 3) + public boolean dungeonWinAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Dungeon Win", + desc = "Show a fancy win screen and stats when completing a dungeon" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean enableDungeonWin = true; + + @Expose + @ConfigOption( + name = "Dungeon Win Time", + desc = "Change the amount of time (milliseconds) that the win screen shows for" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 20000, + minStep = 500 + ) + @ConfigAccordionId(id = 3) + public int dungeonWinMillis = 8000; + + @ConfigOption( + name = "Dungeon Block Overlay", + desc = "" + ) + + @ConfigEditorAccordion(id = 2) + public boolean dungeonBlocksAccordion = false; + + @ConfigOption( + name = "\u00A7cWarning", + desc = "You need Fast Render and Antialiasing off for these settings to work\n" + + "You can find these in your video settings" + ) + @ConfigEditorInfoText() + @ConfigAccordionId(id = 2) + public boolean dungeonBlockWarning = false; + + @Expose + @ConfigOption( + name = "Enable Block Overlay", + desc = "Change the colour of certain blocks / entities while inside dungeons, but keeps the normal texture outside of dungeons" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean enableDungBlockOverlay = true; + + @Expose + @ConfigOption( + name = "Show Overlay Everywhere", + desc = "Show the dungeon block overlay even when not inside dungeons. Should only be used for testing." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean dungeonBlocksEverywhere = false; + + @Expose + @ConfigOption( + name = "Slow Update", + desc = "Updates the colour every second instead of every tick.\n" + + "\u00A7cWARNING: This will cause all texture animations (eg. flowing water) to update slowly.\n" + + "This should only be used on low-end machines" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean slowDungeonBlocks = false; + + @Expose + @ConfigOption( + name = "Cracked Bricks", + desc = "Change the colour of: Cracked Bricks" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungCrackedColour = "0:255:7:255:217"; + + @Expose + @ConfigOption( + name = "Dispensers", + desc = "Change the colour of: Dispensers" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungDispenserColour = "0:255:255:76:0"; + + @Expose + @ConfigOption( + name = "Levers", + desc = "Change the colour of: Levers" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungLeverColour = "0:252:24:249:255"; + + @Expose + @ConfigOption( + name = "Tripwire String", + desc = "Change the colour of: Tripwire String" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungTripWireColour = "0:255:255:0:0"; + + @Expose + @ConfigOption( + name = "Normal Chests", + desc = "Change the colour of: Normal Chests" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungChestColour = "0:255:0:163:36"; + + @Expose + @ConfigOption( + name = "Trapped Chests", + desc = "Change the colour of: Trapped Chests" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungTrappedChestColour = "0:255:0:163:36"; + + @Expose + @ConfigOption( + name = "Bats", + desc = "Change the colour of: Bats" + ) + @ConfigEditorColour + @ConfigAccordionId(id = 2) + public String dungBatColour = "0:255:12:255:0"; + + @ConfigOption( + name = "Croesus Overlay", + desc = "" + ) + @ConfigEditorAccordion(id = 4) + public boolean croesusAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Croesus Overlay", + desc = "Shows a profit overlay next to your inventory when viewing chest previews at the Croesus NPC" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean croesusProfitOverlay = true; + + @Expose + @ConfigOption( + name = "Sort by profit", + desc = "Lists the chest by profit (descending)" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean croesusSortByProfit = true; + + @Expose + @ConfigOption( + name = "Highlight highest profit", + desc = "Highlight the chest which has the most profit" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean croesusHighlightHighestProfit = true; + +} diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Enchanting.java b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Enchanting.java new file mode 100644 index 00000000..41aec9ca --- /dev/null +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/separatesections/Enchanting.java @@ -0,0 +1,242 @@ +/* + * 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.options.separatesections; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; +import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class Enchanting { + @ConfigOption( + name = "Enchant Table / Hex GUI", + desc = "" + ) + @ConfigEditorAccordion(id = 1) + public boolean tableGUIAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Enchant Table GUI", + desc = "Show a custom GUI when using the Enchant Table" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean enableTableGUI = true; + + @Expose + @ConfigOption( + name = "Enable Hex GUI", + desc = "Show a custom GUI when using the Hex" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean enableHexGUI = true; + + /*@Expose + @ConfigOption( + name = "Incompatible Enchants", + desc = "How to display enchants that are incompatible with your current item, eg. Smite on a sword with Sharpness" + ) + @ConfigEditorDropdown( + values = {"Highlight", "Hide"} + ) + @ConfigAccordionId(id = 1) + public int incompatibleEnchants = 0;*/ + + @Expose + @ConfigOption( + name = "Enchant Sorting", + desc = "Change the method of sorting enchants in the GUI" + ) + @ConfigEditorDropdown( + values = {"By Cost", "Alphabetical"} + ) + @ConfigAccordionId(id = 1) + public int enchantSorting = 0; + + @Expose + @ConfigOption( + name = "Enchant Ordering", + desc = "Change the method of ordering used by the sort" + ) + @ConfigEditorDropdown( + values = {"Ascending", "Descending"} + ) + @ConfigAccordionId(id = 1) + public int enchantOrdering = 0; + + @Expose + @ConfigOption( + name = "Use highest level from /et in /hex", + desc = "Show max level from /et in hex instead of highest possible" + ) + @ConfigEditorBoolean() + @ConfigAccordionId(id = 1) + public boolean maxEnchLevel = false; + + @ConfigOption( + name = "Enchanting Solvers", + desc = "" + ) + @ConfigEditorAccordion(id = 0) + public boolean enchantingSolversAccordion = false; + + @Expose + @ConfigOption( + name = "Enable Solvers", + desc = "Turn on solvers for the experimentation table" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean enableEnchantingSolvers = true; + //In an email from Donpireso (admin) he says not sending a packet at all isn't bannable + //https://cdn.discordapp.com/attachments/823769568933576764/906101631861526559/unknown.png + @Expose + @ConfigOption( + name = "Prevent Misclicks", + desc = "Prevent accidentally failing the Chronomatron and Ultrasequencer experiments" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean preventMisclicks1 = false; + + @Expose + @ConfigOption( + name = "Hide Tooltips", + desc = "Hide the tooltip of items in the Chronomatron and Ultrasequencer experiments" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideTooltips = true; + + @Expose + @ConfigOption( + name = "Ultrasequencer Numbers", + desc = "Replace the items in the Ultrasequencer with only numbers" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean seqNumbers = false; + + @Expose + @ConfigOption( + name = "Show Next Click In Chronomatron", + desc = "Shows what block you need to click next in Chronomatron" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean showNextClick = true; + + @Expose + @ConfigOption( + name = "Hide Buttons", + desc = "Hide Inventory Buttons and Quick Commands while in the experimentation table" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideButtons = false; + + @Expose + @ConfigOption( + name = "Ultrasequencer Next", + desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is next" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purple", "Light Blue", "Yellow", "Light Green", "Pink", + "Gray", "Light Gray", "Cyan", "Dark Purple", "Dark Blue", "Brown", "Dark Green", "Red", "Black" + } + ) + @ConfigAccordionId(id = 0) + public int seqNext = 6; + + @Expose + @ConfigOption( + name = "Ultrasequencer Upcoming", + desc = "Set the colour of the glass pane shown behind the element in the ultrasequencer which is coming after \"next\"" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purple", "Light Blue", "Yellow", "Light Green", "Pink", + "Gray", "Light Gray", "Cyan", "Dark Purple", "Dark Blue", "Brown", "Dark Green", "Red", "Black" + } + ) + @ConfigAccordionId(id = 0) + public int seqUpcoming = 5; + + @Expose + @ConfigOption( + name = "Superpairs Matched", + desc = "Set the colour of the glass pane shown behind successfully matched pairs" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purple", "Light Blue", "Yellow", "Light Green", "Pink", + "Gray", "Light Gray", "Cyan", "Dark Purple", "Dark Blue", "Brown", "Dark Green", "Red", "Black" + } + ) + @ConfigAccordionId(id = 0) + public int supMatched = 6; + + @Expose + @ConfigOption( + name = "Superpairs Possible", + desc = "Set the colour of the glass pane shown behind pairs which can be matched, but have not yet" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purple", "Light Blue", "Yellow", "Light Green", "Pink", + "Gray", "Light Gray", "Cyan", "Dark Purple", "Dark Blue", "Brown", "Dark Green", "Red", "Black" + } + ) + @ConfigAccordionId(id = 0) + public int supPossible = 2; + + @Expose + @ConfigOption( + name = "Superpairs Unmatched", + desc = "Set the colour of the glass pane shown behind pairs which have been previously uncovered" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purple", "Light Blue", "Yellow", "Light Green", "Pink", + "Gray", "Light Gray", "Cyan", "Dark Purple", "Dark Blue", "Brown", "Dark Green", "Red", "Black" + } + ) + @ConfigAccordionId(id = 0) + public int supUnmatched = 5; + + @Expose + @ConfigOption( + name = "Superpairs Powerups", + desc = "Set the colour of the glass pane shown behind powerups" + ) + @ConfigEditorDropdown( + values = { + "None", "White", "Orange", "Light Purpl