/*
* 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.ConfigAccordionId;
import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion;
import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean;
import io.github.moulberry.moulconfig.annotations.ConfigEditorDraggableList;
import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown;
import io.github.moulberry.moulconfig.annotations.ConfigOption;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MiscOverlays {
@ConfigOption(
name = "Todo Overlay",
desc = ""
)
public boolean todoAccordion = true;
@Expose
@ConfigOption(
name = "Enable Todo Overlay",
desc = "Show an overlay that reminds you to do important tasks"
)
@ConfigEditorBoolean
public boolean todoOverlay2 = false;
@Expose
@ConfigOption(
name = "Todo Overlay Tab",
desc = "Only show the todo overlay when tab list is open"
)
@ConfigEditorBoolean
public boolean todoOverlayOnlyShowTab = false;
@Expose
@ConfigOption(
name = "Todo Overlay Hide Bingo",
desc = "Hide some tasks from the todo overlay while on a bingo profile: Cookie Buff, Godpot, Heavy Pearls, Crimson Isle Quests"
)
@ConfigEditorBoolean
public boolean todoOverlayHideAtBingo = true;
@Expose
@ConfigOption(
name = "Todo Text",
desc = "\u00a7eDrag text to change the appearance of the overlay\n" +
"\u00a7rIf you want to see the time until something is available, click \"Add\" and then the respective timer"
)
@ConfigEditorDraggableList(
exampleText = {
"\u00a73Cakes: \u00a7e1d21h",
"\u00a73Cookie Buff: \u00a7e2d23h",
"\u00a73Godpot: \u00a7e19h",
"\u00a73Puzzler: \u00a7e13h",
"\u00a73Fetchur: \u00a7e3h38m",
"\u00a73Commissions: \u00a7e3h38m",
"\u00a73Experiments: \u00a7e3h38m",
"\u00a73Mithril Powder: \u00a7e3h38m",
"\u00a73Gemstone Powder: \u00a7e3h38m",
"\u00a73Heavy Pearls: \u00a7e3h38m",
"\u00a73Crimson Isle Quests: \u00a7e3h38m",
"\u00a73NPC Buy Daily Limit: \u00a7e3h38m",
"§3Free Rift Infusion: §e3h38m",
}
)
public List todoText2 = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12));
@ConfigOption(
name = "Show Only If Soon",
desc = ""
)
@ConfigEditorAccordion(id = 1)
public boolean TodoAccordion = false;
@Expose
@ConfigOption(
name = "Experimentation Display",
desc = "Change the way the experimentation timer displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int experimentationDisplay = 0;
@Expose
@ConfigOption(
name = "Puzzler Reset Display",
desc = "Change the way the puzzler reset timer displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int puzzlerDisplay = 0;
@Expose
@ConfigOption(
name = "Fetchur Reset Display",
desc = "Change the way the fetchur reset timer displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int fetchurDisplay = 0;
@Expose
@ConfigOption(
name = "Commission timer Display",
desc = "Change the way the Commission timer displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int commissionDisplay = 0;
@Expose
@ConfigOption(
name = "Cake Buff Display",
desc = "Change the way the cake buff timer displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int cakesDisplay = 0;
@Expose
@ConfigOption(
name = "Cookie Buff Display",
desc = "Change the way the cookie buff displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int cookieBuffDisplay = 0;
@Expose
@ConfigOption(
name = "God Pot Display",
desc = "Change the way the god pot displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int godpotDisplay = 0;
@Expose
@ConfigOption(
name = "Mithril Powder Display",
desc = "Change the way the mithril powder displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int dailyMithrilPowderDisplay = 0;
@Expose
@ConfigOption(
name = "Gemstone Powder Display",
desc = "Change the way the gemstone powder displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int dailyGemstonePowderDisplay = 0;
@Expose
@ConfigOption(
name = "Heavy Pearl Display",
desc = "Change the way the heavy pearl displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int dailyHeavyPearlDisplay = 0;
@Expose
@ConfigOption(
name = "Crimson Isle Quests Display",
desc = "Change the way the crimson isle quests display\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int questBoardDisplay = 0;
@Expose
@ConfigOption(
name = "NPC Buy Daily Limit Display",
desc = "Change the way the NPC shop limit displays\n" +
"Only when ready, When very Soon, When soon, When kinda soon or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "When soon", "When Kinda Soon", "Always"}
)
public int shopLimitDisplay = 0;
@Expose
@ConfigOption(
name = "Free Rift Infusion Display",
desc = "Change the way the Free Rift infusion displays\n" +
"Only when ready, When very Soon, or always."
)
@ConfigAccordionId(id = 1)
@ConfigEditorDropdown(
values = {"Only when ready", "When very Soon", "Always"}
)
public int freeRiftInfusionDisplay = 0;
@ConfigOption(
name = "Colours",
desc = ""
)
@ConfigEditorAccordion(id = 2)
public boolean TodoColourAccordion = false;
@Expose
@ConfigOption(
name = "Ready colour",
desc = "Change the colour of when the timer is ready"
)
@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 = 2)
public int readyColour = 10;
@Expose
@ConfigOption(
name = "Gone colour",
desc = "Change the colour of when the timer is gone"
)
@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 = 2)
public int goneColour = 12;
@Expose
@ConfigOption(
name = "Very soon colour",
desc = "Change the colour of when the timer is almost ready/gone"
)
@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 = 2)
public int verySoonColour = 11;
@Expose
@ConfigOption(
name = "Soon Colour",
desc = "Change the colour of when the timer is soon ready/gone"
)
@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 = 2)
public int soonColour = 9;
@Expose
@ConfigOption(
name = "Kinda Soon Colour",
desc = "Change the colour of when the timer is kinda soon ready/gone"
)
@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 = 2)
public int kindaSoonColour = 1;
@Expose
@ConfigOption(
name = "Default Colour",
desc = "Change the default colour of the timers"
)
@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 = 2)
public int defaultColour = 15;
@Expose
public Position todoPosition = new Position(100, 0);
@Expose
@ConfigOption(
name = "Todo Style",
desc = "Change the style of the todo overlay"
)
@ConfigEditorDropdown(
values = {"Background", "No Shadow", "Shadow", "Full Shadow"}
)
public int todoStyle = 0;
@Expose
@ConfigOption(
name = "Todo Icons",
desc = "Add little item icons next to the lines in the todo overlay"
)
@ConfigEditorBoolean
public boolean todoIcons = true;
}