diff options
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java | 2994 |
1 files changed, 419 insertions, 2575 deletions
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 c6203059..b12e2ea5 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/options/NEUConfig.java @@ -1,2575 +1,419 @@ -package io.github.moulberry.notenoughupdates.options; - -import com.google.common.collect.Lists; -import com.google.gson.annotations.Expose; -import io.github.moulberry.notenoughupdates.NotEnoughUpdates; -import io.github.moulberry.notenoughupdates.core.GuiScreenElementWrapper; -import io.github.moulberry.notenoughupdates.core.config.Config; -import io.github.moulberry.notenoughupdates.core.config.Position; -import io.github.moulberry.notenoughupdates.core.config.annotations.*; -import io.github.moulberry.notenoughupdates.core.config.gui.GuiPositionEditor; -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.overlays.*; -import io.github.moulberry.notenoughupdates.util.SBInfo; -import net.minecraft.client.Minecraft; -import net.minecraft.util.EnumChatFormatting; -import net.minecraftforge.client.ClientCommandHandler; -import org.lwjgl.input.Keyboard; -import org.lwjgl.util.vector.Vector2f; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; - -public class NEUConfig extends Config { - - private void editOverlay(String activeConfig, TextOverlay overlay, Position position) { - Vector2f size = overlay.getDummySize(); - int width = (int)size.x; - int height = (int)size.y; - Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor(position, width, height, () -> { - overlay.renderDummy(); - OverlayManager.dontRenderOverlay = overlay.getClass(); - }, () -> { - }, () -> NotEnoughUpdates.INSTANCE.openGui = new GuiScreenElementWrapper( - new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config, activeConfig)) - )); - } - - @Override - public void executeRunnable(int runnableId) { - String activeConfigCategory = null; - if(Minecraft.getMinecraft().currentScreen instanceof GuiScreenElementWrapper) { - GuiScreenElementWrapper wrapper = (GuiScreenElementWrapper) Minecraft.getMinecraft().currentScreen; - if(wrapper.element instanceof NEUConfigEditor) { - activeConfigCategory = ((NEUConfigEditor)wrapper.element).getSelectedCategoryName(); - } - } - final String activeConfigCategoryF = activeConfigCategory; - - switch (runnableId) { - case 0: - ClientCommandHandler.instance.executeCommand(Minecraft.getMinecraft().thePlayer, "/neumap"); - return; - case 1: - editOverlay(activeConfigCategory, OverlayManager.miningOverlay, mining.overlayPosition); - return; - case 2: - Minecraft.getMinecraft().displayGuiScreen(new GuiPositionEditor( - NotEnoughUpdates.INSTANCE.config.mining.drillFuelBarPosition, - NotEnoughUpdates.INSTANCE.config.mining.drillFuelBarWidth, 12, () -> { - }, () -> { - }, () -> NotEnoughUpdates.INSTANCE.openGui = new GuiScreenElementWrapper( - new NEUConfigEditor(NotEnoughUpdates.INSTANCE.config, activeConfigCategoryF)) - )); - return; - case 3: - editOverlay(activeConfigCategory, OverlayManager.farmingOverlay, skillOverlays.farmingPosition); - return; - case 4: - editOverlay(activeConfigCategory, OverlayManager.petInfoOverlay, petOverlay.petInfoPosition); - return; - case 5: - editOverlay(activeConfigCategory, OverlayManager.timersOverlay, miscOverlays.todoPosition); - return; - case 6: - NotEnoughUpdates.INSTANCE.openGui = new NEUOverlayPlacements(); - return; - case 7: - NotEnoughUpdates.INSTANCE.openGui = new GuiInvButtonEditor(); - return; - case 8: - NotEnoughUpdates.INSTANCE.openGui = new GuiEnchantColour(); - return; - - } - } - - @Expose - @Category( - name = "Misc", - desc = "Miscellaneous options which don't fit into any other category" - ) - public Misc misc = new Misc(); - - @Expose - @Category( - name = "Notifications", - desc = "Notifications" - ) - public Notifications notifications = new Notifications(); - - @Expose - @Category( - name = "Item List", - desc = "Item List" - ) - public Itemlist itemlist = new Itemlist(); - - @Expose - @Category( - name = "Toolbar", - desc = "Toolbar" - ) - public Toolbar toolbar = new Toolbar(); - - @Expose - @Category( - name = "Inventory Buttons", - desc = "Inventory Buttons" - ) - public InventoryButtons inventoryButtons = new InventoryButtons(); - - - @Expose - @Category( - name = "Slot Locking", - desc = "Slot Locking" - ) - public SlotLocking slotLocking = new SlotLocking(); - - @Expose - @Category( - name = "Tooltip Tweaks", - desc = "Tooltip Tweaks" - ) - public TooltipTweaks tooltipTweaks = new TooltipTweaks(); - - @Expose - @Category( - name = "Item Overlays", - desc = "Item Overlays" - ) - public ItemOverlays itemOverlays = new ItemOverlays(); - - @Expose - @Category( - name = "Skill Overlays", - desc = "Skill Overlays" - ) - public SkillOverlays skillOverlays = new SkillOverlays(); - - @Expose - @Category( - name = "Misc Overlays", - desc = "Misc Overlays" - ) - public MiscOverlays miscOverlays = new MiscOverlays(); - - @Expose - @Category( - name = "Storage GUI", - desc = "Storage GUI" - ) - public StorageGUI storageGUI = new StorageGUI(); - - @Expose - @Category( - name = "Dungeons", - desc = "Dungeons" - ) - public Dungeons dungeons = new Dungeons(); - - - @Expose - @Category( - name = "Enchanting Solvers", - desc = "Enchanting Solvers" - ) - public EnchSolvers enchantingSolvers = new EnchSolvers(); - - @Expose - @Category( - name = "Mining", - desc = "Mining" - ) - public Mining mining = new Mining(); - - - @Expose - @Category( - name = "Fishing", - desc = "Fishing" - ) - public Fishing fishing = new Fishing(); - - @Expose - @Category( - name = "NEU Auction House", - desc = "NEU Auction House" - ) - public NeuAuctionHouse neuAuctionHouse = new NeuAuctionHouse(); - - @Expose - @Category( - name = "Improved SB Menus", - desc = "Improved SB Menus" - ) - public ImprovedSBMenu improvedSBMenu = new ImprovedSBMenu(); - - @Expose - @Category( - name = "Calendar", - desc = "Calendar" - ) - public Calendar calendar = new Calendar(); - - @Expose - @Category( - name = "Trade Menu", - desc = "Trade Menu" - ) - public TradeMenu tradeMenu = new TradeMenu(); - - @Expose - @Category( - name = "Pet Overlay", - desc = "Pet Overlay" - ) - public PetOverlay petOverlay = new PetOverlay(); - - @Expose - @Category( - name = "AH Search GUI", - desc = "AH Search GUI" - ) - public AuctionHouseSearch auctionHouseSearch = new AuctionHouseSearch(); - - @Expose - @Category( - name = "Accessory Bag Overlay", - desc = "Accessory Bag Overlay" - ) - public AccessoryBag accessoryBag = new AccessoryBag(); - - @Expose - @Category( - name = "Api Key", - desc = "Api Key" - ) - public ApiKey apiKey = new ApiKey(); - - @Expose - public Hidden hidden = new Hidden(); - - @Expose - public DungeonMap dungeonMap = new DungeonMap(); - - public static class Misc { - @Expose - @ConfigOption( - name = "Only Show on Skyblock", - desc = "The item list and some other GUI elements will only show on skyblock" - ) - @ConfigEditorBoolean - public boolean onlyShowOnSkyblock = true; - - @Expose - @ConfigOption( - name = "Hide Potion Effects", - desc = "Hide the potion effects inside your inventory while on skyblock" - ) - @ConfigEditorBoolean - public boolean hidePotionEffect = true; - - @Expose - @ConfigOption( - name = "Streamer Mode", - desc = "Randomize lobby names in the scoreboard and chat messages to help prevent stream sniping" - ) - @ConfigEditorBoolean - public boolean streamerMode = false; - - @Expose - @ConfigOption( - name = "GUI Click Sounds", - desc = "Play click sounds in various NEU-related GUIs when pressing buttons" - ) - @ConfigEditorBoolean - public boolean guiButtonClicks = true; - - @Expose - @ConfigOption( - name = "Damage Indicator Style", - desc = "Change the style of Skyblock damage indicators to be easier to read" - ) - @ConfigEditorDropdown( - values = {"Off", "Commas", "Shortened"} - ) - public int damageIndicatorStyle = 1; - - @Expose - @ConfigOption( - name = "Edit Enchant Colours", - desc = "Change the colours of certain skyblock enchants" - ) - @ConfigEditorButton(runnableId = 8, buttonText = "Open") - public boolean editEnchantColoursButton = true; - - @Expose - @ConfigOption( - name = "Chroma Text Speed", - desc = "Change the speed of chroma text for items names (/neucustomize) and enchant colours (/neuec) with the chroma colour code (&z)" - ) - @ConfigEditorSlider( - minValue = 10, - maxValue = 500, - minStep = 10 - ) - public int chromaSpeed = 100; - } - - public static class Notifications { - @Expose - @ConfigOption( - name = "Update Messages", - desc = "Give a notification in chat whenever a new version of NEU is released" - ) - @ConfigEditorBoolean - public boolean showUpdateMsg = true; - - @Expose - @ConfigOption( - name = "RAM Warning", - desc = "Warning when game starts with lots of RAM allocated\n"+ - "\u00a7cBefore disabling this, please seriously read the message. If you complain about FPS issues without listening to the warning, that's your fault." - ) - @ConfigEditorBoolean - public boolean doRamNotif = true; - - /*@Expose - @ConfigOption( - name = "Wrong Pet", - desc = "Gives a notification in chat whenever you're using a pet that doesnt match the same xp you're gathering." - ) - @ConfigEditorBoolean - public boolean showWrongPetMsg = false;*/ - } - - public static class Itemlist { - @Expose - @ConfigOption( - name = "Show Vanilla Items", - desc = "Vanilla items are included in the item list" - ) - @ConfigEditorBoolean - public boolean showVanillaItems = true; - - @Expose - @ConfigOption( - name = "Open Itemlist Arrow", - desc = "Creates an arrow on the right-side to open the item list when hovered" - ) - @ConfigEditorBoolean - public boolean tabOpen = true; - - @Expose - @ConfigOption( - name = "Keep Open", - desc = "Keeps the Itemlist open after the inventory is closed" - ) - @ConfigEditorBoolean - public boolean keepopen = false; - - @Expose - @ConfigOption( - name = "Item Style", - desc = "Sets the style of the background behind items" - ) - @ConfigEditorDropdown( - values = {"Round", "Square"} - ) - public int itemStyle = 0; - - @Expose - @ConfigOption( - name = "Pane Gui Scale", - desc = "Change the gui scale of the Itemlist" - ) - @ConfigEditorDropdown( - values = {"Default", "Small", "Medium", "Large", "Auto"} - ) - public int paneGuiScale = 0; - - @Expose - @ConfigOption( - name = "Background Blur", - desc = "Change the blur amount behind the Itemlist. 0 = off" - ) - @ConfigEditorSlider( - minValue = 0, - maxValue = 20, - minStep = 1 - ) - public int bgBlurFactor = 5; - - @Expose - @ConfigOption( - name = "Pane Width Multiplier", - desc = "Change the width of the Itemlist" - ) - @ConfigEditorSlider( - minValue = 0.5f, - maxValue = 1.5f, - minStep = 0.1f - ) - public float paneWidthMult = 1.0f; - - @Expose - @ConfigOption( - name = "Pane Padding", - desc = "Change the padding around the Itemlist" - ) - @ConfigEditorSlider( - minValue = 0f, - maxValue = 20f, - minStep = 1f - ) - public int panePadding = 10; - - @Expose - @ConfigOption( - name = "Foreground Colour", - desc = "Change the colour of foreground elements in the Itemlist" - ) - @ConfigEditorColour - public String foregroundColour = "00:255:100:100:100"; - - @Expose - @ConfigOption( - name = "Favourite Colour", - desc = "Change the colour of favourited elements in the Itemlist" - ) - @ConfigEditorColour - public String favouriteColour = "00:255:200:150:50"; - - @Expose - @ConfigOption( - name = "Pane Background Colour", - desc = "Change the colour of the Itemlist background" - ) - @ConfigEditorColour - public String backgroundColour = "15:6:0:0:255"; - } - - public static class Toolbar { - @Expose - @ConfigOption( - name = "Edit Toolbar Positions", - desc = "Edit the position of the QuickCommands / Search Bar" - ) - @ConfigEditorButton(runnableId = 6, buttonText = "Edit") - public boolean positionButton = true; - - @Expose - @ConfigOption( - name = "Show Quick Commands", - desc = "Show QuickCommands\u2122 in the NEU toolbar" - ) - @ConfigEditorBoolean - public boolean quickCommands = true; - - @Expose - @ConfigOption( - name = "Show Search Bar", - desc = "Show Itemlist search bar in the NEU toolbar" - ) - @ConfigEditorBoolean - public boolean searchBar = true; - - @Expose - @ConfigOption( - name = "Search Bar Width", - desc = "Change the width of the search bar" - ) - @ConfigEditorSlider( - minValue = 50f, - maxValue = 300f, - minStep = 10f - ) - public int searchBarWidth = 200; - - @Expose - @ConfigOption( - name = "Search Bar Height", - desc = "Change the height of the search bar" - ) - @ConfigEditorSlider( - minValue = 15f, - maxValue = 50f, - minStep = 1f - ) - public int searchBarHeight = 40; - - @Expose - @ConfigOption( - name = "Quick Commands Click Type", - desc = "Change the click type needed to trigger quick commands" - ) - @ConfigEditorDropdown( - values = {"Mouse Up", "Mouse Down"} - ) - public int quickCommandsClickType = 0; - } - - public static class InventoryButtons { - @Expose - @ConfigOption( - name = "Open Button Editor", - desc = "Open button editor GUI (/neubuttons)" - ) - @ConfigEditorButton(runnableId = 7, buttonText = "Open") - public boolean openEditorButton = true; - - @Expose - @ConfigOption( - name = "Always Hide \"Crafting\" Text", - desc = "Hide crafting text in inventory, even when no button is there" - ) - @ConfigEditorBoolean - public boolean hideCrafting = false; - - @Expose - @ConfigOption( - name = "Button Click Type", - desc = "Change the click type needed to trigger commands" - ) - @ConfigEditorDropdown( - values = {"Mouse Down", "Mouse Up"} - ) - public int clickType = 0; - } - - public static class SlotLocking { - @Expose - @ConfigOption( - name = "Enable Slot Locking", - desc = "Allows you to lock slots and create slot bindings" - ) - @ConfigEditorBoolean - public boolean enableSlotLocking = false; - - @Expose - @ConfigOption( - name = "Enable Slot Binding", - desc = "Allows you to create slot bindings\nNote: \"Enable Slot Locking\" must be on" - ) - @ConfigEditorBoolean - public boolean enableSlotBinding = true; - - @Expose - @ConfigOption( - name = "Don't Drop Bound Slots", - desc = "Slot bindings also act as locked slots (prevents dropping / moving in inventory)" - ) - @ConfigEditorBoolean - public boolean bindingAlsoLocks = false; - - @Expose - @ConfigOption( - name = "Slot Lock Key", - desc = "Click this key to LOCK a slot\n" + - "Hold this key and drag to BIND a slot" - ) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_L) - public int slotLockKey = Keyboard.KEY_L; - - @Expose - @ConfigOption( - name = "Lock Slots in Trade", - desc = "Prevents trading locked items in the custom trade windows" - ) - @ConfigEditorBoolean - public boolean lockSlotsInTrade = true; - - @Expose - @ConfigOption( - name = "Slot Lock Sound", - desc = "Play a ding when locking/unlocking slots" - ) - @ConfigEditorBoolean - public boolean slotLockSound = true; - - @Expose - @ConfigOption( - name = "Slot Lock Sound Vol.", - desc = "Set the volume of the ding sound" - ) - @ConfigEditorSlider( - minValue = 0, - maxValue = 100, - minStep = 1 - ) - public float slotLockSoundVol = 20; - } - - public static class TooltipTweaks { - @ConfigOption( - name = "Tooltip Price Information", - desc = "" - ) - @ConfigEditorAccordion(id = 0) - public boolean priceInfoAccordion = false; - - @Expose - @ConfigOption( - name = "Price Info (Auc)", - desc = "\u00a7rSelect what price information you would like to see on auctionable item tooltips\n" + - "\u00a7eDrag text to rearrange" - ) - @ConfigEditorDraggableList( - exampleText = {"\u00a7eLowest BIN", - "\u00a7eAH Price", - "\u00a7eAH Sales", - "\u00a7eRaw Craft Cost", - "\u00a7eAVG Lowest BIN", - "\u00a7eDungeon Costs"} - ) - @ConfigAccordionId(id = 0) - public List<Integer> priceInfoAuc = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 5)); - - @Expose - @ConfigOption( - name = "Price Info (Baz)", - desc = "\u00a7rSelect what price information you would like to see on bazaar item tooltips\n" + - "\u00a7eDrag text to rearrange" - ) - @ConfigEditorDraggableList( - exampleText = {"\u00a7eBuy", "\u00a7eSell", "\u00a7eBuy (Insta)", "\u00a7eSell (Insta)", "\u00a7eRaw Craft Cost"} - ) - @ConfigAccordionId(id = 0) - public List<Integer> priceInfoBaz = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4)); - - @Expose - @ConfigOption( - name = "Price Info (Inv)", - desc = "Show price information for items in your inventory" - ) - @ConfigEditorBoolean - public boolean showPriceInfoInvItem = true; - - @Expose - @ConfigOption( - name = "Price Info (AH)", - desc = "Show price information for auctioned items" - ) - @ConfigEditorBoolean - public boolean showPriceInfoAucItem = true; - - @Expose - @ConfigOption( - name = "Missing Enchant List", - desc = "Show which enchants are missing on an item when pressing LSHIFT" - ) - @ConfigEditorBoolean - public boolean missingEnchantList = true; - - @Expose - @ConfigOption( - name = "Tooltip Border Colours", - desc = "Make the borders of tooltips match the rarity of the item (NEU Tooltips Only)" - ) - @ConfigEditorBoolean - public boolean tooltipBorderColours = true; - - @Expose - @ConfigOption( - name = "Tooltip Border Opacity", - desc = "Change the opacity of the rarity highlight (NEU Tooltips Only)" - ) - @ConfigEditorSlider( - minValue = 0f, - maxValue = 255f, - minStep = 1f - ) - public int tooltipBorderOpacity = 200; - } - - public static class ItemOverlays { - @ConfigOption( - name = "Treecapitator Overlay", - desc = "" - ) - @ConfigEditorAccordion(id = 0) - public boolean treecapAccordion = false; - - @Expose - @ConfigOption( - name = "Enable Treecap Overlay", - desc = "Show which blocks will be broken when using a Jungle Axe or Treecapitator" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean enableTreecapOverlay = true; - - @Expose - @ConfigOption( - name = "Overlay Colour", - desc = "Change the colour of the overlay" - ) - @ConfigEditorColour - @ConfigAccordionId(id = 0) - public String treecapOverlayColour = "00:50:64:224:208"; - - @Expose - @ConfigOption( - name = "Enable Monkey Pet Check", - desc = "Will check use the API to check what pet you're using\nto determine the cooldown based off of if you have monkey pet." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean enableMonkeyCheck = true; - - @ConfigOption( - name = "Builder's Wand Overlay", - desc = "" - ) - @ConfigEditorAccordion(id = 1) - public boolean wandAccordion = false; - - @Expose - @ConfigOption( - name = "Enable Wand Overlay", - desc = "Show which blocks will be placed when using the Builder's Wand" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - public boolean enableWandOverlay = true; - - @Expose - @ConfigOption( - name = "Wand Block Count", - desc = "Shows the total count of a block in your inventory" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - public boolean wandBlockCount = true; - - @Expose - @ConfigOption( - name = "Overlay Colour", - desc = "Change the colour of the ghost block outline" - ) - @ConfigEditorColour - @ConfigAccordionId(id = 1) - public String wandOverlayColour = "00:50:64:224:208"; - - @ConfigOption( - name = "Block Zapper Overlay", - desc = "" - ) - @ConfigEditorAccordion(id = 6) - public boolean zapperAccordion = false; - - @Expose - @ConfigOption( - name = "Enable Zapper Overlay", - desc = "Show which blocks will be destroyed when using the Block Zapper" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 6) - public boolean enableZapperOverlay = true; - - @Expose - @ConfigOption( - name = "Overlay Colour", - desc = "Change the colour of the ghost block outline" - ) - @ConfigEditorColour - @ConfigAccordionId(id = 6) - public String zapperOverlayColour = "0:102:171:5:0"; - - @ConfigOption( - name = "Smooth AOTE", - desc = "" - ) - @ConfigEditorAccordion(id = 2) - public boolean aoteAccordion = false; - - @Expose - @ConfigOption( - name = "Enable Smooth AOTE", - desc = "Teleport smoothly to your destination when using AOTE" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean enableSmoothAOTE = true; - - @Expose - @ConfigOption( - name = "Enable Smooth Hyperion", - desc = "Teleport smoothly to your destination when using Hyperion" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean enableSmoothHyperion = true; - - @Expose - @ConfigOption( - name = "Smooth TP Time", - desc = "Change the amount of time (milliseconds) taken to teleport" - ) - @ConfigEditorSlider( - minValue = 0, - maxValue = 500, - minStep = 25 - ) - @ConfigAccordionId(id = 2) - public int smoothTpMillis = 175; - - @Expose - @ConfigOption( - name = "Disable Hyperion Particles", - desc = "Remove the explosion effect when using a hyperion" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean disableHyperionParticles = true; - - @ConfigOption( - name = "Bonemerang Overlay", - desc = "" - ) - @ConfigEditorAccordion(id = 3) - public boolean bonemerangAccordion = false; - - @Expose - @ConfigOption( - name = "Highlight Targeted Entities", - desc = "Highlight entities that will be hit by your bonemerang" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean highlightTargeted = true; - - @Expose - @ConfigOption( - name = "Break Warning", - desc = "Show a warning below your crosshair if the bonemerang will break on a block" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean showBreak = true; - - @ConfigOption( - name = "Minion Crystal Radius Overlay", - desc = "" - ) - @ConfigEditorAccordion(id = 5) - public boolean crystalAccordion = false; - - @Expose - @ConfigOption( - name = "Enable Crystal Overlay", - desc = "Show a block overlay for the effective radius of minion crystals (farming, mining, etc)" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean enableCrystalOverlay = true; - - @Expose - @ConfigOption( - name = "Always Show Crystal Overlay", - desc = "Show the crystal overlay, even when a minion crystal is not being held" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean alwaysShowCrystal = false; - } - - public static class SkillOverlays { - @Expose - @ConfigOption( - name = "Enable Farming Overlay", - desc = "Show an overlay while farming with useful information" - ) - @ConfigEditorBoolean - public boolean farmingOverlay = true; - - @Expose - @ConfigOption( - name = "Farming Text", - desc = "\u00a7eDrag text to change the appearance of the overlay\n" + - "\u00a7rHold a mathematical hoe or use an axe while gaining farming xp to show the overlay" - ) - @ConfigEditorDraggableList( - exampleText = {"\u00a7bCounter: \u00a7e37,547,860", - "\u00a7bCrops/m: \u00a7e38.29", - "\u00a7bFarm: \u00a7e12\u00a77 [\u00a7e|||||||||||||||||\u00a78||||||||\u00a77] \u00a7e67%", - "\u00a7bCurrent XP: \u00a7e6,734", - "\u00a7bRemaining XP: \u00a7e3,265", - "\u00a7bXP/h: \u00a7e238,129", - "\u00a7bYaw: \u00a7e68.25\u00a7l\u1D52", - "\u00a7bETA: 13h12m"} - ) - public List<Integer> farmingText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 7, 6)); - - @Expose - @ConfigOption( - name = "Farming Position", - desc = "Change the position of the Farming overlay" - ) - @ConfigEditorButton( - runnableId = 3, - buttonText = "Edit" - ) - public Position farmingPosition = new Position(10, 200); - - @Expose - @ConfigOption( - name = "Farming Style", - desc = "Change the style of the Farming overlay" - ) - @ConfigEditorDropdown( - values = {"Background", "No Shadow", "Shadow", "Full Shadow"} - ) - public int farmingStyle = 0; - } - - public static 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 it's 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; - - - @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; - - @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" + |
