diff options
author | Yasin <a.piri@hotmail.de> | 2024-05-08 00:07:04 +0200 |
---|---|---|
committer | Yasin <a.piri@hotmail.de> | 2024-05-08 00:07:04 +0200 |
commit | 15bf2503e0147aeb06ebae2922ecede237983d5c (patch) | |
tree | 827bb279c18a6394959008a661290c94d3d0e7a7 /src/main/java/de/hysky/skyblocker/config | |
parent | 9807bacfb9b2d7ef6a84e158ec21efea343128a7 (diff) | |
download | Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.tar.gz Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.tar.bz2 Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.zip |
debloat SkyblockerConfig.java + translate change
removed text.autoconfig. prefix
new way is skyblocker.option.
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config')
24 files changed, 2418 insertions, 2249 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java b/src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java index 41511732..328cbe18 100644 --- a/src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java @@ -62,7 +62,7 @@ public abstract class HudConfigScreen extends Screen { */ protected void renderWidget(DrawContext context, List<Widget> widgets) { for (Widget widget : widgets) { - widget.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground); + widget.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground); } } diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index 2d113361..a45c9dd8 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -1,1290 +1,45 @@ package de.hysky.skyblocker.config; -import de.hysky.skyblocker.SkyblockerMod; -import de.hysky.skyblocker.skyblock.item.CustomArmorAnimatedDyes; -import de.hysky.skyblocker.skyblock.item.CustomArmorTrims; -import de.hysky.skyblocker.utils.chat.ChatFilterResult; -import de.hysky.skyblocker.utils.waypoint.Waypoint; +import de.hysky.skyblocker.config.configs.*; import dev.isxander.yacl3.config.v2.api.SerialEntry; -import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; - -import java.util.ArrayList; -import java.util.List; public class SkyblockerConfig { @SerialEntry - public int version = 1; + public int version = 2; @SerialEntry - public General general = new General(); + public GeneralConfig general = new GeneralConfig(); @SerialEntry - public Locations locations = new Locations(); + public UiAndVisualsConfig uiAndVisuals = new UiAndVisualsConfig(); @SerialEntry - public Slayer slayer = new Slayer(); + public HelperConfig helper = new HelperConfig(); @SerialEntry - public QuickNav quickNav = new QuickNav(); + public DungeonsConfig dungeons = new DungeonsConfig(); @SerialEntry - public Messages messages = new Messages(); + public CrimsonIsleConfig crimsonIsle = new CrimsonIsleConfig(); @SerialEntry - public RichPresence richPresence = new RichPresence(); - - public static class QuickNav { - @SerialEntry - public boolean enableQuickNav = true; - - @SerialEntry - public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); - - @SerialEntry - public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); - - /* REGEX Explanation - * "Pets" : simple match on letters - * "(?: \\(\\d+\\/\\d+\\))?" : optional match on the non-capturing group for the page in the format " ($number/$number)" - */ - @SerialEntry - public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "Pets(:? \\(\\d+\\/\\d+\\))?", "/pets"); - - /* REGEX Explanation - * "Wardrobe" : simple match on letters - * " \\([12]\\/2\\)" : match on the page either " (1/2)" or " (2/2)" - */ - @SerialEntry - public QuickNavItem button4 = new QuickNavItem(true, - new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", - "/wardrobe"); - - @SerialEntry - public QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, - "tag:{SkullOwner:{Id:[I;-2081424676,-57521078,-2073572414,158072763],Properties:{textures:[{Value:\"ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=\"}]}}}"), - "Sack of Sacks", "/sacks"); - - /* REGEX Explanation - * "(?:Rift )?" : optional match on the non-capturing group "Rift " - * "Storage" : simple match on letters - * "(?: \\([12]\\/2\\))?" : optional match on the non-capturing group " (1/2)" or " (2/2)" - */ - @SerialEntry - public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), - "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage"); - - @SerialEntry - public QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, - "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), - "none", "/hub"); - - @SerialEntry - public QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, - "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), - "none", "/warp dungeon_hub"); - - @SerialEntry - public QuickNavItem button9 = new QuickNavItem(true, new ItemData("player_head", 1, - "tag:{SkullOwner:{Id:[I;-562285948,532499670,-1705302742,775653035],Properties:{textures:[{Value:\"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjVkZjU1NTkyNjQzMGQ1ZDc1YWRlZDIxZGQ5NjE5Yjc2YzViN2NhMmM3ZjU0MDE0NDA1MjNkNTNhOGJjZmFhYiJ9fX0=\"}]}}}"), - "Visit prtl", "/visit prtl"); - - @SerialEntry - public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", - "/etable"); - - - @SerialEntry - public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); - - @SerialEntry - public QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); - } - - public static class QuickNavItem { - public QuickNavItem(Boolean render, ItemData itemData, String uiTitle, String clickEvent) { - this.render = render; - this.item = itemData; - this.clickEvent = clickEvent; - this.uiTitle = uiTitle; - } - - @SerialEntry - public Boolean render; - - @SerialEntry - public ItemData item; - - @SerialEntry - public String uiTitle; - - @SerialEntry - public String clickEvent; - } - - public static class ItemData { - public ItemData(String itemName, int count, String nbt) { - this.itemName = itemName; - this.count = count; - this.nbt = nbt; - } - - public ItemData(String itemName) { - this.itemName = itemName; - this.count = 1; - this.nbt = ""; - } - - @SerialEntry - public String itemName; - - @SerialEntry - public int count; - - @SerialEntry - public String nbt; - } - - public static class General { - @SerialEntry - public boolean enableTips = true; - - @SerialEntry - public boolean acceptReparty = true; - - @SerialEntry - public boolean betterPartyFinder = true; - - @SerialEntry - public boolean fancyCraftingTable = true; - - @SerialEntry - public boolean backpackPreviewWithoutShift = false; - - @SerialEntry - public boolean compactorDeletorPreview = true; - - @SerialEntry - public boolean hideEmptyTooltips = true; - - @SerialEntry - public boolean hideStatusEffectOverlay = false; - - @SerialEntry - public boolean dontStripSkinAlphaValues = true; - - @SerialEntry - public boolean dungeonQuality = true; - - @SerialEntry - public boolean enableNewYearCakesHelper = true; - - @SerialEntry - public TabHudConf tabHud = new TabHudConf(); - - @SerialEntry - public Bars bars = new Bars(); - - @SerialEntry - public Experiments experiments = new Experiments(); - - @SerialEntry - public Fishing fishing = new Fishing(); - - @SerialEntry - public FairySouls fairySouls = new FairySouls(); - - @SerialEntry - public MythologicalRitual mythologicalRitual = new MythologicalRitual(); - - @SerialEntry - public ItemCooldown itemCooldown = new ItemCooldown(); - - @SerialEntry - public Shortcuts shortcuts = new Shortcuts(); - - @SerialEntry - public Waypoints waypoints = new Waypoints(); - - @SerialEntry - public QuiverWarning quiverWarning = new QuiverWarning(); - - @SerialEntry - public ItemList itemList = new ItemList(); - - @SerialEntry - public ItemTooltip itemTooltip = new ItemTooltip(); - - @SerialEntry - public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay(); - - @SerialEntry - public ItemProtection itemProtection = new ItemProtection(); - - @SerialEntry - public WikiLookup wikiLookup = new WikiLookup(); - - @SerialEntry - public ChestValue chestValue = new ChestValue(); - - @SerialEntry - public SpecialEffects specialEffects = new SpecialEffects(); - - @SerialEntry - public Hitbox hitbox = new Hitbox(); - - @SerialEntry - public TitleContainer titleContainer = new TitleContainer(); - - @SerialEntry - public TeleportOverlay teleportOverlay = new TeleportOverlay(); - - @SerialEntry - public FlameOverlay flameOverlay = new FlameOverlay(); - - @SerialEntry - public SearchOverlay searchOverlay = new SearchOverlay(); - - @SerialEntry - public FancyAuctionHouse fancyAuctionHouse = new FancyAuctionHouse(); - - @SerialEntry - public List<Integer> lockedSlots = new ArrayList<>(); - - @SerialEntry - public ObjectOpenHashSet<String> protectedItems = new ObjectOpenHashSet<>(); - - @SerialEntry - public Object2ObjectOpenHashMap<String, Text> customItemNames = new Object2ObjectOpenHashMap<>(); - - @SerialEntry - public Object2IntOpenHashMap<String> customDyeColors = new Object2IntOpenHashMap<>(); - - @SerialEntry - public Object2ObjectOpenHashMap<String, CustomArmorTrims.ArmorTrimId> customArmorTrims = new Object2ObjectOpenHashMap<>(); - - @SerialEntry - public Object2ObjectOpenHashMap<String, CustomArmorAnimatedDyes.AnimatedDye> customAnimatedDyes = new Object2ObjectOpenHashMap<>(); - } - - public static class TabHudConf { - @SerialEntry - public boolean tabHudEnabled = true; - - @SerialEntry - public int tabHudScale = 100; - - @SerialEntry - public boolean enableHudBackground = true; - - @SerialEntry - public boolean plainPlayerNames = false; - - @SerialEntry - public NameSorting nameSorting = NameSorting.DEFAULT; - } - - public enum NameSorting { - DEFAULT, ALPHABETICAL; - - @Override - public String toString() { - return switch (this) { - case DEFAULT -> "Default"; - case ALPHABETICAL -> "Alphabetical"; - }; - } - } - - public static class Bars { - @SerialEntry - public boolean enableBars = true; - - // Kept in for backwards compatibility, remove if needed - @SerialEntry - public OldBarPositions barPositions = new OldBarPositions(); - } - - /** - * Backwards compat - */ - public static class OldBarPositions { - @SerialEntry - public OldBarPosition healthBarPosition = OldBarPosition.LAYER1; - - @SerialEntry - public OldBarPosition manaBarPosition = OldBarPosition.LAYER1; - - @SerialEntry - public OldBarPosition defenceBarPosition = OldBarPosition.LAYER1; - - @SerialEntry - public OldBarPosition experienceBarPosition = OldBarPosition.LAYER1; - - } - - /** - * Backwards compat - */ - public enum OldBarPosition { - LAYER1, LAYER2, RIGHT, NONE - } - - public static class Experiments { - @SerialEntry - public boolean enableChronomatronSolver = true; - - @SerialEntry - public boolean enableSuperpairsSolver = true; - - @SerialEntry - public boolean enableUltrasequencerSolver = true; - } - - public static class Fishing { - @SerialEntry - public boolean enableFishingHelper = true; - - @SerialEntry - public boolean enableFishingTimer = false; - - @SerialEntry - public boolean changeTimerColor = true; - - @SerialEntry - public float fishingTimerScale = 1f; - - @SerialEntry - public boolean hideOtherPlayersRods = false; - } - - public static class FairySouls { - @SerialEntry - public boolean enableFairySoulsHelper = false; - - @SerialEntry - public boolean highlightFoundSouls = true; - - @SerialEntry - public boolean highlightOnlyNearbySouls = false; - } - - public static class MythologicalRitual { - @SerialEntry - public boolean enableMythologicalRitualHelper = true; - } - - public static class ItemCooldown { - @SerialEntry - public boolean enableItemCooldowns = true; - } - - public static class Shortcuts { - @SerialEntry - public boolean enableShortcuts = true; - - @SerialEntry - public boolean enableCommandShortcuts = true; - - @SerialEntry - public boolean enableCommandArgShortcuts = true; - } - - public static class Waypoints { - @SerialEntry - public boolean enableWaypoints = true; - - @SerialEntry - public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT; - } - - public static class QuiverWarning { - @SerialEntry - public boolean enableQuiverWarning = true; - - @SerialEntry - public boolean enableQuiverWarningInDungeons = true; - - @SerialEntry - public boolean enableQuiverWarningAfterDungeon = true; - } - - public static class ItemList { - @SerialEntry - public boolean enableItemList = true; - } - - public static class ItemTooltip { - @SerialEntry - public boolean enableNPCPrice = true; - - @SerialEntry - public boolean enableMotesPrice = true; - - @SerialEntry - public boolean enableAvgBIN = true; - - @SerialEntry - public Average avg = Average.THREE_DAY; - - @SerialEntry - public boolean enableLowestBIN = true; - - @SerialEntry - public boolean enableBazaarPrice = true; - - @SerialEntry - public boolean enableObtainedDate = true; - - @SerialEntry - public boolean enableMuseumInfo = true; - - @SerialEntry - public boolean enableExoticTooltip = true; - - @SerialEntry - public boolean enableAccessoriesHelper = true; - } - - public enum Average { - ONE_DAY, THREE_DAY, BOTH; - - @Override - public String toString() { - return I18n.translate("text.autoconfig.skyblocker.option.general.itemTooltip.avg." + name()); - } - } - - public static class ItemInfoDisplay { - @SerialEntry - public boolean attributeShardInfo = true; - - @SerialEntry - public boolean itemRarityBackgrounds = false; - - @SerialEntry - public RarityBackgroundStyle itemRarityBackgroundStyle = RarityBackgroundStyle.CIRCULAR; - - @SerialEntry - public float itemRarityBackgroundsOpacity = 1f; - } - - public enum RarityBackgroundStyle { - CIRCULAR(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), - SQUARE(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); - - public final Identifier tex; - - RarityBackgroundStyle(Identifier tex) { - this.tex = tex; - } - - @Override - public String toString() { - return switch (this) { - case CIRCULAR -> "Circular"; - case SQUARE -> "Square"; - }; - } - } - - public static class ItemProtection { - @SerialEntry - public SlotLockStyle slotLockStyle = SlotLockStyle.FANCY; - } - - public enum SlotLockStyle { - CLASSIC(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png")), - FANCY(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/fancy_slot_lock.png")); - - public final Identifier tex; - - SlotLockStyle(Identifier tex) { - this.tex = tex; - } - - @Override - public String toString() { - return switch (this) { - case CLASSIC -> "Classic"; - case FANCY -> "FANCY"; - }; - } - } - - public static class WikiLookup { - @SerialEntry - public boolean enableWikiLookup = true; - - @SerialEntry - public boolean officialWiki = true; - } - - public static class ChestValue { - @SerialEntry - public boolean enableChestValue = true; - - @SerialEntry - public Formatting color = Formatting.DARK_GREEN; - - @SerialEntry - public Formatting incompleteColor = Formatting.BLUE; - } - - public static class SpecialEffects { - @SerialEntry - public boolean rareDungeonDropEffects = true; - } - - public static class Hitbox { - @SerialEntry - public boolean oldFarmlandHitbox = false; - - @SerialEntry - public boolean oldLeverHitbox = false; - } - - public static class TitleContainer { - @SerialEntry - public float titleContainerScale = 100; - - @SerialEntry - public int x = 540; - - @SerialEntry - public int y = 10; - - @SerialEntry - public Direction direction = Direction.HORIZONTAL; - - @SerialEntry - public Alignment alignment = Alignment.MIDDLE; - } - - public enum Direction { - HORIZONTAL, VERTICAL; - - @Override - public String toString() { - return switch (this) { - case HORIZONTAL -> "Horizontal"; - case VERTICAL -> "Vertical"; - }; - } - } - - public enum Alignment { - LEFT, RIGHT, MIDDLE; - - @Override - public String toString() { - return switch (this) { - case LEFT -> "Left"; - case RIGHT -> "Right"; - case MIDDLE -> "Middle"; - }; - } - } - - public static class TeleportOverlay { - @SerialEntry - public boolean enableTeleportOverlays = true; - - @SerialEntry - public boolean enableWeirdTransmission = true; - - @SerialEntry - public boolean enableInstantTransmission = true; - - @SerialEntry - public boolean enableEtherTransmission = true; - - @SerialEntry - public boolean enableSinrecallTransmission = true; - - @SerialEntry - public boolean enableWitherImpact = true; - } - - public static class FlameOverlay { - @SerialEntry - public int flameHeight = 100; - - @SerialEntry - public int flameOpacity = 100; - } - - public static class SearchOverlay { - @SerialEntry - public boolean enableBazaar = true; - - @SerialEntry - public boolean enableAuctionHouse = true; - - @SerialEntry - public boolean keepPreviousSearches = false; - - @SerialEntry - public int maxSuggestions = 3; - - @SerialEntry - public int historyLength = 3; - - @SerialEntry - public boolean enableCommands = false; - - @SerialEntry - public List<String> bazaarHistory = new ArrayList<>(); - - @SerialEntry - public List<String> auctionHistory = new ArrayList<>(); - } - - public static class FancyAuctionHouse { - @SerialEntry - public boolean enabled = true; - - @SerialEntry - public boolean highlightCheapBIN = true; - } - - public static class Locations { - @SerialEntry - public Barn barn = new Barn(); - - @SerialEntry - public CrimsonIsle crimsonIsle = new CrimsonIsle(); - - @SerialEntry - public Dungeons dungeons = new Dungeons(); - - @SerialEntry - public DwarvenMines dwarvenMines = new DwarvenMines(); - - @SerialEntry - public Rift rift = new Rift(); - - @SerialEntry - public TheEnd end = new TheEnd(); - - @SerialEntry - public SpidersDen spidersDen = new SpidersDen(); - - @SerialEntry - public Garden garden = new Garden(); - } - - public static class Dungeons { - @SerialEntry - public SecretWaypoints secretWaypoints = new SecretWaypoints(); - - @SerialEntry - public DoorHighlight doorHighlight = new DoorHighlight(); - - @SerialEntry - public DungeonScore dungeonScore = new DungeonScore(); - - @SerialEntry - public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit(); + public MiningConfig mining = new MiningConfig(); - @SerialEntry - public MimicMessage mimicMessage = new MimicMessage(); - - @SerialEntry - public boolean croesusHelper = true; - - @SerialEntry - public boolean enableMap = true; - - @SerialEntry - public float mapScaling = 1f; - - @SerialEntry - public int mapX = 2; - - @SerialEntry - public int mapY = 2; - - @SerialEntry - public boolean playerSecretsTracker = false; - - @SerialEntry - public boolean starredMobGlow = false; - - @SerialEntry - public boolean starredMobBoundingBoxes = true; - - @SerialEntry - public boolean solveThreeWeirdos = true; - - @SerialEntry - public boolean blazeSolver = true; - - @SerialEntry - public boolean creeperSolver = true; - - @SerialEntry - public boolean solveTrivia = true; - - @SerialEntry - public boolean solveTicTacToe = true; - - @SerialEntry - public boolean solveWaterboard = true; - - @SerialEntry - public boolean solveBoulder = true; - - @SerialEntry - public boolean solveIceFill = true; - - @SerialEntry - public boolean solveSilverfish = true; - - @SerialEntry - public boolean fireFreezeStaffTimer = true; - - @SerialEntry - public boolean floor3GuardianHealthDisplay = true; - - @SerialEntry - public boolean allowDroppingProtectedItems = false; - - @SerialEntry - public LividColor lividColor = new LividColor(); - - @SerialEntry - public Terminals terminals = new Terminals(); - } - - public static class SecretWaypoints { - @SerialEntry - public boolean enableRoomMatching = true; - - @SerialEntry - public boolean enableSecretWaypoints = true; - - @SerialEntry - public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT; - - @SerialEntry - public boolean showSecretText = true; - - @SerialEntry - public boolean enableEntranceWaypoints = true; - - @SerialEntry - public boolean enableSuperboomWaypoints = true; - - @SerialEntry - public boolean enableChestWaypoints = true; - - @SerialEntry - public boolean enableItemWaypoints = true; - - @SerialEntry - public boolean enableBatWaypoints = true; - - @SerialEntry - public boolean enableWitherWaypoints = true; - - @SerialEntry - public boolean enableLeverWaypoints = true; - - @SerialEntry - public boolean enableFairySoulWaypoints = true; - - @SerialEntry - public boolean enableStonkWaypoints = true; - - @SerialEntry - public boolean enableAotvWaypoints = true; - - @SerialEntry - public boolean enablePearlWaypoints = true; - - @SerialEntry - public boolean enableDefaultWaypoints = true; - } - - public static class DoorHighlight { - @SerialEntry - public boolean enableDoorHighlight = true; - - @SerialEntry - public Type doorHighlightType = Type.OUTLINED_HIGHLIGHT; - - public enum Type { - HIGHLIGHT, - OUTLINED_HIGHLIGHT, - OUTLINE; - - @Override - public String toString() { - return switch (this) { - case HIGHLIGHT -> "Highlight"; - case OUTLINED_HIGHLIGHT -> "Outlined Highlight"; - case OUTLINE -> "Outline"; - }; - } - } - } - - public static class DungeonScore { - @SerialEntry - public boolean enableDungeonScore270Message = false; - - @SerialEntry - public boolean enableDungeonScore270Title = false; - - @SerialEntry - public boolean enableDungeonScore270Sound = false; - - @SerialEntry - public String dungeonScore270Message = "270 Score Reached!"; - - @SerialEntry - public boolean enableDungeonScore300Message = true; - - @SerialEntry - public boolean enableDungeonScore300Title = true; - - @SerialEntry - public boolean enableDungeonScore300Sound = true; - - @SerialEntry - public String dungeonScore300Message = "300 Score Reached!"; - - @SerialEntry - public boolean enableDungeonCryptsMessage = true; - - @SerialEntry - public int dungeonCryptsMessageThreshold = 250; - - @SerialEntry - public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; - - @SerialEntry - public boolean enableScoreHUD = true; - - @SerialEntry - public int scoreX = 29; - - @SerialEntry - public int scoreY = 134; - - @SerialEntry - public float scoreScaling = 1f; - } - - public static class DungeonChestProfit { - @SerialEntry - public boolean enableProfitCalculator = true; - - @SerialEntry - public boolean includeKismet = false; - - @SerialEntry - public boolean includeEssence = true; - - @SerialEntry - public boolean croesusProfit = true; - - @SerialEntry - public int neutralThreshold = 1000; - - @SerialEntry - public Formatting neutralColor = Formatting.DARK_GRAY; - - @SerialEntry - public Formatting profitColor = Formatting.DARK_GREEN; - - @SerialEntry - public Formatting lossColor = Formatting.RED; - - @SerialEntry - public Formatting incompleteColor = Formatting.BLUE; - } - - public static class MimicMessage { - @SerialEntry - public boolean sendMimicMessage = true; - - @SerialEntry - public String mimicMessage = "Mimic dead!"; - } - - public static class LividColor { - @SerialEntry - public boolean enableLividColorGlow = true; - - @SerialEntry - public boolean enableLividColorText = true; - - @SerialEntry - public boolean enableLividColorTitle = true; - - @SerialEntry - public String lividColorText = "The livid color is [color]"; - } - - public static class Terminals { - @SerialEntry - public boolean solveColor = true; - - @SerialEntry - public boolean solveOrder = true; - - @SerialEntry - public boolean solveStartsWith = true; - } - - public static class DwarvenMines { - @SerialEntry - public boolean enableDrillFuel = true; - - @SerialEntry - public boolean solveFetchur = true; - - @SerialEntry - public boolean solvePuzzler = true; - - @SerialEntry - public boolean metalDetectorHelper = true; - - @SerialEntry - public DwarvenHud dwarvenHud = new DwarvenHud(); - - @SerialEntry - public CrystalsHud crystalsHud = new CrystalsHud(); - - @SerialEntry - public CrystalsWaypoints crystalsWaypoints = new CrystalsWaypoints(); - } - - public static class DwarvenHud { - @SerialEntry - public boolean enabledCommissions = true; - - @SerialEntry - public boolean enabledPowder = true; - - @SerialEntry - public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE; - - @SerialEntry - public int x = 10; - - @SerialEntry - public int y = 10; - - @SerialEntry - public int powderX = 10; - - @SerialEntry - public int powderY = 70; - } - - public static class CrystalsHud { - @SerialEntry - public boolean enabled = true; - - @SerialEntry - public boolean showLocations = true; - - @SerialEntry - public int locationSize = 8; - - @SerialEntry - public int x = 10; - - @SerialEntry - public int y = 130; - - @SerialEntry - public float mapScaling = 1f; - } - - public static class CrystalsWaypoints { - @SerialEntry - public boolean enabled = true; - - @SerialEntry - public boolean findInChat = true; - } - - public enum DwarvenHudStyle { - SIMPLE, FANCY, CLASSIC; - - @Override - public String toString() { - return switch (this) { - case SIMPLE -> "Simple"; - case FANCY -> "Fancy"; - case CLASSIC -> "Classic"; - }; - } - } - - public static class Barn { - @SerialEntry - public boolean solveHungryHiker = true; - - @SerialEntry - public boolean solveTreasureHunter = true; - } - - public static class CrimsonIsle { - @SerialEntry - public Kuudra kuudra = new Kuudra(); - } - - public static class Kuudra { - @SerialEntry - public boolean supplyWaypoints = true; - - @SerialEntry - public boolean fuelWaypoints = true; - - @SerialEntry - public Waypoint.Type suppliesAndFuelWaypointType = Waypoint.Type.WAYPOINT; - - @SerialEntry - public boolean ballistaBuildWaypoints = true; - - @SerialEntry - public boolean safeSpotWaypoints = true; - - @SerialEntry - public boolean pearlWaypoints = true; - - @SerialEntry - public boolean noArrowPoisonWarning = true; - - @SerialEntry - public int arrowPoisonThreshold = 32; - } - - public static class Rift { - @SerialEntry - public boolean mirrorverseWaypoints = true; - - @SerialEntry - public boolean blobbercystGlow = true; - - @SerialEntry - public boolean enigmaSoulWaypoints = false; - - @SerialEntry - public boolean highlightFoundEnigmaSouls = true; - - @SerialEntry - public int mcGrubberStacks = 0; - } - - public static class TheEnd { - @SerialEntry - public boolean enableEnderNodeHelper = true; - - @SerialEntry - public boolean hudEnabled = true; - - @SerialEntry - public boolean zealotKillsEnabled = true; - - @SerialEntry - public boolean protectorLocationEnabled = true; - - @SerialEntry - public boolean waypoint = true; - - @SerialEntry - public int x = 10; - - @SerialEntry - public int y = 10; - } - - public static class SpidersDen { - @SerialEntry - public Relics relics = new Relics(); - } - - public static class Relics { - @SerialEntry - public boolean enableRelicsHelper = false; - - @SerialEntry - public boolean highlightFoundRelics = true; - } - - public static class Garden { - @SerialEntry - public FarmingHud farmingHud = new FarmingHud(); - - @SerialEntry - public boolean dicerTitlePrevent = true; - - @SerialEntry - public boolean visitorHelper = true; - - @SerialEntry - public boolean lockMouseTool = false; - - @SerialEntry - public boolean lockMouseGroundOnly = false; - } - - public static class FarmingHud { - @SerialEntry - public boolean enableHud = true; - - @SerialEntry - public int x; - - @SerialEntry - public int y; - } - - public static class Slayer { - @SerialEntry - public EndermanSlayer endermanSlayer = new EndermanSlayer(); - - @SerialEntry - public VampireSlayer vampireSlayer = new VampireSlayer(); - } - - public static class EndermanSlayer { - @SerialEntry - public boolean enableYangGlyphsNotification = true; - - @SerialEntry - public boolean highlightBeacons = true; - - @SerialEntry - public boolean highlightNukekubiHeads = true; - } - - public static class VampireSlayer { - @SerialEntry - public boolean enableEffigyWaypoints = true; - - @SerialEntry - public boolean compactEffigyWaypoints; - - @SerialEntry - public int effigyUpdateFrequency = 5; - - @SerialEntry - public boolean enableHolyIceIndicator = true; - - @SerialEntry - public int holyIceIndicatorTickDelay = 10; - - @SerialEntry - public int holyIceUpdateFrequency = 5; - - @SerialEntry - public boolean enableHealingMelonIndicator = true; - - @SerialEntry - public float healingMelonHealthThreshold = 4f; - - @SerialEntry - public boolean enableSteakStakeIndicator = true; - - @SerialEntry - public int steakStakeUpdateFrequency = 5; - - @SerialEntry - public boolean enableManiaIndicator = true; - - @SerialEntry - public int maniaUpdateFrequency = 5; - } - - public static class Messages { - @SerialEntry - public ChatFilterResult hideAbility = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideHeal = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideAOTE = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideImplosion = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideAds = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideCombo = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideAutopet = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideShowOff = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideMimicKill = ChatFilterResult.PASS; - - @SerialEntry - public ChatFilterResult hideDeath = ChatFilterResult.PASS; - - @SerialEntry - public boolean hideMana = false; - - @SerialEntry - public ChatFilterResult hideDicer = ChatFilterResult.PASS; - - @SerialEntry - public ChatRuleConfig chatRuleConfig = new ChatRuleConfig(); - } - - public static class ChatRuleConfig { - @SerialEntry - public int announcementLength = 60; - @SerialEntry - public int announcementScale = 3; - } - - public static class RichPresence { - @SerialEntry - public boolean enableRichPresence = false; + @SerialEntry + public FarmingConfig farming = new FarmingConfig(); - @SerialEntry - public Info info = Info.LOCATION; + @SerialEntry + public OtherLocationsConfig otherLocations = new OtherLocationsConfig(); - @SerialEntry - public boolean cycleMode = false; + @SerialEntry + public SlayerConfig slayer = new SlayerConfig(); - @SerialEntry - public String customMessage = "Playing Skyblock"; - } + @SerialEntry + public MessagesConfig messages = new MessagesConfig(); - public enum Info { - PURSE, BITS, LOCATION; + @SerialEntry + public QuickNavConfig quickNav = new QuickNavConfig(); - @Override - public String toString() { - return I18n.translate("text.autoconfig.skyblocker.option.richPresence.info." + name()); - } - } + @SerialEntry + public MiscConfig misc = new MiscConfig(); } diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java index 31f1357d..1c031a9c 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java @@ -57,7 +57,7 @@ public class SkyblockerConfigManager { Screens.getButtons(screen).add(ButtonWidget .builder(Text.literal("\uD83D\uDD27"), buttonWidget -> client.setScreen(createGUI(screen))) .dimensions(((HandledScreenAccessor) genericContainerScreen).getX() + ((HandledScreenAccessor) genericContainerScreen).getBackgroundWidth() - 16, ((HandledScreenAccessor) genericContainerScreen).getY() + 4, 12, 12) - .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.title"))) + .tooltip(Tooltip.of(Text.translatable("skyblocker.title"))) .build()); } }); @@ -69,7 +69,7 @@ public class SkyblockerConfigManager { public static Screen createGUI(Screen parent) { return YetAnotherConfigLib.create(HANDLER, (defaults, config, builder) -> builder - .title(Text.translatable("text.autoconfig.skyblocker.title")) + .title(Text.translatable("skyblocker.title")) .category(GeneralCategory.create(defaults, config)) .category(DungeonsCategory.create(defaults, config)) .category(DwarvenMinesCategory.create(defaults, config)) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java index 3c2dc3b6..a573a622 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java @@ -14,69 +14,69 @@ public class CrimsonIsleCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.crimsonIsle")) + .name(Text.translatable("skyblocker.category.crimsonIsle")) //Kuudra .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra")) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.supplyWaypoints")) - .binding(defaults.locations.crimsonIsle.kuudra.supplyWaypoints, - () -> config.locations.crimsonIsle.kuudra.supplyWaypoints, - newValue -> config.locations.crimsonIsle.kuudra.supplyWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.supplyWaypoints")) + .binding(defaults.crimsonIsle.kuudra.supplyWaypoints, + () -> config.crimsonIsle.kuudra.supplyWaypoints, + newValue -> config.crimsonIsle.kuudra.supplyWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.fuelWaypoints")) - .binding(defaults.locations.crimsonIsle.kuudra.fuelWaypoints, - () -> config.locations.crimsonIsle.kuudra.fuelWaypoints, - newValue -> config.locations.crimsonIsle.kuudra.fuelWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.fuelWaypoints")) + .binding(defaults.crimsonIsle.kuudra.fuelWaypoints, + () -> config.crimsonIsle.kuudra.fuelWaypoints, + newValue -> config.crimsonIsle.kuudra.fuelWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Waypoint.Type>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType.@Tooltip"))) - .binding(defaults.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType, - () -> config.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType, - newValue -> config.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip"))) + .binding(defaults.crimsonIsle.kuudra.suppliesAndFuelWaypointType, + () -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType, + newValue -> config.crimsonIsle.kuudra.suppliesAndFuelWaypointType = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.ballistaBuildWaypoints")) - .binding(defaults.locations.crimsonIsle.kuudra.ballistaBuildWaypoints, - () -> config.locations.crimsonIsle.kuudra.ballistaBuildWaypoints, - newValue -> config.locations.crimsonIsle.kuudra.ballistaBuildWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.ballistaBuildWaypoints")) + .binding(defaults.crimsonIsle.kuudra.ballistaBuildWaypoints, + () -> config.crimsonIsle.kuudra.ballistaBuildWaypoints, + newValue -> config.crimsonIsle.kuudra.ballistaBuildWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints")) - .binding(defaults.locations.crimsonIsle.kuudra.safeSpotWaypoints, - () -> config.locations.crimsonIsle.kuudra.safeSpotWaypoints, - newValue -> config.locations.crimsonIsle.kuudra.safeSpotWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.safeSpotWaypoints")) + .binding(defaults.crimsonIsle.kuudra.safeSpotWaypoints, + () -> config.crimsonIsle.kuudra.safeSpotWaypoints, + newValue -> config.crimsonIsle.kuudra.safeSpotWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.pearlWaypoints")) - .binding(defaults.locations.crimsonIsle.kuudra.pearlWaypoints, - () -> config.locations.crimsonIsle.kuudra.pearlWaypoints, - newValue -> config.locations.crimsonIsle.kuudra.pearlWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.pearlWaypoints")) + .binding(defaults.crimsonIsle.kuudra.pearlWaypoints, + () -> config.crimsonIsle.kuudra.pearlWaypoints, + newValue -> config.crimsonIsle.kuudra.pearlWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning.@Tooltip"))) - .binding(defaults.locations.crimsonIsle.kuudra.noArrowPoisonWarning, - () -> config.locations.crimsonIsle.kuudra.noArrowPoisonWarning, - newValue -> config.locations.crimsonIsle.kuudra.noArrowPoisonWarning = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.noArrowPoisonWarning.@Tooltip"))) + .binding(defaults.crimsonIsle.kuudra.noArrowPoisonWarning, + () -> config.crimsonIsle.kuudra.noArrowPoisonWarning, + newValue -> config.crimsonIsle.kuudra.noArrowPoisonWarning = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold.@Tooltip"))) - .binding(defaults.locations.crimsonIsle.kuudra.arrowPoisonThreshold, - () -> config.locations.crimsonIsle.kuudra.arrowPoisonThreshold, - newValue -> config.locations.crimsonIsle.kuudra.arrowPoisonThreshold = newValue) + .name(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.crimsonIsle.kuudra.arrowPoisonThreshold.@Tooltip"))) + .binding(defaults.crimsonIsle.kuudra.arrowPoisonThreshold, + () -> config.crimsonIsle.kuudra.arrowPoisonThreshold, + newValue -> config.crimsonIsle.kuudra.arrowPoisonThreshold = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) .build()) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java index 907291ca..f69d6343 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.config.configs.MiscConfig; import dev.isxander.yacl3.api.ConfigCategory; import dev.isxander.yacl3.api.Option; import dev.isxander.yacl3.api.OptionDescription; @@ -12,36 +13,36 @@ public class DiscordRPCCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.richPresence")) + .name(Text.translatable("skyblocker.category.richPresence")) //Uncategorized Options .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.richPresence.enableRichPresence")) - .binding(defaults.richPresence.enableRichPresence, - () -> config.richPresence.enableRichPresence, - newValue -> config.richPresence.enableRichPresence = newValue) + .name(Text.translatable("skyblocker.option.richPresence.enableRichPresence")) + .binding(defaults.misc.richPresence.enableRichPresence, + () -> config.misc.richPresence.enableRichPresence, + newValue -> config.misc.richPresence.enableRichPresence = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.Info>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.richPresence.info")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.richPresence.info.@Tooltip"))) - .binding(defaults.richPresence.info, - () -> config.richPresence.info, - newValue -> config.richPresence.info = newValue) + .option(Option.<MiscConfig.Info>createBuilder() + .name(Text.translatable("skyblocker.option.richPresence.info")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.richPresence.info.@Tooltip"))) + .binding(defaults.misc.richPresence.info, + () -> config.misc.richPresence.info, + newValue -> config.misc.richPresence.info = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.richPresence.cycleMode")) - .binding(defaults.richPresence.cycleMode, - () -> config.richPresence.cycleMode, - newValue -> config.richPresence.cycleMode = newValue) + .name(Text.translatable("skyblocker.option.richPresence.cycleMode")) + .binding(defaults.misc.richPresence.cycleMode, + () -> config.misc.richPresence.cycleMode, + newValue -> config.misc.richPresence.cycleMode = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.richPresence.customMessage")) - .binding(defaults.richPresence.customMessage, - () -> config.richPresence.customMessage, - newValue -> config.richPresence.customMessage = newValue) + .name(Text.translatable("skyblocker.option.richPresence.customMessage")) + .binding(defaults.misc.richPresence.customMessage, + () -> config.misc.richPresence.customMessage, + newValue -> config.misc.richPresence.customMessage = newValue) .controller(StringControllerBuilder::create) .build()) .build(); diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java index 77d2da6d..2137f380 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.config.configs.DungeonsConfig; import de.hysky.skyblocker.skyblock.dungeon.DungeonMapConfigScreen; import de.hysky.skyblocker.utils.waypoint.Waypoint.Type; import dev.isxander.yacl3.api.*; @@ -16,260 +17,260 @@ public class DungeonsCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons")) + .name(Text.translatable("skyblocker.option.locations.dungeons")) //Dungeon Secret Waypoints .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints")) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching.@Tooltip"))) - .binding(defaults.locations.dungeons.secretWaypoints.enableRoomMatching, - () -> config.locations.dungeons.secretWaypoints.enableRoomMatching, - newValue -> config.locations.dungeons.secretWaypoints.enableRoomMatching = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableRoomMatching.@Tooltip"))) + .binding(defaults.dungeons.secretWaypoints.enableRoomMatching, + () -> config.dungeons.secretWaypoints.enableRoomMatching, + newValue -> config.dungeons.secretWaypoints.enableRoomMatching = newValue) .controller(ConfigUtils::createBooleanController) .flag(OptionFlag.GAME_RESTART) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableSecretWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableSecretWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableSecretWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableSecretWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSecretWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableSecretWaypoints, + () -> config.dungeons.secretWaypoints.enableSecretWaypoints, + newValue -> config.dungeons.secretWaypoints.enableSecretWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Type>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType.@Tooltip"))) - .binding(defaults.locations.dungeons.secretWaypoints.waypointType, - () -> config.locations.dungeons.secretWaypoints.waypointType, - newValue -> config.locations.dungeons.secretWaypoints.waypointType = newValue) + .name(Text.translatable("skyblocker.option.general.waypoints.waypointType")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip"))) + .binding(defaults.dungeons.secretWaypoints.waypointType, + () -> config.dungeons.secretWaypoints.waypointType, + newValue -> config.dungeons.secretWaypoints.waypointType = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.showSecretText")) - .binding(defaults.locations.dungeons.secretWaypoints.showSecretText, - () -> config.locations.dungeons.secretWaypoints.showSecretText, - newValue -> config.locations.dungeons.secretWaypoints.showSecretText = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.showSecretText")) + .binding(defaults.dungeons.secretWaypoints.showSecretText, + () -> config.dungeons.secretWaypoints.showSecretText, + newValue -> config.dungeons.secretWaypoints.showSecretText = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableEntranceWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableEntranceWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableEntranceWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableEntranceWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableEntranceWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableEntranceWaypoints, + () -> config.dungeons.secretWaypoints.enableEntranceWaypoints, + newValue -> config.dungeons.secretWaypoints.enableEntranceWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableSuperboomWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableSuperboomWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableSuperboomWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableSuperboomWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableSuperboomWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableSuperboomWaypoints, + () -> config.dungeons.secretWaypoints.enableSuperboomWaypoints, + newValue -> config.dungeons.secretWaypoints.enableSuperboomWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableChestWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableChestWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableChestWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableChestWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableChestWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableChestWaypoints, + () -> config.dungeons.secretWaypoints.enableChestWaypoints, + newValue -> config.dungeons.secretWaypoints.enableChestWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableItemWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableItemWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableItemWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableItemWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableItemWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableItemWaypoints, + () -> config.dungeons.secretWaypoints.enableItemWaypoints, + newValue -> config.dungeons.secretWaypoints.enableItemWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableBatWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableBatWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableBatWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableBatWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableBatWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableBatWaypoints, + () -> config.dungeons.secretWaypoints.enableBatWaypoints, + newValue -> config.dungeons.secretWaypoints.enableBatWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableWitherWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableWitherWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableWitherWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableWitherWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableWitherWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableWitherWaypoints, + () -> config.dungeons.secretWaypoints.enableWitherWaypoints, + newValue -> config.dungeons.secretWaypoints.enableWitherWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableLeverWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableLeverWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableLeverWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableLeverWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableLeverWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableLeverWaypoints, + () -> config.dungeons.secretWaypoints.enableLeverWaypoints, + newValue -> config.dungeons.secretWaypoints.enableLeverWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableFairySoulWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableFairySoulWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableFairySoulWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableFairySoulWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableFairySoulWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableFairySoulWaypoints, + () -> config.dungeons.secretWaypoints.enableFairySoulWaypoints, + newValue -> config.dungeons.secretWaypoints.enableFairySoulWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableStonkWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableStonkWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableStonkWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableStonkWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableStonkWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableStonkWaypoints, + () -> config.dungeons.secretWaypoints.enableStonkWaypoints, + newValue -> config.dungeons.secretWaypoints.enableStonkWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableAotvWaypoints")) - .binding(defaults.locations.dungeons.secretWaypoints.enableAotvWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableAotvWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableAotvWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableAotvWaypoints")) + .binding(defaults.dungeons.secretWaypoints.enableAotvWaypoints, + () -> config.dungeons.secretWaypoints.enableAotvWaypoints, + newValue -> config.dungeons.secretWaypoints.enableAotvWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints.@Tooltip"))) - .binding(defaults.locations.dungeons.secretWaypoints.enablePearlWaypoints, - () -> config.locations.dungeons.secretWaypoints.enablePearlWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enablePearlWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enablePearlWaypoints.@Tooltip"))) + .binding(defaults.dungeons.secretWaypoints.enablePearlWaypoints, + () -> config.dungeons.secretWaypoints.enablePearlWaypoints, + newValue -> config.dungeons.secretWaypoints.enablePearlWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints.@Tooltip"))) - .binding(defaults.locations.dungeons.secretWaypoints.enableDefaultWaypoints, - () -> config.locations.dungeons.secretWaypoints.enableDefaultWaypoints, - newValue -> config.locations.dungeons.secretWaypoints.enableDefaultWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.secretWaypoints.enableDefaultWaypoints.@Tooltip"))) + .binding(defaults.dungeons.secretWaypoints.enableDefaultWaypoints, + () -> config.dungeons.secretWaypoints.enableDefaultWaypoints, + newValue -> config.dungeons.secretWaypoints.enableDefaultWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Dungeon Door Highlight .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.doorHighlight")) + .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.doorHighlight.enableDoorHighlight")) - .binding(defaults.locations.dungeons.doorHighlight.enableDoorHighlight, - () -> config.locations.dungeons.doorHighlight.enableDoorHighlight, - newValue -> config.locations.dungeons.doorHighlight.enableDoorHighlight = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.enableDoorHighlight")) + .binding(defaults.dungeons.doorHighlight.enableDoorHighlight, + () -> config.dungeons.doorHighlight.enableDoorHighlight, + newValue -> config.dungeons.doorHighlight.enableDoorHighlight = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.DoorHighlight.Type>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.@Tooltip"), Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.secretWaypointsNote"))) - .binding(defaults.locations.dungeons.doorHighlight.doorHighlightType, - () -> config.locations.dungeons.doorHighlight.doorHighlightType, - newValue -> config.locations.dungeons.doorHighlight.doorHighlightType = newValue) + .option(Option.<DungeonsConfig.DoorHighlight.Type>createBuilder() + .name(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.doorHighlight.doorHighlightType.secretWaypointsNote"))) + .binding(defaults.dungeons.doorHighlight.doorHighlightType, + () -> config.dungeons.doorHighlight.doorHighlightType, + newValue -> config.dungeons.doorHighlight.doorHighlightType = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .build()) //Dungeon Score .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore")) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 270)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 270))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore270Message, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore270Message, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore270Message = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 270)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 270))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Message, + () -> config.dungeons.dungeonScore.enableDungeonScore270Message, + newValue -> config.dungeons.dungeonScore.enableDungeonScore270Message = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 270)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 270))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore270Title, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore270Title, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore270Title = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 270)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 270))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Title, + () -> config.dungeons.dungeonScore.enableDungeonScore270Title, + newValue -> config.dungeons.dungeonScore.enableDungeonScore270Title = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 270)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 270))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore270Sound, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore270Sound, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore270Sound = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 270)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 270))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore270Sound, + () -> config.dungeons.dungeonScore.enableDungeonScore270Sound, + newValue -> config.dungeons.dungeonScore.enableDungeonScore270Sound = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 270)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 270, 270))) - .binding(defaults.locations.dungeons.dungeonScore.dungeonScore270Message, - () -> config.locations.dungeons.dungeonScore.dungeonScore270Message, - newValue -> config.locations.dungeons.dungeonScore.dungeonScore270Message = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 270)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 270, 270))) + .binding(defaults.dungeons.dungeonScore.dungeonScore270Message, + () -> config.dungeons.dungeonScore.dungeonScore270Message, + newValue -> config.dungeons.dungeonScore.dungeonScore270Message = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 300)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 300))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore300Message, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore300Message, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore300Message = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage", 300)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreMessage.@Tooltip", 300))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Message, + () -> config.dungeons.dungeonScore.enableDungeonScore300Message, + newValue -> config.dungeons.dungeonScore.enableDungeonScore300Message = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 300)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 300))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore300Title, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore300Title, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore300Title = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle", 300)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreTitle.@Tooltip", 300))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Title, + () -> config.dungeons.dungeonScore.enableDungeonScore300Title, + newValue -> config.dungeons.dungeonScore.enableDungeonScore300Title = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 300)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 300))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonScore300Sound, - () -> config.locations.dungeons.dungeonScore.enableDungeonScore300Sound, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonScore300Sound = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound", 300)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonScoreSound.@Tooltip", 300))) + .binding(defaults.dungeons.dungeonScore.enableDungeonScore300Sound, + () -> config.dungeons.dungeonScore.enableDungeonScore300Sound, + newValue -> config.dungeons.dungeonScore.enableDungeonScore300Sound = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 300)) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 300, 300))) - .binding(defaults.locations.dungeons.dungeonScore.dungeonScore300Message, - () -> config.locations.dungeons.dungeonScore.dungeonScore300Message, - newValue -> config.locations.dungeons.dungeonScore.dungeonScore300Message = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage", 300)) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonScoreMessage.@Tooltip", 300, 300))) + .binding(defaults.dungeons.dungeonScore.dungeonScore300Message, + () -> config.dungeons.dungeonScore.dungeonScore300Message, + newValue -> config.dungeons.dungeonScore.dungeonScore300Message = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonScore.enableDungeonCryptsMessage, - () -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage, - newValue -> config.locations.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableDungeonCryptsMessage.@Tooltip"))) + .binding(defaults.dungeons.dungeonScore.enableDungeonCryptsMessage, + () -> config.dungeons.dungeonScore.enableDungeonCryptsMessage, + newValue -> config.dungeons.dungeonScore.enableDungeonCryptsMessage = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, - () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold, - newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessageThreshold.@Tooltip"))) + .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + () -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold, + newValue -> config.dungeons.dungeonScore.dungeonCryptsMessageThreshold = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonScore.dungeonCryptsMessage, - () -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage, - newValue -> config.locations.dungeons.dungeonScore.dungeonCryptsMessage = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.dungeonCryptsMessage.@Tooltip"))) + .binding(defaults.dungeons.dungeonScore.dungeonCryptsMessage, + () -> config.dungeons.dungeonScore.dungeonCryptsMessage, + newValue -> config.dungeons.dungeonScore.dungeonCryptsMessage = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote"))) - .binding(defaults.locations.dungeons.dungeonScore.enableScoreHUD, - () -> config.locations.dungeons.dungeonScore.enableScoreHUD, - newValue -> config.locations.dungeons.dungeonScore.enableScoreHUD = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.@Tooltip"), Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.enableScoreHUD.deathMessagesNote"))) + .binding(defaults.dungeons.dungeonScore.enableScoreHUD, + () -> config.dungeons.dungeonScore.enableScoreHUD, + newValue -> config.dungeons.dungeonScore.enableScoreHUD = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonScore.scoreScaling")) - .binding(defaults.locations.dungeons.dungeonScore.scoreScaling, - () -> config.locations.dungeons.dungeonScore.scoreScaling, + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonScore.scoreScaling")) + .binding(defaults.dungeons.dungeonScore.scoreScaling, + () -> config.dungeons.dungeonScore.scoreScaling, newValue -> { - config.locations.dungeons.dungeonScore.scoreX = config.locations.dungeons.dungeonScore.scoreX + (int) ((config.locations.dungeons.dungeonScore.scoreScaling - newValue) * 38.0); - config.locations.dungeons.dungeonScore.scoreY = config.locations.dungeons.dungeonScore.scoreY + (int) ((config.locations.dungeons.dungeonScore.scoreScaling - newValue) * MinecraftClient.getInstance().textRenderer.fontHeight / 2.0); - config.locations.dungeons.dungeonScore.scoreScaling = newValue; + config.dungeons.dungeonScore.scoreX = config.dungeons.dungeonScore.scoreX + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * 38.0); + config.dungeons.dungeonScore.scoreY = config.dungeons.dungeonScore.scoreY + (int) ((config.dungeons.dungeonScore.scoreScaling - newValue) * MinecraftClient.getInstance().textRenderer.fontHeight / 2.0); + config.dungeons.dungeonScore.scoreScaling = newValue; }) .controller(FloatFieldControllerBuilder::create) .build()) @@ -277,307 +278,307 @@ public class DungeonsCategory { //Dungeon Chest Profit .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit")) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.enableProfitCalculator, - () -> config.locations.dungeons.dungeonChestProfit.enableProfitCalculator, - newValue -> config.locations.dungeons.dungeonChestProfit.enableProfitCalculator = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.enableProfitCalculator.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.enableProfitCalculator, + () -> config.dungeons.dungeonChestProfit.enableProfitCalculator, + newValue -> config.dungeons.dungeonChestProfit.enableProfitCalculator = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.includeKismet, - () -> config.locations.dungeons.dungeonChestProfit.includeKismet, - newValue -> config.locations.dungeons.dungeonChestProfit.includeKismet = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeKismet.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.includeKismet, + () -> config.dungeons.dungeonChestProfit.includeKismet, + newValue -> config.dungeons.dungeonChestProfit.includeKismet = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.includeEssence, - () -> config.locations.dungeons.dungeonChestProfit.includeEssence, - newValue -> config.locations.dungeons.dungeonChestProfit.includeEssence = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.includeEssence.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.includeEssence, + () -> config.dungeons.dungeonChestProfit.includeEssence, + newValue -> config.dungeons.dungeonChestProfit.includeEssence = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.croesusProfit, - () -> config.locations.dungeons.dungeonChestProfit.croesusProfit, - newValue -> config.locations.dungeons.dungeonChestProfit.croesusProfit = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.croesusProfit.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.croesusProfit, + () -> config.dungeons.dungeonChestProfit.croesusProfit, + newValue -> config.dungeons.dungeonChestProfit.croesusProfit = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.neutralThreshold, - () -> config.locations.dungeons.dungeonChestProfit.neutralThreshold, - newValue -> config.locations.dungeons.dungeonChestProfit.neutralThreshold = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralThreshold.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.neutralThreshold, + () -> config.dungeons.dungeonChestProfit.neutralThreshold, + newValue -> config.dungeons.dungeonChestProfit.neutralThreshold = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.neutralColor")) - .binding(defaults.locations.dungeons.dungeonChestProfit.neutralColor, - () -> config.locations.dungeons.dungeonChestProfit.neutralColor, - newValue -> config.locations.dungeons.dungeonChestProfit.neutralColor = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.neutralColor")) + .binding(defaults.dungeons.dungeonChestProfit.neutralColor, + () -> config.dungeons.dungeonChestProfit.neutralColor, + newValue -> config.dungeons.dungeonChestProfit.neutralColor = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor")) - .binding(defaults.locations.dungeons.dungeonChestProfit.profitColor, - () -> config.locations.dungeons.dungeonChestProfit.profitColor, - newValue -> config.locations.dungeons.dungeonChestProfit.profitColor = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.profitColor")) + .binding(defaults.dungeons.dungeonChestProfit.profitColor, + () -> config.dungeons.dungeonChestProfit.profitColor, + newValue -> config.dungeons.dungeonChestProfit.profitColor = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor")) - .binding(defaults.locations.dungeons.dungeonChestProfit.lossColor, - () -> config.locations.dungeons.dungeonChestProfit.lossColor, - newValue -> config.locations.dungeons.dungeonChestProfit.lossColor = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.dungeonChestProfit.lossColor")) + .binding(defaults.dungeons.dungeonChestProfit.lossColor, + () -> config.dungeons.dungeonChestProfit.lossColor, + newValue -> config.dungeons.dungeonChestProfit.lossColor = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.incompleteColor")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.incompleteColor.@Tooltip"))) - .binding(defaults.locations.dungeons.dungeonChestProfit.incompleteColor, - () -> config.locations.dungeons.dungeonChestProfit.incompleteColor, - newValue -> config.locations.dungeons.dungeonChestProfit.incompleteColor = newValue) + .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip"))) + .binding(defaults.dungeons.dungeonChestProfit.incompleteColor, + () -> config.dungeons.dungeonChestProfit.incompleteColor, + newValue -> config.dungeons.dungeonChestProfit.incompleteColor = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .build()) //Others .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.croesusHelper")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.croesusHelper.@Tooltip"))) - .binding(defaults.locations.dungeons.croesusHelper, - () -> config.locations.dungeons.croesusHelper, - newValue -> config.locations.dungeons.croesusHelper = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.croesusHelper.@Tooltip"))) + .binding(defaults.dungeons.croesusHelper, + () -> config.dungeons.croesusHelper, + newValue -> config.dungeons.croesusHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.enableMap")) - .binding(defaults.locations.dungeons.enableMap, - () -> config.locations.dungeons.enableMap, - newValue -> config.locations.dungeons.enableMap = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.enableMap")) + .binding(defaults.dungeons.dungeonMap.enableMap, + () -> config.dungeons.dungeonMap.enableMap, + newValue -> config.dungeons.dungeonMap.enableMap = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mapScreen")) + .name(Text.translatable("skyblocker.option.locations.dungeons.mapScreen")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DungeonMapConfigScreen(screen))) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mapScaling")) - .binding(defaults.locations.dungeons.mapScaling, - () -> config.locations.dungeons.mapScaling, - newValue -> config.locations.dungeons.mapScaling = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.mapScaling")) + .binding(defaults.dungeons.dungeonMap.mapScaling, + () -> config.dungeons.dungeonMap.mapScaling, + newValue -> config.dungeons.dungeonMap.mapScaling = newValue) .controller(FloatFieldControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.playerSecretsTracker")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.playerSecretsTracker.@Tooltip"))) - .binding(defaults.locations.dungeons.playerSecretsTracker, - () -> config.locations.dungeons.playerSecretsTracker, - newValue -> config.locations.dungeons.playerSecretsTracker = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.playerSecretsTracker.@Tooltip"))) + .binding(defaults.dungeons.playerSecretsTracker, + () -> config.dungeons.playerSecretsTracker, + newValue -> config.dungeons.playerSecretsTracker = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobGlow")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobGlow.@Tooltip"))) - .binding(defaults.locations.dungeons.starredMobGlow, - () -> config.locations.dungeons.starredMobGlow, - newValue -> config.locations.dungeons.starredMobGlow = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobGlow.@Tooltip"))) + .binding(defaults.dungeons.starredMobGlow, + () -> config.dungeons.starredMobGlow, + newValue -> config.dungeons.starredMobGlow = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobBoundingBoxes")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobBoundingBoxes.@Tooltip"))) - .binding(defaults.locations.dungeons.starredMobBoundingBoxes, - () -> config.locations.dungeons.starredMobBoundingBoxes, - newValue -> config.locations.dungeons.starredMobBoundingBoxes = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.starredMobBoundingBoxes.@Tooltip"))) + .binding(defaults.dungeons.starredMobBoundingBoxes, + () -> config.dungeons.starredMobBoundingBoxes, + newValue -> config.dungeons.starredMobBoundingBoxes = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveThreeWeirdos")) - .binding(defaults.locations.dungeons.solveThreeWeirdos, - () -> config.locations.dungeons.solveThreeWeirdos, - newValue -> config.locations.dungeons.solveThreeWeirdos = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveThreeWeirdos")) + .binding(defaults.dungeons.puzzleSolver.solveThreeWeirdos, + () -> config.dungeons.puzzleSolver.solveThreeWeirdos, + newValue -> config.dungeons.puzzleSolver.solveThreeWeirdos = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.blazeSolver")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.blazeSolver.@Tooltip"))) - .binding(defaults.locations.dungeons.blazeSolver, - () -> config.locations.dungeons.blazeSolver, - newValue -> config.locations.dungeons.blazeSolver = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.blazeSolver.@Tooltip"))) + .binding(defaults.dungeons.puzzleSolver.blazeSolver, + () -> config.dungeons.puzzleSolver.blazeSolver, + newValue -> config.dungeons.puzzleSolver.blazeSolver = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.creeperSolver")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.creeperSolver.@Tooltip"))) - .binding(defaults.locations.dungeons.creeperSolver, - () -> config.locations.dungeons.creeperSolver, - newValue -> config.locations.dungeons.creeperSolver = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.creeperSolver.@Tooltip"))) + .binding(defaults.dungeons.puzzleSolver.creeperSolver, + () -> config.dungeons.puzzleSolver.creeperSolver, + newValue -> config.dungeons.puzzleSolver.creeperSolver = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveTrivia")) - .binding(defaults.locations.dungeons.solveTrivia, - () -> config.locations.dungeons.solveTrivia, - newValue -> config.locations.dungeons.solveTrivia = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveTrivia")) + .binding(defaults.dungeons.puzzleSolver.solveTrivia, + () -> config.dungeons.puzzleSolver.solveTrivia, + newValue -> config.dungeons.puzzleSolver.solveTrivia = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveTicTacToe")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveTicTacToe.@Tooltip"))) - .binding(defaults.locations.dungeons.solveTicTacToe, - () -> config.locations.dungeons.solveTicTacToe, - newValue -> config.locations.dungeons.solveTicTacToe = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveTicTacToe.@Tooltip"))) + .binding(defaults.dungeons.puzzleSolver.solveTicTacToe, + () -> config.dungeons.puzzleSolver.solveTicTacToe, + newValue -> config.dungeons.puzzleSolver.solveTicTacToe = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveWaterboard")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveWaterboard.@Tooltip"))) - .binding(defaults.locations.dungeons.solveWaterboard, - () -> config.locations.dungeons.solveWaterboard, - newValue -> config.locations.dungeons.solveWaterboard = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveWaterboard.@Tooltip"))) + .binding(defaults.dungeons.puzzleSolver.solveWaterboard, + () -> config.dungeons.puzzleSolver.solveWaterboard, + newValue -> config.dungeons.puzzleSolver.solveWaterboard = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveBoulder")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveBoulder.@Tooltip"))) - .binding(defaults.locations.dungeons.solveBoulder, - () -> config.locations.dungeons.solveBoulder, - newValue -> config.locations.dungeons.solveBoulder = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.solveBoulder.@Tooltip"))) + .binding(defaults.dungeons.puzzleSolver.solveBoulder, + () -> config.dungeons.puzzleSolver.solveBoulder, + newValue -> config.dungeons.puzzleSolver.solveBoulder = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveIceFill")) - .binding(defaults.locations.dungeons.solveIceFill, - () -> config.locations.dungeons.solveIceFill, - newValue -> config.locations.dungeons.solveIceFill = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveIceFill")) + .binding(defaults.dungeons.puzzleSolver.solveIceFill, + () -> config.dungeons.puzzleSolver.solveIceFill, + newValue -> config.dungeons.puzzleSolver.solveIceFill = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.solveSilverfish")) - .binding(defaults.locations.dungeons.solveSilverfish, - () -> config.locations.dungeons.solveSilverfish, - newValue -> config.locations.dungeons.solveSilverfish = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.solveSilverfish")) + .binding(defaults.dungeons.puzzleSolver.solveSilverfish, + () -> config.dungeons.puzzleSolver.solveSilverfish, + newValue -> config.dungeons.puzzleSolver.solveSilverfish = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.fireFreezeStaffTimer")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.fireFreezeStaffTimer.@Tooltip"))) - .binding(defaults.locations.dungeons.fireFreezeStaffTimer, - () -> config.locations.dungeons.fireFreezeStaffTimer, - newValue -> config.locations.dungeons.fireFreezeStaffTimer = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.fireFreezeStaffTimer.@Tooltip"))) + .binding(defaults.dungeons.theProfessor.fireFreezeStaffTimer, + () -> config.dungeons.theProfessor.fireFreezeStaffTimer, + newValue -> config.dungeons.theProfessor.fireFreezeStaffTimer = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay.@Tooltip"))) - .binding(defaults.locations.dungeons.floor3GuardianHealthDisplay, - () -> config.locations.dungeons.floor3GuardianHealthDisplay, - newValue -> config.locations.dungeons.floor3GuardianHealthDisplay = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.floor3GuardianHealthDisplay.@Tooltip"))) + .binding(defaults.dungeons.theProfessor.floor3GuardianHealthDisplay, + () -> config.dungeons.theProfessor.floor3GuardianHealthDisplay, + newValue -> config.dungeons.theProfessor.floor3GuardianHealthDisplay = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.allowDroppingProtectedItems")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.allowDroppingProtectedItems.@Tooltip"))) - .binding(defaults.locations.dungeons.allowDroppingProtectedItems, - () -> config.locations.dungeons.allowDroppingProtectedItems, - newValue -> config.locations.dungeons.allowDroppingProtectedItems = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.allowDroppingProtectedItems.@Tooltip"))) + .binding(defaults.dungeons.allowDroppingProtectedItems, + () -> config.dungeons.allowDroppingProtectedItems, + newValue -> config.dungeons.allowDroppingProtectedItems = newValue) .controller(ConfigUtils::createBooleanController) .build()) //Mimic Message .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mimicMessage")) + .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip"))) - .binding(defaults.locations.dungeons.mimicMessage.sendMimicMessage, - () -> config.locations.dungeons.mimicMessage.sendMimicMessage, - newValue -> config.locations.dungeons.mimicMessage.sendMimicMessage = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.sendMimicMessage.@Tooltip"))) + .binding(defaults.dungeons.mimicMessage.sendMimicMessage, + () -> config.dungeons.mimicMessage.sendMimicMessage, + newValue -> config.dungeons.mimicMessage.sendMimicMessage = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mimicMessage.mimicMessage")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip"))) - .binding(defaults.locations.dungeons.mimicMessage.mimicMessage, - () -> config.locations.dungeons.mimicMessage.mimicMessage, - newValue -> config.locations.dungeons.mimicMessage.mimicMessage = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.mimicMessage.mimicMessage.@Tooltip"))) + .binding(defaults.dungeons.mimicMessage.mimicMessage, + () -> config.dungeons.mimicMessage.mimicMessage, + newValue -> config.dungeons.mimicMessage.mimicMessage = newValue) .controller(StringControllerBuilder::create) .build()) .build()) //Livid Color .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor")) + .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow.@Tooltip"))) - .binding(defaults.locations.dungeons.lividColor.enableLividColorGlow, - () -> config.locations.dungeons.lividColor.enableLividColorGlow, - newValue -> config.locations.dungeons.lividColor.enableLividColorGlow = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorGlow.@Tooltip"))) + .binding(defaults.dungeons.livid.enableLividColorGlow, + () -> config.dungeons.livid.enableLividColorGlow, + newValue -> config.dungeons.livid.enableLividColorGlow = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorText")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip"))) - .binding(defaults.locations.dungeons.lividColor.enableLividColorText, - () -> config.locations.dungeons.lividColor.enableLividColorText, - newValue -> config.locations.dungeons.lividColor.enableLividColorText = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorText.@Tooltip"))) + .binding(defaults.dungeons.livid.enableLividColorText, + () -> config.dungeons.livid.enableLividColorText, + newValue -> config.dungeons.livid.enableLividColorText = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle.@Tooltip"))) - .binding(defaults.locations.dungeons.lividColor.enableLividColorTitle, - () -> config.locations.dungeons.lividColor.enableLividColorTitle, - newValue -> config.locations.dungeons.lividColor.enableLividColorTitle = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.enableLividColorTitle.@Tooltip"))) + .binding(defaults.dungeons.livid.enableLividColorTitle, + () -> config.dungeons.livid.enableLividColorTitle, + newValue -> config.dungeons.livid.enableLividColorTitle = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.lividColorText")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip"))) - .binding(defaults.locations.dungeons.lividColor.lividColorText, - () -> config.locations.dungeons.lividColor.lividColorText, - newValue -> config.locations.dungeons.lividColor.lividColorText = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dungeons.lividColor.lividColorText.@Tooltip"))) + .binding(defaults.dungeons.livid.lividColorText, + () -> config.dungeons.livid.lividColorText, + newValue -> config.dungeons.livid.lividColorText = newValue) .controller(StringControllerBuilder::create) .build()) .build()) //Terminal Solvers .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.terminals")) + .name(Text.translatable("skyblocker.option.locations.dungeons.terminals")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveColor")) - .binding(defaults.locations.dungeons.terminals.solveColor, - () -> config.locations.dungeons.terminals.solveColor, - newValue -> config.locations.dungeons.terminals.solveColor = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveColor")) + .binding(defaults.dungeons.terminals.solveColor, + () -> config.dungeons.terminals.solveColor, + newValue -> config.dungeons.terminals.solveColor = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveOrder")) - .binding(defaults.locations.dungeons.terminals.solveOrder, - () -> config.locations.dungeons.terminals.solveOrder, - newValue -> config.locations.dungeons.terminals.solveOrder = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveOrder")) + .binding(defaults.dungeons.terminals.solveOrder, + () -> config.dungeons.terminals.solveOrder, + newValue -> config.dungeons.terminals.solveOrder = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.terminals.solveStartsWith")) - .binding(defaults.locations.dungeons.terminals.solveStartsWith, - () -> config.locations.dungeons.terminals.solveStartsWith, - newValue -> config.locations.dungeons.terminals.solveStartsWith = newValue) + .name(Text.translatable("skyblocker.option.locations.dungeons.terminals.solveStartsWith")) + .binding(defaults.dungeons.terminals.solveStartsWith, + () -> config.dungeons.terminals.solveStartsWith, + newValue -> config.dungeons.terminals.solveStartsWith = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java index 43ea8a22..416fe62e 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.config.configs.MiningConfig; import de.hysky.skyblocker.skyblock.dwarven.CrystalsHudConfigScreen; import dev.isxander.yacl3.api.ButtonOption; import dev.isxander.yacl3.api.ConfigCategory; @@ -18,130 +19,131 @@ public class DwarvenMinesCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines")) //Uncategorized Options .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.enableDrillFuel")) - .binding(defaults.locations.dwarvenMines.enableDrillFuel, - () -> config.locations.dwarvenMines.enableDrillFuel, - newValue -> config.locations.dwarvenMines.enableDrillFuel = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.enableDrillFuel")) + .binding(defaults.mining.enableDrillFuel, + () -> config.mining.enableDrillFuel, + newValue -> config.mining.enableDrillFuel = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.solveFetchur")) - .binding(defaults.locations.dwarvenMines.solveFetchur, - () -> config.locations.dwarvenMines.solveFetchur, - newValue -> config.locations.dwarvenMines.solveFetchur = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solveFetchur")) + .binding(defaults.mining.dwarvenMines.solveFetchur, + () -> config.mining.dwarvenMines.solveFetchur, + newValue -> config.mining.dwarvenMines.solveFetchur = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.solvePuzzler")) - .binding(defaults.locations.dwarvenMines.solvePuzzler, - () -> config.locations.dwarvenMines.solvePuzzler, - newValue -> config.locations.dwarvenMines.solvePuzzler = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.solvePuzzler")) + .binding(defaults.mining.dwarvenMines.solvePuzzler, + () -> config.mining.dwarvenMines.solvePuzzler, + newValue -> config.mining.dwarvenMines.solvePuzzler = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.metalDetectorHelper")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.metalDetectorHelper.@Tooltip"))) .binding(defaults.locations.dwarvenMines.metalDetectorHelper, - () -> config.locations.dwarvenMines.metalDetectorHelper, - newValue -> config.locations.dwarvenMines.metalDetectorHelper = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.metalDetectorHelper.@Tooltip"))) + .binding(defaults.mining.crystalHollows.metalDetectorHelper, + () -> config.mining.crystalHollows.metalDetectorHelper, + newValue -> config.mining.crystalHollows.metalDetectorHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) //Dwarven HUD .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledCommissions")) - .binding(defaults.locations.dwarvenMines.dwarvenHud.enabledCommissions, - () -> config.locations.dwarvenMines.dwarvenHud.enabledCommissions, - newValue -> config.locations.dwarvenMines.dwarvenHud.enabledCommissions = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledCommissions")) + .binding(defaults.mining.dwarvenHud.enabledCommissions, + () -> config.mining.dwarvenHud.enabledCommissions, + newValue -> config.mining.dwarvenHud.enabledCommissions = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledPowder")) - .binding(defaults.locations.dwarvenMines.dwarvenHud.enabledPowder, - () -> config.locations.dwarvenMines.dwarvenHud.enabledPowder, - newValue -> config.locations.dwarvenMines.dwarvenHud.enabledPowder = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.enabledPowder")) + .binding(defaults.mining.dwarvenHud.enabledPowder, + () -> config.mining.dwarvenHud.enabledPowder, + newValue -> config.mining.dwarvenHud.enabledPowder = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.DwarvenHudStyle>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.style")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[0]"), - Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[1]"), - Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[2]"))) - .binding(defaults.locations.dwarvenMines.dwarvenHud.style, - () -> config.locations.dwarvenMines.dwarvenHud.style, - newValue -> config.locations.dwarvenMines.dwarvenHud.style = newValue) + .option(Option.<MiningConfig.DwarvenHudStyle>createBuilder() + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[0]"), + Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[1]"), + Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.style.@Tooltip[2]"))) + .binding(defaults.mining.dwarvenHud.style, + () -> config.mining.dwarvenHud.style, + newValue -> config.mining.dwarvenHud.style = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.screen")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.dwarvenHud.screen")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new DwarvenHudConfigScreen(screen))) .build()) .build()) //crystal HUD .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.enabled")) - .binding(defaults.locations.dwarvenMines.crystalsHud.enabled, - () -> config.locations.dwarvenMines.crystalsHud.enabled, - newValue -> config.locations.dwarvenMines.crystalsHud.enabled = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.enabled")) + .binding(defaults.mining.crystalsHud.enabled, + () -> config.mining.crystalsHud.enabled, + newValue -> config.mining.crystalsHud.enabled = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.screen")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.screen")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new CrystalsHudConfigScreen(screen))) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.mapScaling")) - .binding(defaults.locations.dwarvenMines.crystalsHud.mapScaling, - () -> config.locations.dwarvenMines.crystalsHud.mapScaling, - newValue -> config.locations.dwarvenMines.crystalsHud.mapScaling = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.mapScaling")) + .binding(defaults.mining.crystalsHud.mapScaling, + () -> config.mining.crystalsHud.mapScaling, + newValue -> config.mining.crystalsHud.mapScaling = newValue) .controller(FloatFieldControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.@Tooltip"))) - .binding(defaults.locations.dwarvenMines.crystalsHud.showLocations, - () -> config.locations.dwarvenMines.crystalsHud.showLocations, - newValue -> config.locations.dwarvenMines.crystalsHud.showLocations = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.@Tooltip"))) + .binding(defaults.mining.crystalsHud.showLocations, + () -> config.mining.crystalsHud.showLocations, + newValue -> config.mining.crystalsHud.showLocations = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize.@Tooltip"))) - .binding(defaults.locations.dwarvenMines.crystalsHud.locationSize, - () -> config.locations.dwarvenMines.crystalsHud.locationSize, - newValue -> config.locations.dwarvenMines.crystalsHud.locationSize = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsHud.showLocations.locationSize.@Tooltip"))) + .binding(defaults.mining.crystalsHud.locationSize, + () -> config.mining.crystalsHud.locationSize, + newValue -> config.mining.crystalsHud.locationSize = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(4, 12).step(2)) .build()) .build()) //crystals waypoints .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints")) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled.@Tooltip"))) - .binding(defaults.locations.dwarvenMines.crystalsWaypoints.enabled, - () -> config.locations.dwarvenMines.crystalsWaypoints.enabled, - newValue -> config.locations.dwarvenMines.crystalsWaypoints.enabled = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.enabled.@Tooltip"))) + .binding(defaults.mining.crystalsWaypoints.enabled, + () -> config.mining.crystalsWaypoints.enabled, + newValue -> config.mining.crystalsWaypoints.enabled = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat.@Tooltip"))) - .binding(defaults.locations.dwarvenMines.crystalsWaypoints.findInChat, - () -> config.locations.dwarvenMines.crystalsWaypoints.findInChat, - newValue -> config.locations.dwarvenMines.crystalsWaypoints.findInChat = newValue) + .name(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.findInChat.@Tooltip"))) + .binding(defaults.mining.crystalsWaypoints.findInChat, + () -> config.mining.crystalsWaypoints.findInChat, + newValue -> config.mining.crystalsWaypoints.findInChat = newValue) .controller(ConfigUtils::createBooleanController) .build()) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java index 77627242..029c0b00 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -2,6 +2,8 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.config.configs.GeneralConfig; +import de.hysky.skyblocker.config.configs.UiAndVisualsConfig; import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen; import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen; import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen; @@ -18,145 +20,145 @@ public class GeneralCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.general")) + .name(Text.translatable("skyblocker.category.general")) //Ungrouped Options .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.enableTips")) + .name(Text.translatable("skyblocker.option.general.enableTips")) .binding(defaults.general.enableTips, () -> config.general.enableTips, newValue -> config.general.enableTips = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.acceptReparty")) - .binding(defaults.general.acceptReparty, - () -> config.general.acceptReparty, - newValue -> config.general.acceptReparty = newValue) + .name(Text.translatable("skyblocker.option.general.acceptReparty")) + .binding(defaults.dungeons.acceptReparty, + () -> config.dungeons.acceptReparty, + newValue -> config.dungeons.acceptReparty = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.betterPartyFinder")) - .binding(defaults.general.betterPartyFinder, - () -> config.general.betterPartyFinder, - newValue -> config.general.betterPartyFinder = newValue) + .name(Text.translatable("skyblocker.option.general.betterPartyFinder")) + .binding(defaults.dungeons.fancyPartyFinder, + () -> config.dungeons.fancyPartyFinder, + newValue -> config.dungeons.fancyPartyFinder = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fancyCraftingTable")) - .binding(defaults.general.fancyCraftingTable, - () -> config.general.fancyCraftingTable, - newValue -> config.general.fancyCraftingTable = newValue) + .name(Text.translatable("skyblocker.option.general.fancyCraftingTable")) + .binding(defaults.uiAndVisuals.fancyCraftingTable, + () -> config.uiAndVisuals.fancyCraftingTable, + newValue -> config.uiAndVisuals.fancyCraftingTable = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.backpackPreviewWithoutShift")) - .binding(defaults.general.backpackPreviewWithoutShift, - () -> config.general.backpackPreviewWithoutShift, - newValue -> config.general.backpackPreviewWithoutShift = newValue) + .name(Text.translatable("skyblocker.option.general.backpackPreviewWithoutShift")) + .binding(defaults.uiAndVisuals.backpackPreviewWithoutShift, + () -> config.uiAndVisuals.backpackPreviewWithoutShift, + newValue -> config.uiAndVisuals.backpackPreviewWithoutShift = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.compactorDeletorPreview")) - .binding(defaults.general.compactorDeletorPreview, - () -> config.general.compactorDeletorPreview, - newValue -> config.general.compactorDeletorPreview = newValue) + .name(Text.translatable("skyblocker.option.general.compactorDeletorPreview")) + .binding(defaults.uiAndVisuals.compactorDeletorPreview, + () -> config.uiAndVisuals.compactorDeletorPreview, + newValue -> config.uiAndVisuals.compactorDeletorPreview = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.hideEmptyTooltips")) + .name(Text.translatable("skyblocker.option.general.hideEmptyTooltips")) .binding(defaults.general.hideEmptyTooltips, () -> config.general.hideEmptyTooltips, newValue -> config.general.hideEmptyTooltips = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.hideStatusEffectOverlay")) - .binding(defaults.general.hideStatusEffectOverlay, - () -> config.general.hideStatusEffectOverlay, - newValue -> config.general.hideStatusEffectOverlay = newValue) + .name(Text.translatable("skyblocker.option.general.hideStatusEffectOverlay")) + .binding(defaults.misc.hideStatusEffectOverlay, + () -> config.misc.hideStatusEffectOverlay, + newValue -> config.misc.hideStatusEffectOverlay = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.dontStripSkinAlphaValues")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.dontStripSkinAlphaValues.@Tooltip"))) - .binding(defaults.general.dontStripSkinAlphaValues, - () -> config.general.dontStripSkinAlphaValues, - newValue -> config.general.dontStripSkinAlphaValues = newValue) + .name(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.dontStripSkinAlphaValues.@Tooltip"))) + .binding(defaults.uiAndVisuals.dontStripSkinAlphaValues, + () -> config.uiAndVisuals.dontStripSkinAlphaValues, + newValue -> config.uiAndVisuals.dontStripSkinAlphaValues = newValue) .controller(ConfigUtils::createBooleanController) .flag(OptionFlag.ASSET_RELOAD) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.dungeonQuality")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.dungeonQuality.@Tooltip"))) - .binding(defaults.general.dungeonQuality, - () -> config.general.dungeonQuality, - newValue -> config.general.dungeonQuality = newValue) + .name(Text.translatable("skyblocker.option.general.dungeonQuality")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.dungeonQuality.@Tooltip"))) + .binding(defaults.general.itemTooltip.dungeonQuality, + () -> config.general.itemTooltip.dungeonQuality, + newValue -> config.general.itemTooltip.dungeonQuality = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.enableNewYearCakesHelper")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.enableNewYearCakesHelper.@Tooltip"))) - .binding(defaults.general.enableNewYearCakesHelper, - () -> config.general.enableNewYearCakesHelper, - newValue -> config.general.enableNewYearCakesHelper = newValue) + .name(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.enableNewYearCakesHelper.@Tooltip"))) + .binding(defaults.helper.enableNewYearCakesHelper, + () -> config.helper.enableNewYearCakesHelper, + newValue -> config.helper.enableNewYearCakesHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) //Tab Hud .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud")) + .name(Text.translatable("skyblocker.option.general.tabHud")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.tabHudEnabled")) - .binding(defaults.general.tabHud.tabHudEnabled, - () -> config.general.tabHud.tabHudEnabled, - newValue -> config.general.tabHud.tabHudEnabled = newValue) + .name(Text.translatable("skyblocker.option.general.tabHud.tabHudEnabled")) + .binding(defaults.uiAndVisuals.tabHud.tabHudEnabled, + () -> config.uiAndVisuals.tabHud.tabHudEnabled, + newValue -> config.uiAndVisuals.tabHud.tabHudEnabled = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.tabHudScale")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.tabHudScale.@Tooltip"))) - .binding(defaults.general.tabHud.tabHudScale, - () -> config.general.tabHud.tabHudScale, - newValue -> config.general.tabHud.tabHudScale = newValue) + .name(Text.translatable("skyblocker.option.general.tabHud.tabHudScale")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.tabHudScale.@Tooltip"))) + .binding(defaults.uiAndVisuals.tabHud.tabHudScale, + () -> config.uiAndVisuals.tabHud.tabHudScale, + newValue -> config.uiAndVisuals.tabHud.tabHudScale = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(10, 200).step(1)) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.enableHudBackground")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.enableHudBackground.@Tooltip"))) - .binding(defaults.general.tabHud.enableHudBackground, - () -> config.general.tabHud.enableHudBackground, - newValue -> config.general.tabHud.enableHudBackground = newValue) + .name(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.enableHudBackground.@Tooltip"))) + .binding(defaults.uiAndVisuals.tabHud.enableHudBackground, + () -> config.uiAndVisuals.tabHud.enableHudBackground, + newValue -> config.uiAndVisuals.tabHud.enableHudBackground = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.plainPlayerNames")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.plainPlayerNames.@Tooltip"))) - .binding(defaults.general.tabHud.plainPlayerNames, - () -> config.general.tabHud.plainPlayerNames, - newValue -> config.general.tabHud.plainPlayerNames = newValue) + .name(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.plainPlayerNames.@Tooltip"))) + .binding(defaults.uiAndVisuals.tabHud.plainPlayerNames, + () -> config.uiAndVisuals.tabHud.plainPlayerNames, + newValue -> config.uiAndVisuals.tabHud.plainPlayerNames = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.NameSorting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.nameSorting")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.tabHud.nameSorting.@Tooltip"))) - .binding(defaults.general.tabHud.nameSorting, - () -> config.general.tabHud.nameSorting, - newValue -> config.general.tabHud.nameSorting = newValue) + .option(Option.<UiAndVisualsConfig.NameSorting>createBuilder() + .name(Text.translatable("skyblocker.option.general.tabHud.nameSorting")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.tabHud.nameSorting.@Tooltip"))) + .binding(defaults.uiAndVisuals.tabHud.nameSorting, + () -> config.uiAndVisuals.tabHud.nameSorting, + newValue -> config.uiAndVisuals.tabHud.nameSorting = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .build()) //Fancy Bars .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars")) + .name(Text.translatable("skyblocker.option.general.bars")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.enableBars")) - .binding(defaults.general.bars.enableBars, - () -> config.general.bars.enableBars, - newValue -> config.general.bars.enableBars = newValue) + .name(Text.translatable("skyblocker.option.general.bars.enableBars")) + .binding(defaults.uiAndVisuals.bars.enableBars, + () -> config.uiAndVisuals.bars.enableBars, + newValue -> config.uiAndVisuals.bars.enableBars = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() @@ -168,160 +170,160 @@ public class GeneralCategory { //Experiments Solver .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.experiments")) + .name(Text.translatable("skyblocker.option.general.experiments")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.experiments.enableChronomatronSolver")) - .binding(defaults.general.experiments.enableChronomatronSolver, - () -> config.general.experiments.enableChronomatronSolver, - newValue -> config.general.experiments.enableChronomatronSolver = newValue) + .name(Text.translatable("skyblocker.option.general.experiments.enableChronomatronSolver")) + .binding(defaults.helper.experiments.enableChronomatronSolver, + () -> config.helper.experiments.enableChronomatronSolver, + newValue -> config.helper.experiments.enableChronomatronSolver = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.experiments.enableSuperpairsSolver")) - .binding(defaults.general.experiments.enableSuperpairsSolver, - () -> config.general.experiments.enableSuperpairsSolver, - newValue -> config.general.experiments.enableSuperpairsSolver = newValue) + .name(Text.translatable("skyblocker.option.general.experiments.enableSuperpairsSolver")) + .binding(defaults.helper.experiments.enableSuperpairsSolver, + () -> config.helper.experiments.enableSuperpairsSolver, + newValue -> config.helper.experiments.enableSuperpairsSolver = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.experiments.enableUltrasequencerSolver")) - .binding(defaults.general.experiments.enableUltrasequencerSolver, - () -> config.general.experiments.enableUltrasequencerSolver, - newValue -> config.general.experiments.enableUltrasequencerSolver = newValue) + .name(Text.translatable("skyblocker.option.general.experiments.enableUltrasequencerSolver")) + .binding(defaults.helper.experiments.enableUltrasequencerSolver, + () -> config.helper.experiments.enableUltrasequencerSolver, + newValue -> config.helper.experiments.enableUltrasequencerSolver = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Fishing Helper .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing")) + .name(Text.translatable("skyblocker.option.general.fishing")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.enableFishingHelper")) - .binding(defaults.general.fishing.enableFishingHelper, - () -> config.general.fishing.enableFishingHelper, - newValue -> config.general.fishing.enableFishingHelper = newValue) + .name(Text.translatable("skyblocker.option.general.fishing.enableFishingHelper")) + .binding(defaults.helper.fishing.enableFishingHelper, + () -> config.helper.fishing.enableFishingHelper, + newValue -> config.helper.fishing.enableFishingHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.enableFishingTimer")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.enableFishingTimer.@Tooltip"))) - .binding(defaults.general.fishing.enableFishingTimer, - () -> config.general.fishing.enableFishingTimer, - newValue -> config.general.fishing.enableFishingTimer = newValue) + .name(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.enableFishingTimer.@Tooltip"))) + .binding(defaults.helper.fishing.enableFishingTimer, + () -> config.helper.fishing.enableFishingTimer, + newValue -> config.helper.fishing.enableFishingTimer = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.changeTimerColor")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.changeTimerColor.@Tooltip"))) - .binding(defaults.general.fishing.changeTimerColor, - () -> config.general.fishing.changeTimerColor, - newValue -> config.general.fishing.changeTimerColor = newValue) + .name(Text.translatable("skyblocker.option.general.fishing.changeTimerColor")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.changeTimerColor.@Tooltip"))) + .binding(defaults.helper.fishing.changeTimerColor, + () -> config.helper.fishing.changeTimerColor, + newValue -> config.helper.fishing.changeTimerColor = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.fishingTimerScale")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.fishingTimerScale.@Tooltip"))) - .binding(defaults.general.fishing.fishingTimerScale, - () -> config.general.fishing.fishingTimerScale, - newValue -> config.general.fishing.fishingTimerScale = newValue) + .name(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.fishingTimerScale.@Tooltip"))) + .binding(defaults.helper.fishing.fishingTimerScale, + () -> config.helper.fishing.fishingTimerScale, + newValue -> config.helper.fishing.fishingTimerScale = newValue) .controller(FloatFieldControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.hideOtherPlayers")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip"))) - .binding(defaults.general.fishing.hideOtherPlayersRods, - () -> config.general.fishing.hideOtherPlayersRods, - newValue -> config.general.fishing.hideOtherPlayersRods = newValue) + .name(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fishing.hideOtherPlayers.@Tooltip"))) + .binding(defaults.helper.fishing.hideOtherPlayersRods, + () -> config.helper.fishing.hideOtherPlayersRods, + newValue -> config.helper.fishing.hideOtherPlayersRods = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Fairy Souls Helper .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls")) + .name(Text.translatable("skyblocker.option.general.fairySouls")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls.enableFairySoulsHelper")) - .binding(defaults.general.fairySouls.enableFairySoulsHelper, - () -> config.general.fairySouls.enableFairySoulsHelper, - newValue -> config.general.fairySouls.enableFairySoulsHelper = newValue) + .name(Text.translatable("skyblocker.option.general.fairySouls.enableFairySoulsHelper")) + .binding(defaults.helper.fairySouls.enableFairySoulsHelper, + () -> config.helper.fairySouls.enableFairySoulsHelper, + newValue -> config.helper.fairySouls.enableFairySoulsHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls.highlightFoundSouls")) - .binding(defaults.general.fairySouls.highlightFoundSouls, - () -> config.general.fairySouls.highlightFoundSouls, - newValue -> config.general.fairySouls.highlightFoundSouls = newValue) + .name(Text.translatable("skyblocker.option.general.fairySouls.highlightFoundSouls")) + .binding(defaults.helper.fairySouls.highlightFoundSouls, + () -> config.helper.fairySouls.highlightFoundSouls, + newValue -> config.helper.fairySouls.highlightFoundSouls = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls.highlightOnlyNearbySouls")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.fairySouls.highlightOnlyNearbySouls.@Tooltip"))) - .binding(defaults.general.fairySouls.highlightOnlyNearbySouls, - () -> config.general.fairySouls.highlightOnlyNearbySouls, - newValue -> config.general.fairySouls.highlightOnlyNearbySouls = newValue) + .name(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.fairySouls.highlightOnlyNearbySouls.@Tooltip"))) + .binding(defaults.helper.fairySouls.highlightOnlyNearbySouls, + () -> config.helper.fairySouls.highlightOnlyNearbySouls, + newValue -> config.helper.fairySouls.highlightOnlyNearbySouls = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Mythological Ritual .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.mythologicalRitual")) + .name(Text.translatable("skyblocker.option.general.mythologicalRitual")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.mythologicalRitual.enableMythologicalRitualHelper")) - .binding(defaults.general.mythologicalRitual.enableMythologicalRitualHelper, - () -> config.general.mythologicalRitual.enableMythologicalRitualHelper, - newValue -> config.general.mythologicalRitual.enableMythologicalRitualHelper = newValue) + .name(Text.translatable("skyblocker.option.general.mythologicalRitual.enableMythologicalRitualHelper")) + .binding(defaults.helper.mythologicalRitual.enableMythologicalRitualHelper, + () -> config.helper.mythologicalRitual.enableMythologicalRitualHelper, + newValue -> config.helper.mythologicalRitual.enableMythologicalRitualHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Item Cooldown .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemCooldown")) + .name(Text.translatable("skyblocker.option.general.itemCooldown")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemCooldown.enableItemCooldowns")) - .binding(defaults.general.itemCooldown.enableItemCooldowns, - () -> config.general.itemCooldown.enableItemCooldowns, - newValue -> config.general.itemCooldown.enableItemCooldowns = newValue) + .name(Text.translatable("skyblocker.option.general.itemCooldown.enableItemCooldowns")) + .binding(defaults.uiAndVisuals.itemCooldown.enableItemCooldowns, + () -> config.uiAndVisuals.itemCooldown.enableItemCooldowns, + newValue -> config.uiAndVisuals.itemCooldown.enableItemCooldowns = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Shortcuts .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts")) + .name(Text.translatable("skyblocker.option.general.shortcuts")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableShortcuts")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableShortcuts.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.shortcuts.enableShortcuts")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.shortcuts.enableShortcuts.@Tooltip"))) .binding(defaults.general.shortcuts.enableShortcuts, () -> config.general.shortcuts.enableShortcuts, newValue -> config.general.shortcuts.enableShortcuts = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableCommandShortcuts")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableCommandShortcuts.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.shortcuts.enableCommandShortcuts")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.shortcuts.enableCommandShortcuts.@Tooltip"))) .binding(defaults.general.shortcuts.enableCommandShortcuts, () -> config.general.shortcuts.enableCommandShortcuts, newValue -> config.general.shortcuts.enableCommandShortcuts = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableCommandArgShortcuts")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.enableCommandArgShortcuts.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.shortcuts.enableCommandArgShortcuts")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.shortcuts.enableCommandArgShortcuts.@Tooltip"))) .binding(defaults.general.shortcuts.enableCommandArgShortcuts, () -> config.general.shortcuts.enableCommandArgShortcuts, newValue -> config.general.shortcuts.enableCommandArgShortcuts = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.shortcuts.config")) + .name(Text.translatable("skyblocker.option.general.shortcuts.config")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new ShortcutsConfigScreen(screen))) .build()) @@ -329,45 +331,45 @@ public class GeneralCategory { //Waypoints .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints")) + .name(Text.translatable("skyblocker.option.general.waypoints")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.enableWaypoints")) - .binding(defaults.general.waypoints.enableWaypoints, - () -> config.general.waypoints.enableWaypoints, - newValue -> config.general.waypoints.enableWaypoints = newValue) + .name(Text.translatable("skyblocker.option.general.waypoints.enableWaypoints")) + .binding(defaults.uiAndVisuals.waypoints.enableWaypoints, + () -> config.uiAndVisuals.waypoints.enableWaypoints, + newValue -> config.uiAndVisuals.waypoints.enableWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Waypoint.Type>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType.@Tooltip"), Text.translatable("text.autoconfig.skyblocker.option.general.waypoints.waypointType.generalNote"))) - .binding(defaults.general.waypoints.waypointType, - () -> config.general.waypoints.waypointType, - newValue -> config.general.waypoints.waypointType = newValue) + .name(Text.translatable("skyblocker.option.general.waypoints.waypointType")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.waypoints.waypointType.@Tooltip"), Text.translatable("skyblocker.option.general.waypoints.waypointType.generalNote"))) + .binding(defaults.uiAndVisuals.waypoints.waypointType, + () -> config.uiAndVisuals.waypoints.waypointType, + newValue -> config.uiAndVisuals.waypoints.waypointType = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .build()) //Quiver Warning .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.quiverWarning")) + .name(Text.translatable("skyblocker.option.general.quiverWarning")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.quiverWarning.enableQuiverWarning")) + .name(Text.translatable("skyblocker.option.general.quiverWarning.enableQuiverWarning")) .binding(defaults.general.quiverWarning.enableQuiverWarning, () -> config.general.quiverWarning.enableQuiverWarning, newValue -> config.general.quiverWarning.enableQuiverWarning = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.quiverWarning.enableQuiverWarningInDungeons")) + .name(Text.translatable("skyblocker.option.general.quiverWarning.enableQuiverWarningInDungeons")) .binding(defaults.general.quiverWarning.enableQuiverWarningInDungeons, () -> config.general.quiverWarning.enableQuiverWarningInDungeons, newValue -> config.general.quiverWarning.enableQuiverWarningInDungeons = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.quiverWarning.enableQuiverWarningAfterDungeon")) + .name(Text.translatable("skyblocker.option.general.quiverWarning.enableQuiverWarningAfterDungeon")) .binding(defaults.general.quiverWarning.enableQuiverWarningAfterDungeon, () -> config.general.quiverWarning.enableQuiverWarningAfterDungeon, newValue -> config.general.quiverWarning.enableQuiverWarningAfterDungeon = newValue) @@ -377,10 +379,10 @@ public class GeneralCategory { //Item List .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemList")) + .name(Text.translatable("skyblocker.option.general.itemList")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemList.enableItemList")) + .name(Text.translatable("skyblocker.option.general.itemList.enableItemList")) .binding(defaults.general.itemList.enableItemList, () -> config.general.itemList.enableItemList, newValue -> config.general.itemList.enableItemList = newValue) @@ -390,80 +392,80 @@ public class GeneralCategory { //Item Tooltip .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip")) + .name(Text.translatable("skyblocker.option.general.itemTooltip")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableNPCPrice")) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableNPCPrice")) .binding(defaults.general.itemTooltip.enableNPCPrice, () -> config.general.itemTooltip.enableNPCPrice, newValue -> config.general.itemTooltip.enableNPCPrice = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableMotesPrice")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableMotesPrice.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableMotesPrice")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.enableMotesPrice.@Tooltip"))) .binding(defaults.general.itemTooltip.enableMotesPrice, () -> config.general.itemTooltip.enableMotesPrice, newValue -> config.general.itemTooltip.enableMotesPrice = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAvgBIN")) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableAvgBIN")) .binding(defaults.general.itemTooltip.enableAvgBIN, () -> config.general.itemTooltip.enableAvgBIN, newValue -> config.general.itemTooltip.enableAvgBIN = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.Average>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.avg")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.avg.@Tooltip"))) + .option(Option.<GeneralConfig.Average>createBuilder() + .name(Text.translatable("skyblocker.option.general.itemTooltip.avg")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.avg.@Tooltip"))) .binding(defaults.general.itemTooltip.avg, () -> config.general.itemTooltip.avg, newValue -> config.general.itemTooltip.avg = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableLowestBIN")) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableLowestBIN")) .binding(defaults.general.itemTooltip.enableLowestBIN, () -> config.general.itemTooltip.enableLowestBIN, newValue -> config.general.itemTooltip.enableLowestBIN = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableBazaarPrice")) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableBazaarPrice")) .binding(defaults.general.itemTooltip.enableBazaarPrice, () -> config.general.itemTooltip.enableBazaarPrice, newValue -> config.general.itemTooltip.enableBazaarPrice = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableObtainedDate")) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableObtainedDate")) .binding(defaults.general.itemTooltip.enableObtainedDate, () -> config.general.itemTooltip.enableObtainedDate, newValue -> config.general.itemTooltip.enableObtainedDate = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableMuseumInfo")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableMuseumInfo.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableMuseumInfo")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.enableMuseumInfo.@Tooltip"))) .binding(defaults.general.itemTooltip.enableMuseumInfo, () -> config.general.itemTooltip.enableMuseumInfo, newValue -> config.general.itemTooltip.enableMuseumInfo = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableExoticTooltip")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableExoticTooltip.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableExoticTooltip")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.enableExoticTooltip.@Tooltip"))) .binding(defaults.general.itemTooltip.enableExoticTooltip, () -> config.general.itemTooltip.enableExoticTooltip, newValue -> config.general.itemTooltip.enableExoticTooltip = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[0]"), Text.literal("\n\n✔ Collected").formatted(Formatting.GREEN), Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[1]"), - Text.literal("\n✦ Upgrade").withColor(0x218bff), Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[2]"), Text.literal("\n↑ Upgradable").withColor(0xf8d048), Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[3]"), - Text.literal("\n↓ Downgrade").formatted(Formatting.GRAY), Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]"), Text.literal("\n✖ Missing").formatted(Formatting.RED), Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]"))) + .name(Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[0]"), Text.literal("\n\n✔ Collected").formatted(Formatting.GREEN), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[1]"), + Text.literal("\n✦ Upgrade").withColor(0x218bff), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[2]"), Text.literal("\n↑ Upgradable").withColor(0xf8d048), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[3]"), + Text.literal("\n↓ Downgrade").formatted(Formatting.GRAY), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[4]"), Text.literal("\n✖ Missing").formatted(Formatting.RED), Text.translatable("skyblocker.option.general.itemTooltip.enableAccessoriesHelper.@Tooltip[5]"))) .binding(defaults.general.itemTooltip.enableAccessoriesHelper, () -> config.general.itemTooltip.enableAccessoriesHelper, newValue -> config.general.itemTooltip.enableAccessoriesHelper = newValue) @@ -473,34 +475,34 @@ public class GeneralCategory { //Item Info Display .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay")) + .name(Text.translatable("skyblocker.option.general.itemInfoDisplay")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.attributeShardInfo")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.attributeShardInfo.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.itemInfoDisplay.attributeShardInfo")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemInfoDisplay.attributeShardInfo.@Tooltip"))) .binding(defaults.general.itemInfoDisplay.attributeShardInfo, () -> config.general.itemInfoDisplay.attributeShardInfo, newValue -> config.general.itemInfoDisplay.attributeShardInfo = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemInfoDisplay.itemRarityBackgrounds.@Tooltip"))) .binding(defaults.general.itemInfoDisplay.itemRarityBackgrounds, () -> config.general.itemInfoDisplay.itemRarityBackgrounds, newValue -> config.general.itemInfoDisplay.itemRarityBackgrounds = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.<SkyblockerConfig.RarityBackgroundStyle>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle.@Tooltip"))) + .option(Option.<GeneralConfig.RarityBackgroundStyle>createBuilder() + .name(Text.translatable("skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle.@Tooltip"))) .binding(defaults.general.itemInfoDisplay.itemRarityBackgroundStyle, () -> config.general.itemInfoDisplay.itemRarityBackgroundStyle, newValue -> config.general.itemInfoDisplay.itemRarityBackgroundStyle = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundsOpacity")) + .name(Text.translatable("skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundsOpacity")) .binding(defaults.general.itemInfoDisplay.itemRarityBackgroundsOpacity, () -> config.general.itemInfoDisplay.itemRarityBackgroundsOpacity, newValue -> config.general.itemInfoDisplay.itemRarityBackgroundsOpacity = newValue) @@ -510,11 +512,11 @@ public class GeneralCategory { //Item Protection .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemProtection")) + .name(Text.translatable("skyblocker.option.general.itemProtection")) .collapsed(true) - .option(Option.<SkyblockerConfig.SlotLockStyle>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemProtection.slotLockStyle")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemProtection.slotLockStyle.@Tooltip"))) + .option(Option.<GeneralConfig.SlotLockStyle>createBuilder() + .name(Text.translatable("skyblocker.option.general.itemProtection.slotLockStyle")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.itemProtection.slotLockStyle.@Tooltip"))) .binding(defaults.general.itemProtection.slotLockStyle, () -> config.general.itemProtection.slotLockStyle, newValue -> config.general.itemProtection.slotLockStyle = newValue) @@ -524,19 +526,19 @@ public class GeneralCategory { //Wiki Lookup .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.wikiLookup")) + .name(Text.translatable("skyblocker.option.general.wikiLookup")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.wikiLookup.enableWikiLookup")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.wikiLookup.enableWikiLookup.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.wikiLookup.enableWikiLookup")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.wikiLookup.enableWikiLookup.@Tooltip"))) .binding(defaults.general.wikiLookup.enableWikiLookup, () -> config.general.wikiLookup.enableWikiLookup, newValue -> config.general.wikiLookup.enableWikiLookup = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.wikiLookup.officialWiki")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.wikiLookup.officialWiki.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.wikiLookup.officialWiki")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.wikiLookup.officialWiki.@Tooltip"))) .binding(defaults.general.wikiLookup.officialWiki, () -> config.general.wikiLookup.officialWiki, newValue -> config.general.wikiLookup.officialWiki = newValue) @@ -546,40 +548,40 @@ public class GeneralCategory { //Chest Value .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue")) + .name(Text.translatable("skyblocker.option.general.chestValue")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.enableChestValue")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.enableChestValue.@Tooltip"))) - .binding(defaults.general.chestValue.enableChestValue, - () -> config.general.chestValue.enableChestValue, - newValue -> config.general.chestValue.enableChestValue = newValue) + .name(Text.translatable("skyblocker.option.general.chestValue.enableChestValue")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.enableChestValue.@Tooltip"))) + .binding(defaults.uiAndVisuals.chestValue.enableChestValue, + () -> config.uiAndVisuals.chestValue.enableChestValue, + newValue -> config.uiAndVisuals.chestValue.enableChestValue = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.color")) - .binding(defaults.general.chestValue.color, - () -> config.general.chestValue.color, - newValue -> config.general.chestValue.color = newValue) + .name(Text.translatable("skyblocker.option.general.chestValue.color")) + .binding(defaults.uiAndVisuals.chestValue.color, + () -> config.uiAndVisuals.chestValue.color, + newValue -> config.uiAndVisuals.chestValue.color = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .option(Option.<Formatting>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.incompleteColor")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.incompleteColor.@Tooltip"))) - .binding(defaults.general.chestValue.incompleteColor, - () -> config.general.chestValue.incompleteColor, - newValue -> config.general.chestValue.incompleteColor = newValue) + .name(Text.translatable("skyblocker.option.general.chestValue.incompleteColor")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.chestValue.incompleteColor.@Tooltip"))) + .binding(defaults.uiAndVisuals.chestValue.incompleteColor, + () -> config.uiAndVisuals.chestValue.incompleteColor, + newValue -> config.uiAndVisuals.chestValue.incompleteColor = newValue) .controller(ConfigUtils.getEnumDropdownControllerFactory(ConfigUtils.FORMATTING_FORMATTER)) .build()) .build()) //Special Effects .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.specialEffects")) + .name(Text.translatable("skyblocker.option.general.specialEffects")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.specialEffects.rareDungeonDropEffects")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.specialEffects.rareDungeonDropEffects.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.specialEffects.rareDungeonDropEffects")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.specialEffects.rareDungeonDropEffects.@Tooltip"))) .binding(defaults.general.specialEffects.rareDungeonDropEffects, () -> config.general.specialEffects.rareDungeonDropEffects, newValue -> config.general.specialEffects.rareDungeonDropEffects = newValue) @@ -589,17 +591,17 @@ public class GeneralCategory { //Hitboxes .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.hitbox")) + .name(Text.translatable("skyblocker.option.general.hitbox")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.hitbox.oldFarmlandHitbox")) + .name(Text.translatable("skyblocker.option.general.hitbox.oldFarmlandHitbox")) .binding(defaults.general.hitbox.oldFarmlandHitbox, () -> config.general.hitbox.oldFarmlandHitbox, newValue -> config.general.hitbox.oldFarmlandHitbox = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.hitbox.oldLeverHitbox")) + .name(Text.translatable("skyblocker.option.general.hitbox.oldLeverHitbox")) .binding(defaults.general.hitbox.oldLeverHitbox, () -> config.general.hitbox.oldLeverHitbox, newValue -> config.general.hitbox.oldLeverHitbox = newValue) @@ -609,18 +611,18 @@ public class GeneralCategory { //Title Container .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.@Tooltip"))) + .name(Text.translatable("skyblocker.option.general.titleContainer")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.titleContainer.@Tooltip"))) .collapsed(true) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.titleContainerScale")) - .binding(defaults.general.titleContainer.titleContainerScale, - () -> config.general.titleContainer.titleContainerScale, - newValue -> config.general.titleContainer.titleContainerScale = newValue) + .name(Text.translatable("skyblocker.option.general.titleContainer.titleContainerScale")) + .binding(defaults.uiAndVisuals.titleContainer.titleContainerScale, + () -> config.uiAndVisuals.titleContainer.titleContainerScale, + newValue -> config.uiAndVisuals.titleContainer.titleContainerScale = newValue) .controller(opt -> FloatFieldControllerBuilder.create(opt).range(30f, 140f)) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.config")) + .name(Text.translatable("skyblocker.option.general.titleContainer.config")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new TitleContainerConfigScreen(screen))) .build()) @@ -628,144 +630,144 @@ public class GeneralCategory { //Teleport Overlays .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay")) + .name(Text.translatable("skyblocker.option.general.teleportOverlay")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableTeleportOverlays")) - .binding(defaults.general.teleportOverlay.enableTeleportOverlays, - () -> config.general.teleportOverlay.enableTeleportOverlays, - newValue -> config.general.teleportOverlay.enableTeleportOverlays = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableTeleportOverlays")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableTeleportOverlays, + () -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays, + newValue -> config.uiAndVisuals.teleportOverlay.enableTeleportOverlays = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableWeirdTransmission")) - .binding(defaults.general.teleportOverlay.enableWeirdTransmission, - () -> config.general.teleportOverlay.enableWeirdTransmission, - newValue -> config.general.teleportOverlay.enableWeirdTransmission = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWeirdTransmission")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableWeirdTransmission, + () -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission, + newValue -> config.uiAndVisuals.teleportOverlay.enableWeirdTransmission = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableInstantTransmission")) - .binding(defaults.general.teleportOverlay.enableInstantTransmission, - () -> config.general.teleportOverlay.enableInstantTransmission, - newValue -> config.general.teleportOverlay.enableInstantTransmission = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableInstantTransmission")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableInstantTransmission, + () -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission, + newValue -> config.uiAndVisuals.teleportOverlay.enableInstantTransmission = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableEtherTransmission")) - .binding(defaults.general.teleportOverlay.enableEtherTransmission, - () -> config.general.teleportOverlay.enableEtherTransmission, - newValue -> config.general.teleportOverlay.enableEtherTransmission = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableEtherTransmission")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableEtherTransmission, + () -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission, + newValue -> config.uiAndVisuals.teleportOverlay.enableEtherTransmission = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableSinrecallTransmission")) - .binding(defaults.general.teleportOverlay.enableSinrecallTransmission, - () -> config.general.teleportOverlay.enableSinrecallTransmission, - newValue -> config.general.teleportOverlay.enableSinrecallTransmission = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableSinrecallTransmission")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableSinrecallTransmission, + () -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission, + newValue -> config.uiAndVisuals.teleportOverlay.enableSinrecallTransmission = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.teleportOverlay.enableWitherImpact")) - .binding(defaults.general.teleportOverlay.enableWitherImpact, - () -> config.general.teleportOverlay.enableWitherImpact, - newValue -> config.general.teleportOverlay.enableWitherImpact = newValue) + .name(Text.translatable("skyblocker.option.general.teleportOverlay.enableWitherImpact")) + .binding(defaults.uiAndVisuals.teleportOverlay.enableWitherImpact, + () -> config.uiAndVisuals.teleportOverlay.enableWitherImpact, + newValue -> config.uiAndVisuals.teleportOverlay.enableWitherImpact = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Flame Overlay .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.flameOverlay")) + .name(Text.translatable("skyblocker.option.general.flameOverlay")) .collapsed(true) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.flameOverlay.flameHeight")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.flameOverlay.flameHeight.@Tooltip"))) - .binding(defaults.general.flameOverlay.flameHeight, - () -> config.general.flameOverlay.flameHeight, - newValue -> config.general.flameOverlay.flameHeight = newValue) + .name(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameHeight.@Tooltip"))) + .binding(defaults.uiAndVisuals.flameOverlay.flameHeight, + () -> config.uiAndVisuals.flameOverlay.flameHeight, + newValue -> config.uiAndVisuals.flameOverlay.flameHeight = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1)) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.flameOverlay.flameOpacity")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.flameOverlay.flameOpacity.@Tooltip"))) - .binding(defaults.general.flameOverlay.flameOpacity, - () -> config.general.flameOverlay.flameOpacity, - newValue -> config.general.flameOverlay.flameOpacity = newValue) + .name(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.flameOverlay.flameOpacity.@Tooltip"))) + .binding(defaults.uiAndVisuals.flameOverlay.flameOpacity, + () -> config.uiAndVisuals.flameOverlay.flameOpacity, + newValue -> config.uiAndVisuals.flameOverlay.flameOpacity = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 100).step(1)) .build()) .build()) //Search overlay .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay")) + .name(Text.translatable("skyblocker.option.general.searchOverlay")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableBazaar")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableBazaar.@Tooltip"))) - .binding(defaults.general.searchOverlay.enableBazaar, - () -> config.general.searchOverlay.enableBazaar, - newValue -> config.general.searchOverlay.enableBazaar = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableBazaar.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.enableBazaar, + () -> config.uiAndVisuals.searchOverlay.enableBazaar, + newValue -> config.uiAndVisuals.searchOverlay.enableBazaar = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableAuctionHouse")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableAuctionHouse.@Tooltip"))) - .binding(defaults.general.searchOverlay.enableAuctionHouse, - () -> config.general.searchOverlay.enableAuctionHouse, - newValue -> config.general.searchOverlay.enableAuctionHouse = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableAuctionHouse.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.enableAuctionHouse, + () -> config.uiAndVisuals.searchOverlay.enableAuctionHouse, + newValue -> config.uiAndVisuals.searchOverlay.enableAuctionHouse = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.keepPreviousSearches")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.keepPreviousSearches.@Tooltip"))) - .binding(defaults.general.searchOverlay.keepPreviousSearches, - () -> config.general.searchOverlay.keepPreviousSearches, - newValue -> config.general.searchOverlay.keepPreviousSearches = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.keepPreviousSearches.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.keepPreviousSearches, + () -> config.uiAndVisuals.searchOverlay.keepPreviousSearches, + newValue -> config.uiAndVisuals.searchOverlay.keepPreviousSearches = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.maxSuggestions")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.maxSuggestions.@Tooltip"))) - .binding(defaults.general.searchOverlay.maxSuggestions, - () -> config.general.searchOverlay.maxSuggestions, - newValue -> config.general.searchOverlay.maxSuggestions = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.maxSuggestions.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.maxSuggestions, + () -> config.uiAndVisuals.searchOverlay.maxSuggestions, + newValue -> config.uiAndVisuals.searchOverlay.maxSuggestions = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1)) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.historyLength")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.historyLength.@Tooltip"))) - .binding(defaults.general.searchOverlay.historyLength, - () -> config.general.searchOverlay.historyLength, - newValue -> config.general.searchOverlay.historyLength = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.historyLength")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.historyLength.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.historyLength, + () -> config.uiAndVisuals.searchOverlay.historyLength, + newValue -> config.uiAndVisuals.searchOverlay.historyLength = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1)) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableCommands")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.enableCommands.@Tooltip"))) - .binding(defaults.general.searchOverlay.enableCommands, - () -> config.general.searchOverlay.enableCommands, - newValue -> config.general.searchOverlay.enableCommands = newValue) + .name(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.general.searchOverlay.enableCommands.@Tooltip"))) + .binding(defaults.uiAndVisuals.searchOverlay.enableCommands, + () -> config.uiAndVisuals.searchOverlay.enableCommands, + newValue -> config.uiAndVisuals.searchOverlay.enableCommands = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) // Fancy Auction House .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.betterAuctionHouse")) + .name(Text.translatable("skyblocker.option.general.betterAuctionHouse")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.betterAuctionHouse.enabled")) - .binding(defaults.general.fancyAuctionHouse.enabled, - () -> config.general.fancyAuctionHouse.enabled, - newValue -> config.general.fancyAuctionHouse.enabled = newValue) + .name(Text.translatable("skyblocker.option.general.betterAuctionHouse.enabled")) + .binding(defaults.uiAndVisuals.fancyAuctionHouse.enabled, + () -> config.uiAndVisuals.fancyAuctionHouse.enabled, + newValue -> config.uiAndVisuals.fancyAuctionHouse.enabled = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice")) - .binding(defaults.general.fancyAuctionHouse.highlightCheapBIN, - () -> config.general.fancyAuctionHouse.highlightCheapBIN, - newValue -> config.general.fancyAuctionHouse.highlightCheapBIN = newValue) + .name(Text.translatable("skyblocker.option.general.betterAuctionHouse.highlightUnderAvgPrice")) + .binding(defaults.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN, + () -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN, + newValue -> config.uiAndVisuals.fancyAuctionHouse.highlightCheapBIN = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java index e56c9eb0..1be80f70 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java @@ -15,125 +15,125 @@ public class LocationsCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.locations")) + .name(Text.translatable("skyblocker.category.locations")) //Barn .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.barn")) + .name(Text.translatable("skyblocker.option.locations.barn")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.barn.solveHungryHiker")) - .binding(defaults.locations.barn.solveHungryHiker, - () -> config.locations.barn.solveHungryHiker, - newValue -> config.locations.barn.solveHungryHiker = newValue) + .name(Text.translatable("skyblocker.option.locations.barn.solveHungryHiker")) + .binding(defaults.otherLocations.barn.solveHungryHiker, + () -> config.otherLocations.barn.solveHungryHiker, + newValue -> config.otherLocations.barn.solveHungryHiker = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.barn.solveTreasureHunter")) - .binding(defaults.locations.barn.solveTreasureHunter, - () -> config.locations.barn.solveTreasureHunter, - newValue -> config.locations.barn.solveTreasureHunter = newValue) + .name(Text.translatable("skyblocker.option.locations.barn.solveTreasureHunter")) + .binding(defaults.otherLocations.barn.solveTreasureHunter, + () -> config.otherLocations.barn.solveTreasureHunter, + newValue -> config.otherLocations.barn.solveTreasureHunter = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //The Rift .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift")) + .name(Text.translatable("skyblocker.option.locations.rift")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.mirrorverseWaypoints")) - .binding(defaults.locations.rift.mirrorverseWaypoints, - () -> config.locations.rift.mirrorverseWaypoints, - newValue -> config.locations.rift.mirrorverseWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.rift.mirrorverseWaypoints")) + .binding(defaults.otherLocations.rift.mirrorverseWaypoints, + () -> config.otherLocations.rift.mirrorverseWaypoints, + newValue -> config.otherLocations.rift.mirrorverseWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.blobbercystGlow")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.blobbercystGlow.@Tooltip"))) - .binding(defaults.locations.rift.blobbercystGlow, - () -> config.locations.rift.blobbercystGlow, - newValue -> config.locations.rift.blobbercystGlow = newValue) + .name(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.blobbercystGlow.@Tooltip"))) + .binding(defaults.otherLocations.rift.blobbercystGlow, + () -> config.otherLocations.rift.blobbercystGlow, + newValue -> config.otherLocations.rift.blobbercystGlow = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.enigmaSoulWaypoints")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.enigmaSoulWaypoints.@Tooltip"))) - .binding(defaults.locations.rift.enigmaSoulWaypoints, - () -> config.locations.rift.enigmaSoulWaypoints, - newValue -> config.locations.rift.enigmaSoulWaypoints = newValue) + .name(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.enigmaSoulWaypoints.@Tooltip"))) + .binding(defaults.otherLocations.rift.enigmaSoulWaypoints, + () -> config.otherLocations.rift.enigmaSoulWaypoints, + newValue -> config.otherLocations.rift.enigmaSoulWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.highlightFoundEnigmaSouls")) - .binding(defaults.locations.rift.highlightFoundEnigmaSouls, - () -> config.locations.rift.highlightFoundEnigmaSouls, - newValue -> config.locations.rift.highlightFoundEnigmaSouls = newValue) + .name(Text.translatable("skyblocker.option.locations.rift.highlightFoundEnigmaSouls")) + .binding(defaults.otherLocations.rift.highlightFoundEnigmaSouls, + () -> config.otherLocations.rift.highlightFoundEnigmaSouls, + newValue -> config.otherLocations.rift.highlightFoundEnigmaSouls = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.mcGrubberStacks")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.rift.mcGrubberStacks.@Tooltip"))) - .binding(defaults.locations.rift.mcGrubberStacks, - () -> config.locations.rift.mcGrubberStacks, - newValue -> config.locations.rift.mcGrubberStacks = newValue) + .name(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.locations.rift.mcGrubberStacks.@Tooltip"))) + .binding(defaults.otherLocations.rift.mcGrubberStacks, + () -> config.otherLocations.rift.mcGrubberStacks, + newValue -> config.otherLocations.rift.mcGrubberStacks = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(0, 5).step(1)) .build()) .build()) // The end .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end")) + .name(Text.translatable("skyblocker.option.locations.end")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.enableEnderNodeHelper")) - .binding(defaults.locations.end.enableEnderNodeHelper, - () -> config.locations.end.enableEnderNodeHelper, - newValue -> config.locations.end.enableEnderNodeHelper = newValue) + .name(Text.translatable("skyblocker.option.locations.end.enableEnderNodeHelper")) + .binding(defaults.otherLocations.end.enableEnderNodeHelper, + () -> config.otherLocations.end.enableEnderNodeHelper, + newValue -> config.otherLocations.end.enableEnderNodeHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.hudEnabled")) - .binding(defaults.locations.end.hudEnabled, - () -> config.locations.end.hudEnabled, - newValue -> config.locations.end.hudEnabled = newValue) + .name(Text.translatable("skyblocker.option.locations.end.hudEnabled")) + .binding(defaults.otherLocations.end.hudEnabled, + () -> config.otherLocations.end.hudEnabled, + newValue -> config.otherLocations.end.hudEnabled = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.zealotKillsEnabled")) - .binding(defaults.locations.end.zealotKillsEnabled, - () -> config.locations.end.zealotKillsEnabled, + .name(Text.translatable("skyblocker.option.locations.end.zealotKillsEnabled")) + .binding(defaults.otherLocations.end.zealotKillsEnabled, + () -> config.otherLocations.end.zealotKillsEnabled, newValue -> { - config.locations.end.zealotKillsEnabled = newValue; + config.otherLocations.end.zealotKillsEnabled = newValue; EndHudWidget.INSTANCE.update(); }) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.protectorLocationEnable")) - .binding(defaults.locations.end.protectorLocationEnabled, - () -> config.locations.end.protectorLocationEnabled, + .name(Text.translatable("skyblocker.option.locations.end.protectorLocationEnable")) + .binding(defaults.otherLocations.end.protectorLocationEnabled, + () -> config.otherLocations.end.protectorLocationEnabled, newValue -> { - config.locations.end.protectorLocationEnabled = newValue; + config.otherLocations.end.protectorLocationEnabled = newValue; EndHudWidget.INSTANCE.update(); }) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.waypoint")) - .binding(defaults.locations.end.waypoint, - () -> config.locations.end.waypoint, - newValue -> config.locations.end.waypoint = newValue) + .name(Text.translatable("skyblocker.option.locations.end.waypoint")) + .binding(defaults.otherLocations.end.waypoint, + () -> config.otherLocations.end.waypoint, + newValue -> config.otherLocations.end.waypoint = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.screen")) + .name(Text.translatable("skyblocker.option.locations.end.screen")) .text(Text.translatable("text.skyblocker.open")) // Reusing again lol .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new EndHudConfigScreen(screen))) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.end.resetName")) - .text(Text.translatable("text.autoconfig.skyblocker.option.locations.end.resetText")) + .name(Text.translatable("skyblocker.option.locations.end.resetName")) + .text(Text.translatable("skyblocker.option.locations.end.resetText")) .action((screen, opt) -> { TheEnd.zealotsKilled = 0; TheEnd.zealotsSinceLastEye = 0; @@ -146,66 +146,66 @@ public class LocationsCategory { //Spider's Den .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.spidersDen")) + .name(Text.translatable("skyblocker.option.locations.spidersDen")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.spidersDen.relics.enableRelicsHelper")) - .binding(defaults.locations.spidersDen.relics.enableRelicsHelper, - () -> config.locations.spidersDen.relics.enableRelicsHelper, - newValue -> config.locations.spidersDen.relics.enableRelicsHelper = newValue) + .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.enableRelicsHelper")) + .binding(defaults.otherLocations.spidersDen.relics.enableRelicsHelper, + () -> config.otherLocations.spidersDen.relics.enableRelicsHelper, + newValue -> config.otherLocations.spidersDen.relics.enableRelicsHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.spidersDen.relics.highlightFoundRelics")) - .binding(defaults.locations.spidersDen.relics.highlightFoundRelics, - () -> config.locations.spidersDen.relics.highlightFoundRelics, - newValue -> config.locations.spidersDen.relics.highlightFoundRelics = newValue) + .name(Text.translatable("skyblocker.option.locations.spidersDen.relics.highlightFoundRelics")) + .binding(defaults.otherLocations.spidersDen.relics.highlightFoundRelics, + () -> config.otherLocations.spidersDen.relics.highlightFoundRelics, + newValue -> config.otherLocations.spidersDen.relics.highlightFoundRelics = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) //Garden .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden")) + .name(Text.translatable("skyblocker.option.locations.garden")) .collapsed(false) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.farmingHud.enableHud")) - .binding(defaults.locations.garden.farmingHud.enableHud, - () -> config.locations.garden.farmingHud.enableHud, - newValue -> config.locations.garden.farmingHud.enableHud = newValue) + .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.enableHud")) + .binding(defaults.farming.garden.farmingHud.enableHud, + () -> config.farming.garden.farmingHud.enableHud, + newValue -> config.farming.garden.farmingHud.enableHud = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.farmingHud.config")) + .name(Text.translatable("skyblocker.option.locations.garden.farmingHud.config")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new FarmingHudConfigScreen(screen))) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.dicerTitlePrevent")) - .binding(defaults.locations.garden.dicerTitlePrevent, - () -> config.locations.garden.dicerTitlePrevent, - newValue -> config.locations.garden.dicerTitlePrevent = newValue) + .name(Text.translatable("skyblocker.option.locations.garden.dicerTitlePrevent")) + .binding(defaults.farming.garden.dicerTitlePrevent, + () -> config.farming.garden.dicerTitlePrevent, + newValue -> config.farming.garden.dicerTitlePrevent = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.visitorHelper")) - .binding(defaults.locations.garden.visitorHelper, - () -> config.locations.garden.visitorHelper, - newValue -> config.locations.garden.visitorHelper = newValue) + .name(Text.translatable("skyblocker.option.locations.garden.visitorHelper")) + .binding(defaults.farming.garden.visitorHelper, + () -> config.farming.garden.visitorHelper, + newValue -> config.farming.garden.visitorHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.lockMouseTool")) - .binding(defaults.locations.garden.lockMouseTool, - () -> config.locations.garden.lockMouseTool, - newValue -> config.locations.garden.lockMouseTool = newValue) + .name(Text.translatable("skyblocker.option.locations.garden.lockMouseTool")) + .binding(defaults.farming.garden.lockMouseTool, + () -> config.farming.garden.lockMouseTool, + newValue -> config.farming.garden.lockMouseTool = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.locations.garden.lockMouseGround")) - .binding(defaults.locations.garden.lockMouseGroundOnly, - () -> config.locations.garden.lockMouseGroundOnly, - newValue -> config.locations.garden.lockMouseGroundOnly = newValue) + .name(Text.translatable("skyblocker.option.locations.garden.lockMouseGround")) + .binding(defaults.farming.garden.lockMouseGroundOnly, + () -> config.farming.garden.lockMouseGroundOnly, + newValue -> config.farming.garden.lockMouseGroundOnly = newValue) .controller(ConfigUtils::createBooleanController) .build()) .build()) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java index 0f95bcaa..871925d1 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java @@ -3,7 +3,6 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.skyblock.chat.ChatRulesConfigScreen; -import de.hysky.skyblocker.skyblock.dwarven.CrystalsHudConfigScreen; import de.hysky.skyblocker.utils.chat.ChatFilterResult; import dev.isxander.yacl3.api.*; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; @@ -14,115 +13,115 @@ public class MessageFilterCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.messages")) + .name(Text.translatable("skyblocker.category.messages")) //Uncategorized Options .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAbility")) + .name(Text.translatable("skyblocker.option.messages.hideAbility")) .binding(defaults.messages.hideAbility, () -> config.messages.hideAbility, newValue -> config.messages.hideAbility = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideHeal")) + .name(Text.translatable("skyblocker.option.messages.hideHeal")) .binding(defaults.messages.hideHeal, () -> config.messages.hideHeal, newValue -> config.messages.hideHeal = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAOTE")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAOTE.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideAOTE")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideAOTE.@Tooltip"))) .binding(defaults.messages.hideAOTE, () -> config.messages.hideAOTE, newValue -> config.messages.hideAOTE = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideImplosion")) + .name(Text.translatable("skyblocker.option.messages.hideImplosion")) .binding(defaults.messages.hideImplosion, () -> config.messages.hideImplosion, newValue -> config.messages.hideImplosion = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMoltenWave")) + .name(Text.translatable("skyblocker.option.messages.hideMoltenWave")) .binding(defaults.messages.hideMoltenWave, () -> config.messages.hideMoltenWave, newValue -> config.messages.hideMoltenWave = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAds")) + .name(Text.translatable("skyblocker.option.messages.hideAds")) .binding(defaults.messages.hideAds, () -> config.messages.hideAds, newValue -> config.messages.hideAds = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideTeleportPad")) + .name(Text.translatable("skyblocker.option.messages.hideTeleportPad")) .binding(defaults.messages.hideTeleportPad, () -> config.messages.hideTeleportPad, newValue -> config.messages.hideTeleportPad = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideCombo")) + .name(Text.translatable("skyblocker.option.messages.hideCombo")) .binding(defaults.messages.hideCombo, () -> config.messages.hideCombo, newValue -> config.messages.hideCombo = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideAutopet")) + .name(Text.translatable("skyblocker.option.messages.hideAutopet")) .binding(defaults.messages.hideAutopet, () -> config.messages.hideAutopet, newValue -> config.messages.hideAutopet = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideShowOff")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideShowOff.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideShowOff")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideShowOff.@Tooltip"))) .binding(defaults.messages.hideShowOff, () -> config.messages.hideShowOff, newValue -> config.messages.hideShowOff = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideToggleSkyMall")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideToggleSkyMall.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideToggleSkyMall")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideToggleSkyMall.@Tooltip"))) .binding(defaults.messages.hideToggleSkyMall, () -> config.messages.hideToggleSkyMall, newValue -> config.messages.hideToggleSkyMall = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMana")) + .name(Text.translatable("skyblocker.option.messages.hideMana")) .binding(defaults.messages.hideMana, () -> config.messages.hideMana, newValue -> config.messages.hideMana = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMimicKill")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMimicKill.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideMimicKill")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideMimicKill.@Tooltip"))) .binding(defaults.messages.hideMimicKill, () -> config.messages.hideMimicKill, newValue -> config.messages.hideMimicKill = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideDeath")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideDeath.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideDeath")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDeath.@Tooltip"))) .binding(defaults.messages.hideDeath, () -> config.messages.hideDeath, newValue -> config.messages.hideDeath = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) .option(Option.<ChatFilterResult>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideDicer")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideDicer.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.hideDicer")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.hideDicer.@Tooltip"))) .binding(defaults.messages.hideDicer, () -> config.messages.hideDicer, newValue -> config.messages.hideDicer = newValue) @@ -130,24 +129,24 @@ public class MessageFilterCategory { .build()) //chat rules options .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules")) + .name(Text.translatable("skyblocker.option.messages.chatRules")) .collapsed(false) .option(ButtonOption.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen")) + .name(Text.translatable("skyblocker.option.messages.chatRules.screen")) .text(Text.translatable("text.skyblocker.open")) .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new ChatRulesConfigScreen(screen))) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.announcementLength")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.announcementLength.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.chatRules.announcementLength")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementLength.@Tooltip"))) .binding(defaults.messages.chatRuleConfig.announcementLength, () -> config.messages.chatRuleConfig.announcementLength, newValue -> config.messages.chatRuleConfig.announcementLength = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(5, 200).step(1)) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.announcementScale")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.announcementScale.@Tooltip"))) + .name(Text.translatable("skyblocker.option.messages.chatRules.announcementScale")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.messages.chatRules.announcementScale.@Tooltip"))) .binding(defaults.messages.chatRuleConfig.announcementScale, () -> config.messages.chatRuleConfig.announcementScale, newValue -> config.messages.chatRuleConfig.announcementScale = newValue) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java index 4b3c0dfd..7dd41731 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java @@ -14,11 +14,11 @@ public class QuickNavigationCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.quickNav")) + .name(Text.translatable("skyblocker.category.quickNav")) //Toggle .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.enableQuickNav")) + .name(Text.translatable("skyblocker.option.quickNav.enableQuickNav")) .binding(defaults.quickNav.enableQuickNav, () -> config.quickNav.enableQuickNav, newValue -> config.quickNav.enableQuickNav = newValue) @@ -27,46 +27,46 @@ public class QuickNavigationCategory { //Button 1 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 1)) + .name(Text.translatable("skyblocker.option.quickNav.button", 1)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button1.render, () -> config.quickNav.button1.render, newValue -> config.quickNav.button1.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button1.item.itemName, () -> config.quickNav.button1.item.itemName, newValue -> config.quickNav.button1.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button1.item.count, () -> config.quickNav.button1.item.count, newValue -> config.quickNav.button1.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button1.item.nbt, () -> config.quickNav.button1.item.nbt, newValue -> config.quickNav.button1.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button1.uiTitle, () -> config.quickNav.button1.uiTitle, newValue -> config.quickNav.button1.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button1.clickEvent, () -> config.quickNav.button1.clickEvent, newValue -> config.quickNav.button1.clickEvent = newValue) @@ -76,46 +76,46 @@ public class QuickNavigationCategory { //Button 2 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 2)) + .name(Text.translatable("skyblocker.option.quickNav.button", 2)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button2.render, () -> config.quickNav.button2.render, newValue -> config.quickNav.button2.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button2.item.itemName, () -> config.quickNav.button2.item.itemName, newValue -> config.quickNav.button2.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button2.item.count, () -> config.quickNav.button2.item.count, newValue -> config.quickNav.button2.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button2.item.nbt, () -> config.quickNav.button2.item.nbt, newValue -> config.quickNav.button2.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button2.uiTitle, () -> config.quickNav.button2.uiTitle, newValue -> config.quickNav.button2.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button2.clickEvent, () -> config.quickNav.button2.clickEvent, newValue -> config.quickNav.button2.clickEvent = newValue) @@ -125,46 +125,46 @@ public class QuickNavigationCategory { //Button 3 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 3)) + .name(Text.translatable("skyblocker.option.quickNav.button", 3)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button3.render, () -> config.quickNav.button3.render, newValue -> config.quickNav.button3.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button3.item.itemName, () -> config.quickNav.button3.item.itemName, newValue -> config.quickNav.button3.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button3.item.count, () -> config.quickNav.button3.item.count, newValue -> config.quickNav.button3.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button3.item.nbt, () -> config.quickNav.button3.item.nbt, newValue -> config.quickNav.button3.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button3.uiTitle, () -> config.quickNav.button3.uiTitle, newValue -> config.quickNav.button3.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button3.clickEvent, () -> config.quickNav.button3.clickEvent, newValue -> config.quickNav.button3.clickEvent = newValue) @@ -174,46 +174,46 @@ public class QuickNavigationCategory { //Button 4 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 4)) + .name(Text.translatable("skyblocker.option.quickNav.button", 4)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button4.render, () -> config.quickNav.button4.render, newValue -> config.quickNav.button4.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button4.item.itemName, () -> config.quickNav.button4.item.itemName, newValue -> config.quickNav.button4.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button4.item.count, () -> config.quickNav.button4.item.count, newValue -> config.quickNav.button4.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button4.item.nbt, () -> config.quickNav.button4.item.nbt, newValue -> config.quickNav.button4.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button4.uiTitle, () -> config.quickNav.button4.uiTitle, newValue -> config.quickNav.button4.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button4.clickEvent, () -> config.quickNav.button4.clickEvent, newValue -> config.quickNav.button4.clickEvent = newValue) @@ -223,46 +223,46 @@ public class QuickNavigationCategory { //Button 5 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 5)) + .name(Text.translatable("skyblocker.option.quickNav.button", 5)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button5.render, () -> config.quickNav.button5.render, newValue -> config.quickNav.button5.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button5.item.itemName, () -> config.quickNav.button5.item.itemName, newValue -> config.quickNav.button5.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button5.item.count, () -> config.quickNav.button5.item.count, newValue -> config.quickNav.button5.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button5.item.nbt, () -> config.quickNav.button5.item.nbt, newValue -> config.quickNav.button5.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button5.uiTitle, () -> config.quickNav.button5.uiTitle, newValue -> config.quickNav.button5.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button5.clickEvent, () -> config.quickNav.button5.clickEvent, newValue -> config.quickNav.button5.clickEvent = newValue) @@ -272,46 +272,46 @@ public class QuickNavigationCategory { //Button 6 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 6)) + .name(Text.translatable("skyblocker.option.quickNav.button", 6)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button6.render, () -> config.quickNav.button6.render, newValue -> config.quickNav.button6.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button6.item.itemName, () -> config.quickNav.button6.item.itemName, newValue -> config.quickNav.button6.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button6.item.count, () -> config.quickNav.button6.item.count, newValue -> config.quickNav.button6.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button6.item.nbt, () -> config.quickNav.button6.item.nbt, newValue -> config.quickNav.button6.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button6.uiTitle, () -> config.quickNav.button6.uiTitle, newValue -> config.quickNav.button6.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button6.clickEvent, () -> config.quickNav.button6.clickEvent, newValue -> config.quickNav.button6.clickEvent = newValue) @@ -321,46 +321,46 @@ public class QuickNavigationCategory { //Button 7 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 7)) + .name(Text.translatable("skyblocker.option.quickNav.button", 7)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button7.render, () -> config.quickNav.button7.render, newValue -> config.quickNav.button7.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button7.item.itemName, () -> config.quickNav.button7.item.itemName, newValue -> config.quickNav.button7.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button7.item.count, () -> config.quickNav.button7.item.count, newValue -> config.quickNav.button7.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button7.item.nbt, () -> config.quickNav.button7.item.nbt, newValue -> config.quickNav.button7.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button7.uiTitle, () -> config.quickNav.button7.uiTitle, newValue -> config.quickNav.button7.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button7.clickEvent, () -> config.quickNav.button7.clickEvent, newValue -> config.quickNav.button7.clickEvent = newValue) @@ -370,46 +370,46 @@ public class QuickNavigationCategory { //Button 8 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 8)) + .name(Text.translatable("skyblocker.option.quickNav.button", 8)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button8.render, () -> config.quickNav.button8.render, newValue -> config.quickNav.button8.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button8.item.itemName, () -> config.quickNav.button8.item.itemName, newValue -> config.quickNav.button8.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button8.item.count, () -> config.quickNav.button8.item.count, newValue -> config.quickNav.button8.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button8.item.nbt, () -> config.quickNav.button8.item.nbt, newValue -> config.quickNav.button8.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button8.uiTitle, () -> config.quickNav.button8.uiTitle, newValue -> config.quickNav.button8.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button8.clickEvent, () -> config.quickNav.button8.clickEvent, newValue -> config.quickNav.button8.clickEvent = newValue) @@ -419,46 +419,46 @@ public class QuickNavigationCategory { //Button 9 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 9)) + .name(Text.translatable("skyblocker.option.quickNav.button", 9)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button9.render, () -> config.quickNav.button9.render, newValue -> config.quickNav.button9.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button9.item.itemName, () -> config.quickNav.button9.item.itemName, newValue -> config.quickNav.button9.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button9.item.count, () -> config.quickNav.button9.item.count, newValue -> config.quickNav.button9.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button9.item.nbt, () -> config.quickNav.button9.item.nbt, newValue -> config.quickNav.button9.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button9.uiTitle, () -> config.quickNav.button9.uiTitle, newValue -> config.quickNav.button9.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button9.clickEvent, () -> config.quickNav.button9.clickEvent, newValue -> config.quickNav.button9.clickEvent = newValue) @@ -468,46 +468,46 @@ public class QuickNavigationCategory { //Button 10 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 10)) + .name(Text.translatable("skyblocker.option.quickNav.button", 10)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button10.render, () -> config.quickNav.button10.render, newValue -> config.quickNav.button10.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button10.item.itemName, () -> config.quickNav.button10.item.itemName, newValue -> config.quickNav.button10.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button10.item.count, () -> config.quickNav.button10.item.count, newValue -> config.quickNav.button10.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button10.item.nbt, () -> config.quickNav.button10.item.nbt, newValue -> config.quickNav.button10.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button10.uiTitle, () -> config.quickNav.button10.uiTitle, newValue -> config.quickNav.button10.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button10.clickEvent, () -> config.quickNav.button10.clickEvent, newValue -> config.quickNav.button10.clickEvent = newValue) @@ -517,46 +517,46 @@ public class QuickNavigationCategory { //Button 11 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 11)) + .name(Text.translatable("skyblocker.option.quickNav.button", 11)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button11.render, () -> config.quickNav.button11.render, newValue -> config.quickNav.button11.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button11.item.itemName, () -> config.quickNav.button11.item.itemName, newValue -> config.quickNav.button11.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button11.item.count, () -> config.quickNav.button11.item.count, newValue -> config.quickNav.button11.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button11.item.nbt, () -> config.quickNav.button11.item.nbt, newValue -> config.quickNav.button11.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button11.uiTitle, () -> config.quickNav.button11.uiTitle, newValue -> config.quickNav.button11.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button11.clickEvent, () -> config.quickNav.button11.clickEvent, newValue -> config.quickNav.button11.clickEvent = newValue) @@ -566,46 +566,46 @@ public class QuickNavigationCategory { //Button 12 .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button", 12)) + .name(Text.translatable("skyblocker.option.quickNav.button", 12)) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.render")) + .name(Text.translatable("skyblocker.option.quickNav.button.render")) .binding(defaults.quickNav.button12.render, () -> config.quickNav.button12.render, newValue -> config.quickNav.button12.render = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.itemName")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.itemName")) .binding(defaults.quickNav.button12.item.itemName, () -> config.quickNav.button12.item.itemName, newValue -> config.quickNav.button12.item.itemName = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.count")) + .name(Text.translatable("skyblocker.option.quickNav.button.item.count")) .binding(defaults.quickNav.button12.item.count, () -> config.quickNav.button12.item.count, newValue -> config.quickNav.button12.item.count = newValue) .controller(opt -> IntegerFieldControllerBuilder.create(opt).range(1, 64)) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) + .name(Text.translatable("skyblocker.option.quickNav.button.item.nbt")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.quickNav.button.item.nbt.@Tooltip"))) .binding(defaults.quickNav.button12.item.nbt, () -> config.quickNav.button12.item.nbt, newValue -> config.quickNav.button12.item.nbt = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.uiTitle")) + .name(Text.translatable("skyblocker.option.quickNav.button.uiTitle")) .binding(defaults.quickNav.button12.uiTitle, () -> config.quickNav.button12.uiTitle, newValue -> config.quickNav.button12.uiTitle = newValue) .controller(StringControllerBuilder::create) .build()) .option(Option.<String>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.quickNav.button.clickEvent")) + .name(Text.translatable("skyblocker.option.quickNav.button.clickEvent")) .binding(defaults.quickNav.button12.clickEvent, () -> config.quickNav.button12.clickEvent, newValue -> config.quickNav.button12.clickEvent = newValue) diff --git a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java index 005bebab..064b33e3 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java @@ -15,28 +15,28 @@ public class SlayersCategory { public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.category.slayer")) + .name(Text.translatable("skyblocker.category.slayer")) //Enderman Slayer .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.endermanSlayer")) + .name(Text.translatable("skyblocker.option.slayer.endermanSlayer")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.endermanSlayer.enableYangGlyphsNotification")) + .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.enableYangGlyphsNotification")) .binding(defaults.slayer.endermanSlayer.enableYangGlyphsNotification, () -> config.slayer.endermanSlayer.enableYangGlyphsNotification, newValue -> config.slayer.endermanSlayer.enableYangGlyphsNotification = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.endermanSlayer.highlightBeacons")) + .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightBeacons")) .binding(defaults.slayer.endermanSlayer.highlightBeacons, () -> config.slayer.endermanSlayer.highlightBeacons, newValue -> config.slayer.endermanSlayer.highlightBeacons = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.endermanSlayer.highlightNukekubiHeads")) + .name(Text.translatable("skyblocker.option.slayer.endermanSlayer.highlightNukekubiHeads")) .binding(defaults.slayer.endermanSlayer.highlightNukekubiHeads, () -> config.slayer.endermanSlayer.highlightNukekubiHeads, newValue -> config.slayer.endermanSlayer.highlightNukekubiHeads = newValue) @@ -46,91 +46,91 @@ public class SlayersCategory { //Vampire Slayer .group(OptionGroup.createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer")) .collapsed(true) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableEffigyWaypoints")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableEffigyWaypoints")) .binding(defaults.slayer.vampireSlayer.enableEffigyWaypoints, () -> config.slayer.vampireSlayer.enableEffigyWaypoints, newValue -> config.slayer.vampireSlayer.enableEffigyWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.compactEffigyWaypoints")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.compactEffigyWaypoints")) .binding(defaults.slayer.vampireSlayer.compactEffigyWaypoints, () -> config.slayer.vampireSlayer.compactEffigyWaypoints, newValue -> config.slayer.vampireSlayer.compactEffigyWaypoints = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency.@Tooltip"))) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.effigyUpdateFrequency.@Tooltip"))) .binding(defaults.slayer.vampireSlayer.effigyUpdateFrequency, () -> config.slayer.vampireSlayer.effigyUpdateFrequency, newValue -> config.slayer.vampireSlayer.effigyUpdateFrequency = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1)) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableHolyIceIndicator")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHolyIceIndicator")) .binding(defaults.slayer.vampireSlayer.enableHolyIceIndicator, () -> config.slayer.vampireSlayer.enableHolyIceIndicator, newValue -> config.slayer.vampireSlayer.enableHolyIceIndicator = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.holyIceIndicatorTickDelay")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceIndicatorTickDelay")) .binding(defaults.slayer.vampireSlayer.holyIceIndicatorTickDelay, () -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay, newValue -> config.slayer.vampireSlayer.holyIceIndicatorTickDelay = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency.@Tooltip"))) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.holyIceUpdateFrequency.@Tooltip"))) .binding(defaults.slayer.vampireSlayer.holyIceUpdateFrequency, () -> config.slayer.vampireSlayer.holyIceUpdateFrequency, newValue -> config.slayer.vampireSlayer.holyIceUpdateFrequency = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1)) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableHealingMelonIndicator")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableHealingMelonIndicator")) .binding(defaults.slayer.vampireSlayer.enableHealingMelonIndicator, () -> config.slayer.vampireSlayer.enableHealingMelonIndicator, newValue -> config.slayer.vampireSlayer.enableHealingMelonIndicator = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Float>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.healingMelonHealthThreshold")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.healingMelonHealthThreshold")) .binding(defaults.slayer.vampireSlayer.healingMelonHealthThreshold, () -> config.slayer.vampireSlayer.healingMelonHealthThreshold, newValue -> config.slayer.vampireSlayer.healingMelonHealthThreshold = newValue) .controller(FloatFieldControllerBuilder::create) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableSteakStakeIndicator")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableSteakStakeIndicator")) .binding(defaults.slayer.vampireSlayer.enableSteakStakeIndicator, () -> config.slayer.vampireSlayer.enableSteakStakeIndicator, newValue -> config.slayer.vampireSlayer.enableSteakStakeIndicator = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency.@Tooltip"))) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.steakStakeUpdateFrequency.@Tooltip"))) .binding(defaults.slayer.vampireSlayer.steakStakeUpdateFrequency, () -> config.slayer.vampireSlayer.steakStakeUpdateFrequency, newValue -> config.slayer.vampireSlayer.steakStakeUpdateFrequency = newValue) .controller(opt -> IntegerSliderControllerBuilder.create(opt).range(1, 10).step(1)) .build()) .option(Option.<Boolean>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.enableManiaIndicator")) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.enableManiaIndicator")) .binding(defaults.slayer.vampireSlayer.enableManiaIndicator, () -> config.slayer.vampireSlayer.enableManiaIndicator, newValue -> config.slayer.vampireSlayer.enableManiaIndicator = newValue) .controller(ConfigUtils::createBooleanController) .build()) .option(Option.<Integer>createBuilder() - .name(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency")) - .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency.@Tooltip"))) + .name(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency")) + .description(OptionDescription.of(Text.translatable("skyblocker.option.slayer.vampireSlayer.maniaUpdateFrequency.@Tooltip"))) .binding(defaults.slayer.vampireSlayer.maniaUpdateFrequency, () -> config.slayer.vampireSlayer.maniaUpdateFrequency, newValue -> config.slayer.vampireSlayer.maniaUpdateFrequency = newValue) diff --git a/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java new file mode 100644 index 00000000..8dd93aee --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java @@ -0,0 +1,35 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.waypoint.Waypoint; +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class CrimsonIsleConfig { + @SerialEntry + public Kuudra kuudra = new Kuudra(); + + public static class Kuudra { + @SerialEntry + public boolean supplyWaypoints = true; + + @SerialEntry + public boolean fuelWaypoints = true; + + @SerialEntry + public Waypoint.Type suppliesAndFuelWaypointType = Waypoint.Type.WAYPOINT; + + @SerialEntry + public boolean ballistaBuildWaypoints = true; + + @SerialEntry + public boolean safeSpotWaypoints = true; + + @SerialEntry + public boolean pearlWaypoints = true; + + @SerialEntry + public boolean noArrowPoisonWarning = true; + + @SerialEntry + public int arrowPoisonThreshold = 32; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java new file mode 100644 index 00000000..4bf90435 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java @@ -0,0 +1,292 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.waypoint.Waypoint; +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import net.minecraft.util.Formatting; + +public class DungeonsConfig { + @SerialEntry + public boolean fancyPartyFinder = true; + + @SerialEntry + public boolean croesusHelper = true; + + @SerialEntry + public boolean playerSecretsTracker = false; + + @SerialEntry + public boolean starredMobGlow = false; + + @SerialEntry + public boolean starredMobBoundingBoxes = true; + + @SerialEntry + public boolean allowDroppingProtectedItems = false; + + @SerialEntry + public boolean acceptReparty = true; + + @SerialEntry + public DungeonMap dungeonMap = new DungeonMap(); + + @SerialEntry + public PuzzleSolver puzzleSolver = new PuzzleSolver(); + + @SerialEntry + public TheProfessor theProfessor = new TheProfessor(); + + @SerialEntry + public Livid livid = new Livid(); + + @SerialEntry + public Terminals terminals = new Terminals(); + + @SerialEntry + public SecretWaypoints secretWaypoints = new SecretWaypoints(); + + @SerialEntry + public MimicMessage mimicMessage = new MimicMessage(); + + @SerialEntry + public DoorHighlight doorHighlight = new DoorHighlight(); + + @SerialEntry + public DungeonScore dungeonScore = new DungeonScore(); + + @SerialEntry + public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit(); + + public static class DungeonMap { + @SerialEntry + public boolean enableMap = true; + + @SerialEntry + public float mapScaling = 1f; + + @SerialEntry + public int mapX = 2; + + @SerialEntry + public int mapY = 2; + } + + public static class PuzzleSolver { + @SerialEntry + public boolean solveTicTacToe = true; + + @SerialEntry + public boolean solveThreeWeirdos = true; + + @SerialEntry + public boolean creeperSolver = true; + + @SerialEntry + public boolean solveWaterboard = true; + + @SerialEntry + public boolean blazeSolver = true; + + @SerialEntry + public boolean solveBoulder = true; + + @SerialEntry + public boolean solveIceFill = true; + + @SerialEntry + public boolean solveSilverfish = true; + + @SerialEntry + public boolean solveTrivia = true; + } + + public static class TheProfessor { + @SerialEntry + public boolean fireFreezeStaffTimer = true; + + @SerialEntry + public boolean floor3GuardianHealthDisplay = true; + } + + public static class Livid { + @SerialEntry + public boolean enableLividColorGlow = true; + + @SerialEntry + public boolean enableLividColorText = true; + + @SerialEntry + public boolean enableLividColorTitle = true; + + @SerialEntry + public String lividColorText = "The livid color is [color]"; + } + + public static class Terminals { + @SerialEntry + public boolean solveColor = true; + + @SerialEntry + public boolean solveOrder = true; + + @SerialEntry + public boolean solveStartsWith = true; + } + + public static class SecretWaypoints { + @SerialEntry + public boolean enableRoomMatching = true; + + @SerialEntry + public boolean enableSecretWaypoints = true; + + @SerialEntry + public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT; + + @SerialEntry + public boolean showSecretText = true; + + @SerialEntry + public boolean enableEntranceWaypoints = true; + + @SerialEntry + public boolean enableSuperboomWaypoints = true; + + @SerialEntry + public boolean enableChestWaypoints = true; + + @SerialEntry + public boolean enableItemWaypoints = true; + + @SerialEntry + public boolean enableBatWaypoints = true; + + @SerialEntry + public boolean enableWitherWaypoints = true; + + @SerialEntry + public boolean enableLeverWaypoints = true; + + @SerialEntry + public boolean enableFairySoulWaypoints = true; + + @SerialEntry + public boolean enableStonkWaypoints = true; + + @SerialEntry + public boolean enableAotvWaypoints = true; + + @SerialEntry + public boolean enablePearlWaypoints = true; + + @SerialEntry + public boolean enableDefaultWaypoints = true; + } + + public static class MimicMessage { + @SerialEntry + public boolean sendMimicMessage = true; + + @SerialEntry + public String mimicMessage = "Mimic dead!"; + } + + public static class DoorHighlight { + @SerialEntry + public boolean enableDoorHighlight = true; + + @SerialEntry + public Type doorHighlightType = Type.OUTLINED_HIGHLIGHT; + + public enum Type { + HIGHLIGHT, + OUTLINED_HIGHLIGHT, + OUTLINE; + + @Override + public String toString() { + return switch (this) { + case HIGHLIGHT -> "Highlight"; + case OUTLINED_HIGHLIGHT -> "Outlined Highlight"; + case OUTLINE -> "Outline"; + }; + } + } + } + + public static class DungeonScore { + @SerialEntry + public boolean enableDungeonScore270Message = false; + + @SerialEntry + public boolean enableDungeonScore270Title = false; + + @SerialEntry + public boolean enableDungeonScore270Sound = false; + + @SerialEntry + public String dungeonScore270Message = "270 Score Reached!"; + + @SerialEntry + public boolean enableDungeonScore300Message = true; + + @SerialEntry + public boolean enableDungeonScore300Title = true; + + @SerialEntry + public boolean enableDungeonScore300Sound = true; + + @SerialEntry + public String dungeonScore300Message = "300 Score Reached!"; + + @SerialEntry + public boolean enableDungeonCryptsMessage = true; + + @SerialEntry + public int dungeonCryptsMessageThreshold = 250; + + @SerialEntry + public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; + + @SerialEntry + public boolean enableScoreHUD = true; + + @SerialEntry + public int scoreX = 29; + + @SerialEntry + public int scoreY = 134; + + @SerialEntry + public float scoreScaling = 1f; + } + + public static class DungeonChestProfit { + @SerialEntry + public boolean enableProfitCalculator = true; + + @SerialEntry + public boolean includeKismet = false; + + @SerialEntry + public boolean includeEssence = true; + + @SerialEntry + public boolean croesusProfit = true; + + @SerialEntry + public int neutralThreshold = 1000; + + @SerialEntry + public Formatting neutralColor = Formatting.DARK_GRAY; + + @SerialEntry + public Formatting profitColor = Formatting.DARK_GREEN; + + @SerialEntry + public Formatting lossColor = Formatting.RED; + + @SerialEntry + public Formatting incompleteColor = Formatting.BLUE; + } + +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java new file mode 100644 index 00000000..b2faf005 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java @@ -0,0 +1,37 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class FarmingConfig { + + @SerialEntry + public Garden garden = new Garden(); + + public static class Garden { + @SerialEntry + public FarmingHud farmingHud = new FarmingHud(); + + @SerialEntry + public boolean dicerTitlePrevent = true; + + @SerialEntry + public boolean visitorHelper = true; + + @SerialEntry + public boolean lockMouseTool = false; + + @SerialEntry + public boolean lockMouseGroundOnly = false; + } + + public static class FarmingHud { + @SerialEntry + public boolean enableHud = true; + + @SerialEntry + public int x; + + @SerialEntry + public int y; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java new file mode 100644 index 00000000..f4e65e36 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java @@ -0,0 +1,220 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.skyblock.item.CustomArmorAnimatedDyes; +import de.hysky.skyblocker.skyblock.item.CustomArmorTrims; +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.ArrayList; +import java.util.List; + +public class GeneralConfig { + @SerialEntry + public boolean enableTips = true; + + @SerialEntry + public boolean hideEmptyTooltips = true; + + @SerialEntry + public Shortcuts shortcuts = new Shortcuts(); + + @SerialEntry + public QuiverWarning quiverWarning = new QuiverWarning(); + + @SerialEntry + public ItemList itemList = new ItemList(); + + @SerialEntry + public ItemTooltip itemTooltip = new ItemTooltip(); + + @SerialEntry + public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay(); + + @SerialEntry + public ItemProtection itemProtection = new ItemProtection(); + + @SerialEntry + public WikiLookup wikiLookup = new WikiLookup(); + + @SerialEntry + public SpecialEffects specialEffects = new SpecialEffects(); + + @SerialEntry + public Hitbox hitbox = new Hitbox(); + + @SerialEntry + public List<Integer> lockedSlots = new ArrayList<>(); + + //maybe put this 5 somewhere else + @SerialEntry + public ObjectOpenHashSet<String> protectedItems = new ObjectOpenHashSet<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, Text> customItemNames = new Object2ObjectOpenHashMap<>(); + + @SerialEntry + public Object2IntOpenHashMap<String> customDyeColors = new Object2IntOpenHashMap<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, CustomArmorTrims.ArmorTrimId> customArmorTrims = new Object2ObjectOpenHashMap<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, CustomArmorAnimatedDyes.AnimatedDye> customAnimatedDyes = new Object2ObjectOpenHashMap<>(); + + public static class Shortcuts { + @SerialEntry + public boolean enableShortcuts = true; + + @SerialEntry + public boolean enableCommandShortcuts = true; + + @SerialEntry + public boolean enableCommandArgShortcuts = true; + } + + + public static class QuiverWarning { + @SerialEntry + public boolean enableQuiverWarning = true; + + @SerialEntry + public boolean enableQuiverWarningInDungeons = true; + + @SerialEntry + public boolean enableQuiverWarningAfterDungeon = true; + } + + public static class ItemList { + @SerialEntry + public boolean enableItemList = true; + } + + public static class ItemTooltip { + @SerialEntry + public boolean enableNPCPrice = true; + + @SerialEntry + public boolean enableMotesPrice = true; + + @SerialEntry + public boolean enableAvgBIN = true; + + @SerialEntry + public Average avg = Average.THREE_DAY; + + @SerialEntry + public boolean enableLowestBIN = true; + + @SerialEntry + public boolean enableBazaarPrice = true; + + @SerialEntry + public boolean enableObtainedDate = true; + + @SerialEntry + public boolean enableMuseumInfo = true; + + @SerialEntry + public boolean enableExoticTooltip = true; + + @SerialEntry + public boolean enableAccessoriesHelper = true; + + @SerialEntry + public boolean dungeonQuality = true; + } + + public enum Average { + ONE_DAY, THREE_DAY, BOTH; + + @Override + public String toString() { + return I18n.translate("skyblocker.option.general.itemTooltip.avg." + name()); + } + } + + public static class ItemInfoDisplay { + @SerialEntry + public boolean attributeShardInfo = true; + + @SerialEntry + public boolean itemRarityBackgrounds = false; + + @SerialEntry + public RarityBackgroundStyle itemRarityBackgroundStyle = RarityBackgroundStyle.CIRCULAR; + + @SerialEntry + public float itemRarityBackgroundsOpacity = 1f; + } + + public enum RarityBackgroundStyle { + CIRCULAR(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), + SQUARE(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); + + public final Identifier tex; + + RarityBackgroundStyle(Identifier tex) { + this.tex = tex; + } + + @Override + public String toString() { + return switch (this) { + case CIRCULAR -> "Circular"; + case SQUARE -> "Square"; + }; + } + } + + public static class ItemProtection { + @SerialEntry + public SlotLockStyle slotLockStyle = SlotLockStyle.FANCY; + } + + public enum SlotLockStyle { + CLASSIC(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png")), + FANCY(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/fancy_slot_lock.png")); + + public final Identifier tex; + + SlotLockStyle(Identifier tex) { + this.tex = tex; + } + + @Override + public String toString() { + return switch (this) { + case CLASSIC -> "Classic"; + case FANCY -> "FANCY"; + }; + } + } + + public static class WikiLookup { + @SerialEntry + public boolean enableWikiLookup = true; + + @SerialEntry + public boolean officialWiki = true; + } + + public static class SpecialEffects { + @SerialEntry + public boolean rareDungeonDropEffects = true; + } + + public static class Hitbox { + @SerialEntry + public boolean oldFarmlandHitbox = false; + + @SerialEntry + public boolean oldLeverHitbox = false; + } + +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java new file mode 100644 index 00000000..2abff6ac --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java @@ -0,0 +1,65 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class HelperConfig { + + @SerialEntry + public boolean enableNewYearCakesHelper = true; + + @SerialEntry + public MythologicalRitual mythologicalRitual = new MythologicalRitual(); + + @SerialEntry + public Experiments experiments = new Experiments(); + + @SerialEntry + public Fishing fishing = new Fishing(); + + @SerialEntry + public FairySouls fairySouls = new FairySouls(); + + public static class MythologicalRitual { + @SerialEntry + public boolean enableMythologicalRitualHelper = true; + } + + public static class Experiments { + @SerialEntry + public boolean enableChronomatronSolver = true; + + @SerialEntry + public boolean enableSuperpairsSolver = true; + + @SerialEntry + public boolean enableUltrasequencerSolver = true; + } + + public static class Fishing { + @SerialEntry + public boolean enableFishingHelper = true; + + @SerialEntry + public boolean enableFishingTimer = false; + + @SerialEntry + public boolean changeTimerColor = true; + + @SerialEntry + public float fishingTimerScale = 1f; + + @SerialEntry + public boolean hideOtherPlayersRods = false; + } + + public static class FairySouls { + @SerialEntry + public boolean enableFairySoulsHelper = false; + + @SerialEntry + public boolean highlightFoundSouls = true; + + @SerialEntry + public boolean highlightOnlyNearbySouls = false; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java new file mode 100644 index 00000000..8fdf1422 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java @@ -0,0 +1,61 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.chat.ChatFilterResult; +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class MessagesConfig { + @SerialEntry + public ChatFilterResult hideAbility = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideHeal = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAOTE = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideImplosion = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAds = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideCombo = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideShowOff = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideMimicKill = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideDeath = ChatFilterResult.PASS; + + @SerialEntry + public boolean hideMana = false; + + @SerialEntry + public ChatFilterResult hideDicer = ChatFilterResult.PASS; + + @SerialEntry + public ChatRuleConfig chatRuleConfig = new ChatRuleConfig(); + + public static class ChatRuleConfig { + @SerialEntry + public int announcementLength = 60; + @SerialEntry + public int announcementScale = 3; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java new file mode 100644 index 00000000..0964a7f8 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java @@ -0,0 +1,100 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class MiningConfig { + @SerialEntry + public boolean enableDrillFuel = true; + + @SerialEntry + public DwarvenMines dwarvenMines = new DwarvenMines(); + + @SerialEntry + public DwarvenHud dwarvenHud = new DwarvenHud(); + + @SerialEntry + public CrystalHollows crystalHollows = new CrystalHollows(); + + @SerialEntry + public CrystalsHud crystalsHud = new CrystalsHud(); + + @SerialEntry + public CrystalsWaypoints crystalsWaypoints = new CrystalsWaypoints(); + + public static class DwarvenMines { + @SerialEntry + public boolean solveFetchur = true; + + @SerialEntry + public boolean solvePuzzler = true; + } + + public static class DwarvenHud { + @SerialEntry + public boolean enabledCommissions = true; + + @SerialEntry + public boolean enabledPowder = true; + + @SerialEntry + public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 10; + + @SerialEntry + public int powderX = 10; + + @SerialEntry + public int powderY = 70; + } + + public static class CrystalHollows { + @SerialEntry + public boolean metalDetectorHelper = true; + } + + public static class CrystalsHud { + @SerialEntry + public boolean enabled = true; + + @SerialEntry + public boolean showLocations = true; + + @SerialEntry + public int locationSize = 8; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 130; + + @SerialEntry + public float mapScaling = 1f; + } + + public static class CrystalsWaypoints { + @SerialEntry + public boolean enabled = true; + + @SerialEntry + public boolean findInChat = true; + } + + public enum DwarvenHudStyle { + SIMPLE, FANCY, CLASSIC; + + @Override + public String toString() { + return switch (this) { + case SIMPLE -> "Simple"; + case FANCY -> "Fancy"; + case CLASSIC -> "Classic"; + }; + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java new file mode 100644 index 00000000..de321431 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java @@ -0,0 +1,35 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import net.minecraft.client.resource.language.I18n; + +public class MiscConfig { + @SerialEntry + public boolean hideStatusEffectOverlay = false; + + @SerialEntry + public RichPresence richPresence = new RichPresence(); + + public static class RichPresence { + @SerialEntry + public boolean enableRichPresence = false; + + @SerialEntry + public Info info = Info.LOCATION; + + @SerialEntry + public boolean cycleMode = false; + + @SerialEntry + public String customMessage = "Playing Skyblock"; + } + + public enum Info { + PURSE, BITS, LOCATION; + + @Override + public String toString() { + return I18n.translate("skyblocker.option.richPresence.info." + name()); + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java new file mode 100644 index 00000000..5bc1c4b7 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java @@ -0,0 +1,79 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class OtherLocationsConfig { + + @SerialEntry + public Barn barn = new Barn(); + + @SerialEntry + public Rift rift = new Rift(); + + @SerialEntry + public TheEnd end = new TheEnd(); + + @SerialEntry + public SpidersDen spidersDen = new SpidersDen(); + + public static class Barn { + @SerialEntry + public boolean solveHungryHiker = true; + + @SerialEntry + public boolean solveTreasureHunter = true; + } + + public static class Rift { + @SerialEntry + public boolean mirrorverseWaypoints = true; + + @SerialEntry + public boolean blobbercystGlow = true; + + @SerialEntry + public boolean enigmaSoulWaypoints = false; + + @SerialEntry + public boolean highlightFoundEnigmaSouls = true; + + @SerialEntry + public int mcGrubberStacks = 0; + } + + public static class TheEnd { + @SerialEntry + public boolean enableEnderNodeHelper = true; + + @SerialEntry + public boolean hudEnabled = true; + + @SerialEntry + public boolean zealotKillsEnabled = true; + + @SerialEntry + public boolean protectorLocationEnabled = true; + + @SerialEntry + public boolean waypoint = true; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 10; + } + + public static class SpidersDen { + @SerialEntry + public Relics relics = new Relics(); + } + + public static class Relics { + @SerialEntry + public boolean enableRelicsHelper = false; + + @SerialEntry + public boolean highlightFoundRelics = true; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java new file mode 100644 index 00000000..6927be08 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java @@ -0,0 +1,181 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class QuickNavConfig { + @SerialEntry + public boolean enableQuickNav = true; + + @SerialEntry + public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + + @SerialEntry + public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); + + /* REGEX Explanation + * "Pets" : simple match on letters + * "(?: \\(\\d+\\/\\d+\\))?" : optional match on the non-capturing group for the page in the format " ($number/$number)" + */ + @SerialEntry + public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "Pets(:? \\(\\d+\\/\\d+\\))?", "/pets"); + + /* REGEX Explanation + * "Wardrobe" : simple match on letters + * " \\([12]\\/2\\)" : match on the page either " (1/2)" or " (2/2)" + */ + @SerialEntry + public QuickNavItem button4 = new QuickNavItem(true, + new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", + "/wardrobe"); + + @SerialEntry + public QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-2081424676,-57521078,-2073572414,158072763],Properties:{textures:[{Value:\"ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=\"}]}}}"), + "Sack of Sacks", "/sacks"); + + /* REGEX Explanation + * "(?:Rift )?" : optional match on the non-capturing group "Rift " + * "Storage" : simple match on letters + * "(?: \\([12]\\/2\\))?" : optional match on the non-capturing group " (1/2)" or " (2/2)" + */ + @SerialEntry + public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), + "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage"); + + @SerialEntry + public QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), + "none", "/hub"); + + @SerialEntry + public QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), + "none", "/warp dungeon_hub"); + + @SerialEntry + public QuickNavItem button9 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-562285948,532499670,-1705302742,775653035],Properties:{textures:[{Value:\"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjVkZjU1NTkyNjQzMGQ1ZDc1YWRlZDIxZGQ5NjE5Yjc2YzViN2NhMmM3ZjU0MDE0NDA1MjNkNTNhOGJjZmFhYiJ9fX0=\"}]}}}"), + "Visit prtl", "/visit prtl"); + + @SerialEntry + public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", + "/etable"); + + + @SerialEntry + public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); + + @SerialEntry + public QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); + + public static class QuickNav { + @SerialEntry + public boolean enableQuickNav = true; + + @SerialEntry + public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + + @SerialEntry + public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); + + /* REGEX Explanation + * "Pets" : simple match on letters + * "(?: \\(\\d+\\/\\d+\\))?" : optional match on the non-capturing group for the page in the format " ($number/$number)" + */ + @SerialEntry + public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "Pets(:? \\(\\d+\\/\\d+\\))?", "/pets"); + + /* REGEX Explanation + * "Wardrobe" : simple match on letters + * " \\([12]\\/2\\)" : match on the page either " (1/2)" or " (2/2)" + */ + @SerialEntry + public QuickNavItem button4 = new QuickNavItem(true, + new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", + "/wardrobe"); + + @SerialEntry + public QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-2081424676,-57521078,-2073572414,158072763],Properties:{textures:[{Value:\"ewogICJ0aW1lc3RhbXAiIDogMTU5MTMxMDU4NTYwOSwKICAicHJvZmlsZUlkIiA6ICI0MWQzYWJjMmQ3NDk0MDBjOTA5MGQ1NDM0ZDAzODMxYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNZWdha2xvb24iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBhMDc3ZTI0OGQxNDI3NzJlYTgwMDg2NGY4YzU3OGI5ZDM2ODg1YjI5ZGFmODM2YjY0YTcwNjg4MmI2ZWMxMCIKICAgIH0KICB9Cn0=\"}]}}}"), + "Sack of Sacks", "/sacks"); + + /* REGEX Explanation + * "(?:Rift )?" : optional match on the non-capturing group "Rift " + * "Storage" : simple match on letters + * "(?: \\([12]\\/2\\))?" : optional match on the non-capturing group " (1/2)" or " (2/2)" + */ + @SerialEntry + public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), + "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage"); + + @SerialEntry + public QuickNavItem button7 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-300151517,-631415889,-1193921967,-1821784279],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDdjYzY2ODc0MjNkMDU3MGQ1NTZhYzUzZTA2NzZjYjU2M2JiZGQ5NzE3Y2Q4MjY5YmRlYmVkNmY2ZDRlN2JmOCJ9fX0=\"}]}}}"), + "none", "/hub"); + + @SerialEntry + public QuickNavItem button8 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;1605800870,415127827,-1236127084,15358548],Properties:{textures:[{Value:\"e3RleHR1cmVzOntTS0lOOnt1cmw6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzg5MWQ1YjI3M2ZmMGJjNTBjOTYwYjJjZDg2ZWVmMWM0MGExYjk0MDMyYWU3MWU3NTQ3NWE1NjhhODI1NzQyMSJ9fX0=\"}]}}}"), + "none", "/warp dungeon_hub"); + + @SerialEntry + public QuickNavItem button9 = new QuickNavItem(true, new ItemData("player_head", 1, + "tag:{SkullOwner:{Id:[I;-562285948,532499670,-1705302742,775653035],Properties:{textures:[{Value:\"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjVkZjU1NTkyNjQzMGQ1ZDc1YWRlZDIxZGQ5NjE5Yjc2YzViN2NhMmM3ZjU0MDE0NDA1MjNkNTNhOGJjZmFhYiJ9fX0=\"}]}}}"), + "Visit prtl", "/visit prtl"); + + @SerialEntry + public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", + "/etable"); + + + @SerialEntry + public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); + + @SerialEntry + public QuickNavItem button12 = new QuickNavItem(true, new ItemData("crafting_table"), "Craft Item", "/craft"); + } + + public static class QuickNavItem { + public QuickNavItem(Boolean render, ItemData itemData, String uiTitle, String clickEvent) { + this.render = render; + this.item = itemData; + this.clickEvent = clickEvent; + this.uiTitle = uiTitle; + } + + @SerialEntry + public Boolean render; + + @SerialEntry + public ItemData item; + + @SerialEntry + public String uiTitle; + + @SerialEntry + public String clickEvent; + } + + public static class ItemData { + public ItemData(String itemName, int count, String nbt) { + this.itemName = itemName; + this.count = count; + this.nbt = nbt; + } + + public ItemData(String itemName) { + this.itemName = itemName; + this.count = 1; + this.nbt = ""; + } + + @SerialEntry + public String itemName; + + @SerialEntry + public int count; + + @SerialEntry + public String nbt; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java new file mode 100644 index 00000000..c5b3283a --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java @@ -0,0 +1,60 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class SlayerConfig { + @SerialEntry + public EndermanSlayer endermanSlayer = new EndermanSlayer(); + + @SerialEntry + public VampireSlayer vampireSlayer = new VampireSlayer(); + + public static class EndermanSlayer { + @SerialEntry + public boolean enableYangGlyphsNotification = true; + + @SerialEntry + public boolean highlightBeacons = true; + + @SerialEntry + public boolean highlightNukekubiHeads = true; + } + + public static class VampireSlayer { + @SerialEntry + public boolean enableEffigyWaypoints = true; + + @SerialEntry + public boolean compactEffigyWaypoints; + + @SerialEntry + public int effigyUpdateFrequency = 5; + + @SerialEntry + public boolean enableHolyIceIndicator = true; + + @SerialEntry + public int holyIceIndicatorTickDelay = 10; + + @SerialEntry + public int holyIceUpdateFrequency = 5; + + @SerialEntry + public boolean enableHealingMelonIndicator = true; + + @SerialEntry + public float healingMelonHealthThreshold = 4f; + + @SerialEntry + public boolean enableSteakStakeIndicator = true; + + @SerialEntry + public int steakStakeUpdateFrequency = 5; + + @SerialEntry + public boolean enableManiaIndicator = true; + + @SerialEntry + public int maniaUpdateFrequency = 5; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java new file mode 100644 index 00000000..8d4fac97 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java @@ -0,0 +1,244 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.waypoint.Waypoint; +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import net.minecraft.util.Formatting; + +import java.util.ArrayList; +import java.util.List; + +public class UiAndVisualsConfig { + @SerialEntry + public boolean compactorDeletorPreview = true; + + @SerialEntry + public boolean dontStripSkinAlphaValues = true; + + @SerialEntry + public boolean backpackPreviewWithoutShift = false; + + @SerialEntry + public boolean fancyCraftingTable = true; + + @SerialEntry + public ChestValue chestValue = new ChestValue(); + + @SerialEntry + public ItemCooldown itemCooldown = new ItemCooldown(); + + @SerialEntry + public TitleContainer titleContainer = new TitleContainer(); + + @SerialEntry + public TabHudConf tabHud = new TabHudConf(); + + @SerialEntry + public FancyAuctionHouse fancyAuctionHouse = new FancyAuctionHouse(); + + @SerialEntry + public Bars bars = new Bars(); + + @SerialEntry + public Waypoints waypoints = new Waypoints(); + + @SerialEntry + public TeleportOverlay teleportOverlay = new TeleportOverlay(); + + @SerialEntry + public SearchOverlay searchOverlay = new SearchOverlay(); + + @SerialEntry + public FlameOverlay flameOverlay = new FlameOverlay(); + + public static class ChestValue { + @SerialEntry + public boolean enableChestValue = true; + + @SerialEntry + public Formatting color = Formatting.DARK_GREEN; + + @SerialEntry + public Formatting incompleteColor = Formatting.BLUE; + } + + public static class ItemCooldown { + @SerialEntry + public boolean enableItemCooldowns = true; + } + + public static class TitleContainer { + @SerialEntry + public float titleContainerScale = 100; + + @SerialEntry + public int x = 540; + + @SerialEntry + public int y = 10; + + @SerialEntry + public Direction direction = Direction.HORIZONTAL; + + @SerialEntry + public Alignment alignment = Alignment.MIDDLE; + } + + public enum Direction { + HORIZONTAL, VERTICAL; + + @Override + public String toString() { + return switch (this) { + case HORIZONTAL -> "Horizontal"; + case VERTICAL -> "Vertical"; + }; + } + } + + public enum Alignment { + LEFT, RIGHT, MIDDLE; + + @Override + public String toString() { + return switch (this) { + case LEFT -> "Left"; + case RIGHT -> "Right"; + case MIDDLE -> "Middle"; + }; + } + } + + public static class TabHudConf { + @SerialEntry + public boolean tabHudEnabled = true; + + @SerialEntry + public int tabHudScale = 100; + + @SerialEntry + public boolean enableHudBackground = true; + + @SerialEntry + public boolean plainPlayerNames = false; + + @SerialEntry + public NameSorting nameSorting = NameSorting.DEFAULT; + } + + public enum NameSorting { + DEFAULT, ALPHABETICAL; + + @Override + public String toString() { + return switch (this) { + case DEFAULT -> "Default"; + case ALPHABETICAL -> "Alphabetical"; + }; + } + } + + public static class FancyAuctionHouse { + @SerialEntry + public boolean enabled = true; + + @SerialEntry + public boolean highlightCheapBIN = true; + } + + public static class Bars { + @SerialEntry + public boolean enableBars = true; + + // Kept in for backwards compatibility, remove if needed + @SerialEntry + public OldBarPositions barPositions = new OldBarPositions(); + } + + /** + * Backwards compat + */ + public static class OldBarPositions { + @SerialEntry + public OldBarPosition healthBarPosition = OldBarPosition.LAYER1; + + @SerialEntry + public OldBarPosition manaBarPosition = OldBarPosition.LAYER1; + + @SerialEntry + public OldBarPosition defenceBarPosition = OldBarPosition.LAYER1; + + @SerialEntry + public OldBarPosition experienceBarPosition = OldBarPosition.LAYER1; + + } + + /** + * Backwards compat + */ + public enum OldBarPosition { + LAYER1, LAYER2, RIGHT, NONE + } + + public static class Waypoints { + @SerialEntry + public boolean enableWaypoints = true; + + @SerialEntry + public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT; + } + + public static class TeleportOverlay { + @SerialEntry + public boolean enableTeleportOverlays = true; + + @SerialEntry + public boolean enableWeirdTransmission = true; + + @SerialEntry + public boolean enableInstantTransmission = true; + + @SerialEntry + public boolean enableEtherTransmission = true; + + @SerialEntry + public boolean enableSinrecallTransmission = true; + + @SerialEntry + public boolean enableWitherImpact = true; + } + + public static class SearchOverlay { + @SerialEntry + public boolean enableBazaar = true; + + @SerialEntry + public boolean enableAuctionHouse = true; + + @SerialEntry + public boolean keepPreviousSearches = false; + + @SerialEntry + public int maxSuggestions = 3; + + @SerialEntry + public int historyLength = 3; + + @SerialEntry + public boolean enableCommands = false; + + @SerialEntry + public List<String> bazaarHistory = new ArrayList<>(); + + @SerialEntry + public List<String> auctionHistory = new ArrayList<>(); + } + + public static class FlameOverlay { + @SerialEntry + public int flameHeight = 100; + + @SerialEntry + public int flameOpacity = 100; + } + +} |