/* * 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.seperateSections; import com.google.gson.annotations.Expose; import io.github.moulberry.notenoughupdates.core.config.Position; 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.ConfigEditorDraggableList; import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorDropdown; import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigEditorSlider; import io.github.moulberry.notenoughupdates.core.config.annotations.ConfigOption; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Mining { @ConfigOption( name = "Waypoints", desc = "" ) @ConfigEditorAccordion(id = 0) public boolean waypointsAccordion = false; @Expose @ConfigOption( name = "Mines Waypoints", desc = "Show waypoints in the Dwarven mines to the various locations\n" + "Use \"Commissions Only\" to only show active commission locations" ) @ConfigEditorDropdown( values = {"Hide", "Commissions Only", "Always"}, initialIndex = 1 ) @ConfigAccordionId(id = 0) public int locWaypoints = 1; @Expose @ConfigOption( name = "Hide waypoints when at Location", desc = "Hides the Commission Waypoints if you are already at the location of the waypoint.\n" + "Only active if Waypoints are set to \"Commissions Only\"" ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) public boolean hideWaypointIfAtLocation = true; @Expose @ConfigOption( name = "Emissary Waypoints", desc = "Show waypoints in the Dwarven mines to emissaries\n" + "Use \"Commission End\" to only show after finishing commissions" ) @ConfigEditorDropdown( values = {"Hide", "Commission End", "Always"}, initialIndex = 1 ) @ConfigAccordionId(id = 0) public int emissaryWaypoints = 1; @ConfigOption( name = "Drill Fuel Bar", desc = "" ) @ConfigEditorAccordion(id = 1) public boolean drillAccordion = false; @Expose @ConfigOption( name = "Drill Fuel Bar", desc = "Show a fancy drill fuel bar when holding a drill in mining areas" ) @ConfigEditorBoolean @ConfigAccordionId(id = 1) public boolean drillFuelBar = true; @Expose @ConfigOption( name = "Fuel Bar Width", desc = "Change the width of the drill fuel bar" ) @ConfigEditorSlider( minValue = 50, maxValue = 400, minStep = 10 ) @ConfigAccordionId(id = 1) public int drillFuelBarWidth = 200; @Expose @ConfigOption( name = "Edit Fuel Bar Position", desc = "Change the position of the drill fuel bar" ) @ConfigEditorButton( runnableId = 2, buttonText = "Edit" ) @ConfigAccordionId(id = 1) public Position drillFuelBarPosition = new Position(0, -100, true, false); @ConfigOption( name = "Dwarven Overlay", desc = "" ) @ConfigEditorAccordion(id = 2) public boolean overlayAccordion = false; @Expose @ConfigOption( name = "Enable Dwarven Overlay", desc = "Show an Overlay with useful information on the screen while in Dwarven Mines" ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) public boolean dwarvenOverlay = true; @Expose @ConfigOption( name = "Dwarven Text", desc = "\u00a7eDrag text to change the appearance of the Overlay\n" + "\u00a7rGo to the Dwarven Mines to show this Overlay with useful information" ) @ConfigEditorDraggableList( exampleText = { "\u00a73Goblin Slayer: \u00a7626.5%\n\u00a73Lucky Raffle: \u00a7c0.0%", "\u00a73Mithril Powder: \u00a726,243", "\u00a73Gemstone Powder: \u00a7d6,243", "\u00a73Forge 1) \u00a79Diamonite\u00a77: \u00a7aReady!", "\u00a73Pickaxe CD: \u00a7a78s" } ) @ConfigAccordionId(id = 2) public List dwarvenText2 = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4)); @Expose @ConfigOption( name = "Edit Dwarven Overlay Position", desc = "Change the position of the Dwarven Mines information Overlay (commisions, powder & forge statuses)" ) @ConfigEditorButton( runnableId = 1, buttonText = "Edit" ) @ConfigAccordionId(id = 2) public Position overlayPosition = new Position(10, 100); @Expose @ConfigOption( name = "Overlay Style", desc = "Change the style of the Dwarven Mines information Overlay" ) @ConfigEditorDropdown( values = {"Background", "No Shadow", "Shadow", "Full Shadow"} ) @ConfigAccordionId(id = 2) public int overlayStyle = 0; @Expose @ConfigOption( name = "Show Icons", desc = "Show Icons representing the part of the overlay." ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) public boolean dwarvenOverlayIcons = true; @Expose @ConfigOption( name = "Forge Display", desc = "Change what gets shown in the Forge Display" ) @ConfigEditorDropdown( values = {"Only Done", "Only Working", "Everything Except Locked", "Everything"} ) @ConfigAccordionId(id = 2) public int forgeDisplay = 1; @Expose @ConfigOption( name = "Forge Location", desc = "Change when the forge display gets shown" ) @ConfigEditorDropdown( values = {"Dwarven Mines+Crystal Hollows", "Everywhere except dungeons", "Everywhere"} ) @ConfigAccordionId(id = 2) public int forgeDisplayEnabledLocations = 0; @ConfigOption( name = "Metal Detector Solver", desc = "" ) @ConfigEditorAccordion(id = 3) public boolean metalDetectorSolverAccordion = false; @Expose @ConfigOption( name = "Enable Waypoints", desc = "Enabled the metal detector solver for Mines of Divan, to use this stand still to calculate possible blocks and then if required stand" + " still on another block." ) @ConfigEditorBoolean @ConfigAccordionId(id = 3) public boolean metalDetectorEnabled = true; @Expose @ConfigOption( name = "Show Possible Blocks", desc = "Show waypoints on possible locations when NEU isn't sure about what block the treasure is." ) @ConfigEditorBoolean @ConfigAccordionId(id = 3) public boolean metalDetectorShowPossible = false; @ConfigOption( name = "Crystal Hollows Overlay", desc = "" ) @ConfigEditorAccordion(id = 4) public boolean crystalHollowOverlayAccordion = false; @Expose @ConfigOption( name = "Enable Crystal Overlay", desc = "Enables the Crystal Hollows Overlay." ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean crystalHollowOverlay = true; @Expose @ConfigOption( name = "Edit Crystal Overlay Position", desc = "Change the position of the Crystal Hollows Overlay." ) @ConfigEditorButton( runnableId = 10, buttonText = "Edit" ) @ConfigAccordionId(id = 4) public Position crystalHollowOverlayPosition = new Position(200, 0); @Expose @ConfigOption( name = "Options", desc = "Drag text to change the appearance of the overlay!\n" + "Click add to add extra things!" ) @ConfigEditorDraggableList( exampleText = { "\u00a73Amber Crystal: \u00a7aPlaced\n" + "\u00a73Sapphire Crystal: \u00a7eCollected\n" + "\u00a73Jade Crystal: \u00a7eMissing\n" + "\u00a73Amethyst Crystal: \u00a7cMissing\n" + "\u00a73Topaz Crystal: \u00a7cMissing\n", "\u00a73Crystals: \u00a7a4/5", "\u00a73Crystals: \u00a7a80%", "\u00a73Electron Transmitter: \u00a7aDone\n" + "\u00a73Robotron Reflector: \u00a7eIn Storage\n" + "\u00a73Superlite Motor: \u00a7eIn Inventory\n" + "\u00a73Synthetic Hearth: \u00a7cMissing\n" + "\u00a73Control Switch: \u00a7cMissing\n" + "\u00a73FTX 3070: \u00a7cMissing", "\u00a73Electron Transmitter: \u00a7a3\n" + "\u00a73Robotron Reflector: \u00a7e2\n" + "\u00a73Superlite Motor: \u00a7e1\n" + "\u00a73Synthetic Hearth: \u00a7c0\n" + "\u00a73Control Switch: \u00a7c0\n" + "\u00a73FTX 3070: \u00a7c0", "\u00a73Automaton parts: \u00a7a5/6", "\u00a73Automaton parts: \u00a7a83%", "\u00a73Scavenged Lapis Sword: \u00a7aDone\n" + "\u00a73Scavenged Golden Hammer: \u00a7eIn Storage\n" + "\u00a73Scavenged Diamond Axe: \u00a7eIn Inventory\n" + "\u00a73Scavenged Emerald Hammer: \u00a7cMissing\n", "\u00a73Scavenged Lapis Sword: \u00a7a3\n" + "\u00a73Scavenged Golden Hammer: \u00a7e2\n" + "\u00a73Scavenged Diamond Axe: \u00a7e1\n" + "\u00a73Scavenged Emerald Hammer: \u00a7c0\n", "\u00a73Mines of Divan parts: \u00a7a3/4", "\u00a73Mines of Divan parts: \u00a7a75%" } ) @ConfigAccordionId(id = 4) public List crystalHollowText = new ArrayList<>(Arrays.asList(0, 3, 7)); @Expose @ConfigOption( name = "Style", desc = "Change the style of the Crystal Hollows Overlay." ) @ConfigEditorDropdown( values = {"Background", "No Shadow", "Shadow", "Full Shadow"} ) @ConfigAccordionId(id = 4) public int crystalHollowOverlayStyle = 0; @Expose @ConfigOption( name = "Show Icons", desc = "Show icons in the Overlay that represent the part." ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean crystalHollowIcons = true; @Expose @ConfigOption( name = "Hide Done", desc = "Don't show parts you've given to the NPC." ) @ConfigEditorBoolean @ConfigAccordionId(id = 4) public boolean crystalHollowHideDone = false; @ConfigOption( name = "Locations", desc = "" ) @ConfigEditorAccordion(id = 5) @ConfigAccordionId(id = 4) public boolean crystalHollowLocationAccordion = false; @Expose @ConfigOption( name = "Show Automaton", desc = "Change where to show Automaton parts." ) @ConfigEditorDropdown( values = {"Crystal Hollows", "Precursor Remnants", "Lost Precursor City"} ) @ConfigAccordionId(id = 5) public int crystalHollowAutomatonLocation = 2; @Expose @ConfigOption( name = "Show Divan", desc = "Change where to show Mines of Divan parts." ) @ConfigEditorDropdown( values = {"Crystal Hollows", "Mithril Deposits", "Mines of Divan"} ) @ConfigAccordionId(id = 5) public int crystalHollowDivanLocation = 2; @Expose @ConfigOption( name = "Show Crystal", desc = "Change where to show Collected Crystals." ) @ConfigEditorDropdown( values = {"Crystal Hollows", "When No Other Overlays"} ) @ConfigAccordionId(id = 5) public int crystalHollowCrystalLocation = 1; @ConfigOption( name = "Colours", desc = "" ) @ConfigEditorAccordion(id = 6) @ConfigAccordionId(id = 4) public boolean crystalHollowColourAccordion = false; @Expose @ConfigOption( name = "Main Color", desc = "Change the main color of the overlay." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowPartColor = 3; @Expose @ConfigOption( name = "Done Color", desc = "Change the colour when the part is given to the NPC." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowDoneColor = 10; @Expose @ConfigOption( name = "In Inventory Color", desc = "Change the colour when the part is in the inventory." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowInventoryColor = 14; @Expose @ConfigOption( name = "In Storage Color", desc = "Change the colour when the part is in the storage." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowStorageColor = 14; @Expose @ConfigOption( name = "Missing Color", desc = "Change the colour when the part is missing." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowMissingColor = 12; @Expose @ConfigOption( name = "Placed Color", desc = "Change the colour when the crystal is placed." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowPlacedColor = 10; @Expose @ConfigOption( name = "Collected Color", desc = "Change the colour when the crystal is collected" ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowCollectedColor = 14; @Expose @ConfigOption( name = "All Color", desc = "Change the colour when you have 2/3-all of the parts collected in the count overlay." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowAllColor = 10; @Expose @ConfigOption( name = "1/3 Color", desc = "Change the colour when you have 1/3-2/3 of the parts collected in the count overlay." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowMiddleColor = 14; @Expose @ConfigOption( name = "0 Color", desc = "Change the colour when you have 0-1/3 of the parts collected in the count overlay." ) @ConfigEditorDropdown( values = { "Black", "Dark Blue", "Dark Green", "Dark Aqua", "Dark Red", "Dark Purple", "Gold", "Gray", "Dark Gray", "Blue", "Green", "Aqua", "Red", "Light Purple", "Yellow", "White" } ) @ConfigAccordionId(id = 6) public int crystalHollowNoneColor = 12; @ConfigOption( name = "Wishing Compass Solver", desc = "" ) @ConfigEditorAccordion(id = 7) public boolean wishingCompassSolverAccordion = false; @Expose @ConfigOption( name = "Enable Solver", desc = "Show wishing compass target coordinates based on two samples" ) @ConfigAccordionId(id = 7) @ConfigEditorBoolean public boolean wishingCompassSolver = true; @Expose @ConfigOption( name = "Skytils Waypoints", desc = "Automatically create Skytils waypoints for well-known targets" ) @ConfigAccordionId(id = 7) @ConfigEditorBoolean public boolean wishingCompassAutocreateKnownWaypoints = false; @Expose @ConfigOption( name = "Waypoint Names", desc = "NOTE: Skytils overwrites waypoint coordinates with less accurate values for Skytils names." ) @ConfigAccordionId(id = 7) @ConfigEditorDropdown( values = {"NEU", "Skytils"} ) public int wishingCompassWaypointNames = 0; @Expose @ConfigOption( name = "Puzzler Solver", desc = "Show the correct block to mine for the puzzler puzzle in Dwarven Mines" ) @ConfigEditorBoolean public boolean puzzlerSolver = true; @Expose @ConfigOption( name = "Titanium Alert", desc = "Show an alert whenever titanium appears nearby" ) @ConfigEditorBoolean public boolean titaniumAlert = true; @Expose @ConfigOption( name = "Titanium must touch air", desc = "Only show an alert if the Titanium touches air. (kinda sus)" ) @ConfigEditorBoolean public boolean titaniumAlertMustBeVisible = false; @ConfigOption( name = "Custom Textures", desc = "" ) @ConfigEditorAccordion(id = 8) public boolean texturesAccordion = false; @Expose @ConfigOption( name = "Dwarven Mines Textures", desc = "Allows texture packs to retexture blocks in the Dwarven Mines. If you don't have a texture pack that does this, you should leave this off" ) @ConfigAccordionId(id = 8) @ConfigEditorBoolean public boolean dwarvenTextures = false; @Expose @ConfigOption( name = "Crystal Hollows Textures", desc = "Allows texture packs to retexture blocks in the Crystal Hollows. If you don't have a texture pack that does this, you should leave this off" ) @ConfigAccordionId(id = 8) @ConfigEditorBoolean public boolean crystalHollowTextures = false; @Expose @ConfigOption( name = "Replace Gemstone sounds", desc = "Replace the break sounds of crystals in the Crystal Hollows. Requires a texture pack with this feature" ) @ConfigAccordionId(id = 8) @ConfigEditorBoolean public boolean gemstoneSounds = false; @Expose @ConfigOption( name = "Replace Mithril sounds", desc = "Replace the break sounds of mithril and titanium in the Dwarven mines. Requires a texture pack with this feature" ) @ConfigAccordionId(id = 8) @ConfigEditorBoolean public boolean mithrilSounds = false; }