/* * Copyright (C) 2022-2024 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.ConfigEditorDraggableList; 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.ConfigOption; import org.lwjgl.input.Keyboard; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public 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 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", "\u00a7eInsta-Buys (Hourly)", "\u00a7eInsta-Sells (Hourly)", "\u00a7eInsta-Buys (Daily)", "\u00a7eInsta-Sells (Daily)", "\u00a7eInsta-Buys (Weekly)", "\u00a7eInsta-Sells (Weekly)" } ) @ConfigAccordionId(id = 0) public List priceInfoBaz = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4)); @Expose @ConfigOption( name = "Show raw craft on items that can't be sold", desc = "Raw craft cost will be shown on items that can't be sold on the ah or bz" ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) public boolean rawCraft = true; @Expose @ConfigOption( name = "Show NPC Sell price on Items", desc = "Display for how much items can be sold to NPC Shops" ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) public boolean npcSellPrice = false; @Expose @ConfigOption( name = "Display donation status", desc = "Add an extra line on items you have already donated to the museum. Visit all pages of the museum to populate this list." ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) public boolean museumDonationStatus = false; @Expose @ConfigOption( name = "Use Short Number Format", desc = "Use Short Numbers (5.1m) instead of 5,130,302" ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) public boolean shortNumberFormatPrices = false; @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 = "Price info keybind", desc = "Only show price info if holding a key." ) @ConfigEditorBoolean public boolean disablePriceKey = false; @Expose @ConfigOption( name = "Show Price info Keybind", desc = "Hold this key to show a price info tooltip" ) @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) public int disablePriceKeyKeybind = Keyboard.KEY_NONE; @Expose @ConfigOption( name = "Always show required dungeon items", desc = "Always show the required items to upgrade to the next star if more than just Essence is needed" ) @ConfigEditorBoolean public boolean alwaysShowRequiredItems = false; @Expose @ConfigOption( name = "Show reforge stats", desc = "Show statistics a reforge stone will apply." ) @ConfigEditorBoolean public boolean showReforgeStats = true; @Expose @ConfigOption( name = "Show gemstone stats", desc = "Show statistics a gemstone will apply" ) @ConfigEditorBoolean public boolean showGemstoneStats = true; @Expose @ConfigOption( name = "Hide default reforge stats", desc = "Hides the reforge stats only for Legendary items that Hypixel adds to the Reforge stones" ) @ConfigEditorBoolean public boolean hideDefaultReforgeStats = 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 = "Resize tooltips", desc = "Resizes tooltips to make them readable" ) @ConfigEditorDropdown( values = {"Default", "Small", "Normal", "Large", "Auto"} ) public int guiScale = 0; @Expose @ConfigOption( name = "Custom tooltips", desc = "Replace tooltips with neu's custom tooltips" ) @ConfigEditorBoolean public boolean customTooltips = false; @Expose @ConfigOption( name = "Scrollable Tooltips", desc = "Make tooltips text scrollable, by making some text lines disappear when using the mouse while hovering over an item." ) @ConfigEditorBoolean public boolean scrollableTooltips = false; @Expose @ConfigOption( name = "Expand Pet Exp Requirement", desc = "Show which the full amount of pet xp required" ) @ConfigEditorBoolean public boolean petExtendExp = false; @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; @Expose @ConfigOption( name = "Power Stone Stats", desc = "Show your real magical power and real stat increase on power stones" ) @ConfigEditorBoolean public boolean powerStoneStats = true; @ConfigOption( name = "RNG Meter", desc = "" ) @ConfigEditorAccordion(id = 1) public boolean rngMeter = false; @Expose @ConfigOption( name = "Fraction Display", desc = "Show the fraction instead of the percentage in the slayer and dungeon rng meter inventory" ) @ConfigEditorBoolean @ConfigAccordionId(id = 1) public boolean rngMeterFractionDisplay = true; @Expose @ConfigOption( name = " Profit Per Score/XP", desc = "Show the amount of coins per Score/XP in the rng meter inventory" ) @ConfigEditorBoolean @ConfigAccordionId(id = 1) public boolean rngMeterProfitPerUnit = true; @Expose @ConfigOption( name = "Dungeon/Slayer Needed Counter", desc = "Show the amount of dungeon runs or slayer bosses needed for the rng meter to fill up" ) @ConfigEditorBoolean @ConfigAccordionId(id = 1) public boolean rngMeterRunsNeeded = true; @Expose @ConfigOption( name = "Abiphone NPC Requirements", desc = "Show what the NPC needs in order to add him as contact in the abiphone" ) @ConfigEditorBoolean public boolean abiphoneContactRequirements = true; @Expose @ConfigOption( name = "Abiphone NPC Location", desc = "Click on an NPC to set a marker at the location" ) @ConfigEditorBoolean public boolean abiphoneContactMarker = true; @Expose @ConfigOption( name = "Essence Price In Shop", desc = "Show the essence price in the essence shop in the dungeon hub" ) @ConfigEditorBoolean public boolean essencePriceInEssenceShop = true; @ConfigOption( name = "Garden Visitors", desc = "" ) @ConfigEditorAccordion(id = 2) public boolean gardenVisitors = false; @Expose @ConfigOption( name = "Item Cost in Garden NPC", desc = "Show the item cost in garden NPC shop" ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) public boolean gardenNpcPrice = true; @Expose @ConfigOption( name = "Copper value", desc = "Calculate how much coins is a copper worth" ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) public boolean copperCoins = true; @Expose @ConfigOption( name = "AH items cost threshold", desc = "Ignore AH items that cost less or equal copper than" ) @ConfigEditorSlider( minValue = 0f, maxValue = 500f, minStep = 5f ) @ConfigAccordionId(id = 2) public double AHPriceIgnoreThreshold = 0; @Expose @ConfigOption( name = "Ignore AH items", desc = "Ignore ALL items that can be sold to AH" ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) public boolean ignoreAllAHItems = true; }