aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorYasin <a.piri@hotmail.de>2024-05-08 00:07:04 +0200
committerYasin <a.piri@hotmail.de>2024-05-08 00:07:04 +0200
commit15bf2503e0147aeb06ebae2922ecede237983d5c (patch)
tree827bb279c18a6394959008a661290c94d3d0e7a7 /src/main/java/de
parent9807bacfb9b2d7ef6a84e158ec21efea343128a7 (diff)
downloadSkyblocker-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')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/HudConfigScreen.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java1285
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfigManager.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/CrimsonIsleCategory.java74
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DiscordRPCCategory.java39
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java643
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java134
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java602
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/LocationsCategory.java178
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java57
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/QuickNavigationCategory.java196
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/SlayersCategory.java44
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java35
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java292
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java37
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java220
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java65
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java61
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java100
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java35
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java79
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java181
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/SlayerConfig.java60
-rw-r--r--src/main/java/de/hysky/skyblocker/config/configs/UiAndVisualsConfig.java244
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/AbstractInventoryScreenMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java14
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/InGameOverlayRendererMixin.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PlayerListHudMixin.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/PlayerSkinTextureMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixins/RenderFishMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleConfigScreen.java100
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigListWidget.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/ArrowPoisonWarning.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java24
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java26
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/GuardianHealth.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java11
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/DungeonBlaze.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java9
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java36
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java12
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudConfigScreen.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/LowerSensitivity.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java21
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipInfoType.java22
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/EnigmaSouls.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java21
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/waypoint/FairySouls.java7
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/waypoint/Relics.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java27
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java29
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java63
120 files changed, 2836 insertions, 2646 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;
+ }
+
+}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/AbstractInventoryScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/AbstractInventoryScreenMixin.java
index 53151826..b0e26575 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/AbstractInventoryScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/AbstractInventoryScreenMixin.java
@@ -14,6 +14,6 @@ public class AbstractInventoryScreenMixin {
@Inject(method = "drawStatusEffects", at = @At("HEAD"), cancellable = true)
private void skyblocker$dontDrawStatusEffects(CallbackInfo ci) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hideStatusEffectOverlay) ci.cancel();
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().misc.hideStatusEffectOverlay) ci.cancel();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java
index d4c930d2..0da6abfb 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/ClientPlayerEntityMixin.java
@@ -38,7 +38,7 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
@Inject(method = "dropSelectedItem", at = @At("HEAD"), cancellable = true)
public void skyblocker$dropSelectedItem(CallbackInfoReturnable<Boolean> cir) {
if (Utils.isOnSkyblock() && (ItemProtection.isItemProtected(this.getInventory().getMainHandStack()) || HotbarSlotLock.isLocked(this.getInventory().selectedSlot))
- && (!SkyblockerConfigManager.get().locations.dungeons.allowDroppingProtectedItems || !Utils.isInDungeons())) {
+ && (!SkyblockerConfigManager.get().dungeons.allowDroppingProtectedItems || !Utils.isInDungeons())) {
cir.setReturnValue(false);
}
}
@@ -64,13 +64,13 @@ public abstract class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
// Search Overlay
if (client.currentScreen != null) {
- if (SkyblockerConfigManager.get().general.searchOverlay.enableAuctionHouse && client.currentScreen.getTitle().getString().toLowerCase().contains("auction")) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.enableAuctionHouse && client.currentScreen.getTitle().getString().toLowerCase().contains("auction")) {
if (sign.getText(front).getMessage(3, false).getString().equalsIgnoreCase("enter query")) {
SearchOverManager.updateSign(sign, front, true);
client.setScreen(new OverlayScreen(Text.of("")));
callbackInfo.cancel();
}
- } else if (SkyblockerConfigManager.get().general.searchOverlay.enableBazaar && client.currentScreen.getTitle().getString().toLowerCase().contains("bazaar")) {
+ } else if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.enableBazaar && client.currentScreen.getTitle().getString().toLowerCase().contains("bazaar")) {
if (sign.getText(front).getMessage(3, false).getString().equalsIgnoreCase("enter query")) {
SearchOverManager.updateSign(sign, front, false);
client.setScreen(new OverlayScreen(Text.of("")));
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java
index 9ae25d85..46207669 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java
@@ -109,7 +109,7 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen
@Inject(at = @At("HEAD"), method = "mouseClicked")
public void skyblocker$mouseClicked(double mouseX, double mouseY, int button, CallbackInfoReturnable<Boolean> cir) {
- if (SkyblockerConfigManager.get().locations.garden.visitorHelper && (Utils.getLocationRaw().equals("garden") && !getTitle().getString().contains("Logbook") || getTitle().getString().startsWith("Bazaar")))
+ if (SkyblockerConfigManager.get().farming.garden.visitorHelper && (Utils.getLocationRaw().equals("garden") && !getTitle().getString().contains("Logbook") || getTitle().getString().startsWith("Bazaar")))
VisitorHelper.onMouseClicked(mouseX, mouseY, button, this.textRenderer);
}
@@ -125,13 +125,13 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen
}
// Backpack Preview
- boolean shiftDown = SkyblockerConfigManager.get().general.backpackPreviewWithoutShift ^ Screen.hasShiftDown();
+ boolean shiftDown = SkyblockerConfigManager.get().uiAndVisuals.backpackPreviewWithoutShift ^ Screen.hasShiftDown();
if (shiftDown && getTitle().getString().equals("Storage") && focusedSlot.inventory != client.player.getInventory() && BackpackPreview.renderPreview(context, this, focusedSlot.getIndex(), x, y)) {
ci.cancel();
}
// Compactor Preview
- if (SkyblockerConfigManager.get().general.compactorDeletorPreview) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.compactorDeletorPreview) {
Matcher matcher = CompactorDeletorPreview.NAME.matcher(ItemUtils.getItemId(stack));
if (matcher.matches() && CompactorDeletorPreview.drawPreview(context, stack, matcher.group("type"), matcher.group("size"), x, y)) {
ci.cancel();
@@ -187,7 +187,7 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen
// Prevent clicks on filler items
if (SkyblockerConfigManager.get().general.hideEmptyTooltips && FILLER_ITEMS.contains(stack.getName().getString()) &&
// Allow clicks in Ultrasequencer and Superpairs
- (!UltrasequencerSolver.INSTANCE.getName().matcher(title).matches() || SkyblockerConfigManager.get().general.experiments.enableUltrasequencerSolver)) {
+ (!UltrasequencerSolver.INSTANCE.getName().matcher(title).matches() || SkyblockerConfigManager.get().helper.experiments.enableUltrasequencerSolver)) {
ci.cancel();
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java
index da87c2a3..fde54425 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenProviderMixin.java
@@ -34,10 +34,10 @@ public interface HandledScreenProviderMixin<T extends ScreenHandler> {
switch (screenHandler) {
// Better party finder
- case GenericContainerScreenHandler ignored when SkyblockerConfigManager.get().general.betterPartyFinder && nameLowercase.contains("select tier") -> PartyFinderScreen.isInKuudraPartyFinder = true;
- case GenericContainerScreenHandler ignored when SkyblockerConfigManager.get().general.betterPartyFinder && nameLowercase.contains("catacombs") -> PartyFinderScreen.isInKuudraPartyFinder = false;
+ case GenericContainerScreenHandler ignored when SkyblockerConfigManager.get().dungeons.fancyPartyFinder && nameLowercase.contains("select tier") -> PartyFinderScreen.isInKuudraPartyFinder = true;
+ case GenericContainerScreenHandler ignored when SkyblockerConfigManager.get().dungeons.fancyPartyFinder && nameLowercase.contains("catacombs") -> PartyFinderScreen.isInKuudraPartyFinder = false;
- case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().general.betterPartyFinder && PartyFinderScreen.possibleInventoryNames.contains(nameLowercase) -> {
+ case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().dungeons.fancyPartyFinder && PartyFinderScreen.possibleInventoryNames.contains(nameLowercase) -> {
if (client.currentScreen != null) {
String lowerCase = client.currentScreen.getTitle().getString().toLowerCase();
if (lowerCase.contains("group builder")) return;
@@ -55,7 +55,7 @@ public interface HandledScreenProviderMixin<T extends ScreenHandler> {
}
// Fancy AH
- case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && (nameLowercase.contains("auctions browser") || nameLowercase.contains("auctions: ")) -> {
+ case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().uiAndVisuals.fancyAuctionHouse.enabled && (nameLowercase.contains("auctions browser") || nameLowercase.contains("auctions: ")) -> {
AuctionHouseScreenHandler auctionHouseScreenHandler = AuctionHouseScreenHandler.of(containerScreenHandler, false);
client.player.currentScreenHandler = auctionHouseScreenHandler;
@@ -67,7 +67,7 @@ public interface HandledScreenProviderMixin<T extends ScreenHandler> {
ci.cancel();
}
- case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && nameLowercase.contains("auction view") -> {
+ case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().uiAndVisuals.fancyAuctionHouse.enabled && nameLowercase.contains("auction view") -> {
AuctionHouseScreenHandler auctionHouseScreenHandler = AuctionHouseScreenHandler.of(containerScreenHandler, true);
client.player.currentScreenHandler = auctionHouseScreenHandler;
@@ -79,14 +79,14 @@ public interface HandledScreenProviderMixin<T extends ScreenHandler> {
ci.cancel();
}
- case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().general.fancyAuctionHouse.enabled && (nameLowercase.contains("confirm purchase") || nameLowercase.contains("confirm bid")) && client.currentScreen instanceof AuctionViewScreen auctionViewScreen -> {
+ case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().uiAndVisuals.fancyAuctionHouse.enabled && (nameLowercase.contains("confirm purchase") || nameLowercase.contains("confirm bid")) && client.currentScreen instanceof AuctionViewScreen auctionViewScreen -> {
client.setScreen(auctionViewScreen.getConfirmPurchasePopup(name));
client.player.currentScreenHandler = containerScreenHandler;
ci.cancel();
}
// Fancy crafting table
- case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().general.fancyCraftingTable && name.getString().toLowerCase().contains("craft item") -> {
+ case GenericContainerScreenHandler containerScreenHandler when SkyblockerConfigManager.get().uiAndVisuals.fancyCraftingTable && name.getString().toLowerCase().contains("craft item") -> {
SkyblockCraftingTableScreenHandler skyblockCraftingTableScreenHandler = new SkyblockCraftingTableScreenHandler(containerScreenHandler, player.getInventory());
client.player.currentScreenHandler = skyblockCraftingTableScreenHandler;
client.setScreen(new SkyblockCraftingTableScreen(skyblockCraftingTableScreenHandler, player.getInventory(), Text.literal("Craft Item")));
diff --git a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
index 897b98b3..30f1626f 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/InGameHudMixin.java
@@ -79,7 +79,7 @@ public abstract class InGameHudMixin {
@Inject(method = { "renderExperienceBar", "renderExperienceLevel" }, at = @At("HEAD"), cancellable = true)
private void skyblocker$renderExperienceBar(CallbackInfo ci) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.bars.enableBars && !Utils.isInTheRift())
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().uiAndVisuals.bars.enableBars && !Utils.isInTheRift())
ci.cancel();
}
@@ -93,13 +93,13 @@ public abstract class InGameHudMixin {
@Inject(method = "renderMountHealth", at = @At("HEAD"), cancellable = true)
private void skyblocker$renderMountHealth(CallbackInfo ci) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.bars.enableBars && !Utils.isInTheRift())
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().uiAndVisuals.bars.enableBars && !Utils.isInTheRift())
ci.cancel();
}
@Inject(method = "renderStatusEffectOverlay", at = @At("HEAD"), cancellable = true)
private void skyblocker$dontRenderStatusEffects(CallbackInfo ci) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hideStatusEffectOverlay) ci.cancel();
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().misc.hideStatusEffectOverlay) ci.cancel();
}
@ModifyExpressionValue(method = "renderCrosshair", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;getAttackCooldownProgress(F)F"))
@@ -116,7 +116,7 @@ public abstract class InGameHudMixin {
@Inject(method = "setTitle", at = @At("HEAD"), cancellable = true)
private void skyblocker$dicerTitlePrevent(Text title, CallbackInfo ci) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().locations.garden.dicerTitlePrevent && title != null && DICER_TITLE_BLACKLIST.matcher(title.getString()).matches()) {
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().farming.garden.dicerTitlePrevent && title != null && DICER_TITLE_BLACKLIST.matcher(title.getString()).matches()) {
ci.cancel();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/InGameOverlayRendererMixin.java b/src/main/java/de/hysky/skyblocker/mixins/InGameOverlayRendererMixin.java
index c7704558..d3b79efe 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/InGameOverlayRendererMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/InGameOverlayRendererMixin.java
@@ -11,12 +11,12 @@ public class InGameOverlayRendererMixin {
@ModifyArg(method = "renderFireOverlay", index = 2, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/BufferBuilder;vertex(Lorg/joml/Matrix4f;FFF)Lnet/minecraft/client/render/VertexConsumer;"))
private static float configureFlameHeight(float y) {
- return y - (0.5f - ((float) SkyblockerConfigManager.get().general.flameOverlay.flameHeight / 200.0f));
+ return y - (0.5f - ((float) SkyblockerConfigManager.get().uiAndVisuals.flameOverlay.flameHeight / 200.0f));
}
@ModifyArg(method = "renderFireOverlay", index = 3, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/VertexConsumer;color(FFFF)Lnet/minecraft/client/render/VertexConsumer;"))
private static float configureFlameOpacity(float opacity) {
- return opacity - (0.8f - ((float) SkyblockerConfigManager.get().general.flameOverlay.flameOpacity / 125.0f));
+ return opacity - (0.8f - ((float) SkyblockerConfigManager.get().uiAndVisuals.flameOverlay.flameOpacity / 125.0f));
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java b/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java
index 3ebfc439..878a93ac 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/ItemStackMixin.java
@@ -87,7 +87,7 @@ public abstract class ItemStackMixin {
@Unique
private boolean skyblocker$shouldProcess() {
- return Utils.isOnSkyblock() && SkyblockerConfigManager.get().locations.dwarvenMines.enableDrillFuel && ItemUtils.hasCustomDurability((ItemStack) (Object) this);
+ return Utils.isOnSkyblock() && SkyblockerConfigManager.get().mining.enableDrillFuel && ItemUtils.hasCustomDurability((ItemStack) (Object) this);
}
@Unique
diff --git a/src/main/java/de/hysky/skyblocker/mixins/PlayerListHudMixin.java b/src/main/java/de/hysky/skyblocker/mixins/PlayerListHudMixin.java
index a1a9116c..a96a7727 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/PlayerListHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/PlayerListHudMixin.java
@@ -28,7 +28,7 @@ public class PlayerListHudMixin {
@Inject(at = @At("HEAD"), method = "render", cancellable = true)
public void skyblocker$renderTabHud(CallbackInfo info, @Local(argsOnly = true) DrawContext context, @Local(argsOnly = true) int w) {
- if (!Utils.isInDungeons() || !SkyblockerConfigManager.get().general.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed()) {
+ if (!Utils.isInDungeons() || !SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed()) {
return;
}
@@ -38,7 +38,7 @@ public class PlayerListHudMixin {
}
int h = MinecraftClient.getInstance().getWindow().getScaledHeight();
- float scale = SkyblockerConfigManager.get().general.tabHud.tabHudScale / 100f;
+ float scale = SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudScale / 100f;
w = (int) (w / scale);
h = (int) (h / scale);
diff --git a/src/main/java/de/hysky/skyblocker/mixins/PlayerSkinTextureMixin.java b/src/main/java/de/hysky/skyblocker/mixins/PlayerSkinTextureMixin.java
index f9e2c8cd..828d32e3 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/PlayerSkinTextureMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/PlayerSkinTextureMixin.java
@@ -35,6 +35,6 @@ public class PlayerSkinTextureMixin {
@WrapWithCondition(method = "remapTexture", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/texture/PlayerSkinTexture;stripAlpha(Lnet/minecraft/client/texture/NativeImage;IIII)V"))
private boolean skyblocker$dontStripAlphaValues(NativeImage image, int x1, int y1, int x2, int y2) {
- return !(SkyblockerConfigManager.get().general.dontStripSkinAlphaValues && this.isSkyblockSkinTexture);
+ return !(SkyblockerConfigManager.get().uiAndVisuals.dontStripSkinAlphaValues && this.isSkyblockSkinTexture);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/mixins/RenderFishMixin.java b/src/main/java/de/hysky/skyblocker/mixins/RenderFishMixin.java
index 71e7f56f..66449b24 100644
--- a/src/main/java/de/hysky/skyblocker/mixins/RenderFishMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixins/RenderFishMixin.java
@@ -19,7 +19,7 @@ public abstract class RenderFishMixin {
@Inject(method = "render", at = @At("HEAD"), cancellable = true)
private void skyblocker$render(FishingBobberEntity fishingBobberEntity, float f, float g, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int i, CallbackInfo ci) {
//if rendered bobber is not the players and option to hide others is enabled do not render the bobber
- if (Utils.isOnSkyblock() && fishingBobberEntity.getPlayerOwner() != MinecraftClient.getInstance().player && SkyblockerConfigManager.get().general.fishing.hideOtherPlayersRods) {
+ if (Utils.isOnSkyblock() && fishingBobberEntity.getPlayerOwner() != MinecraftClient.getInstance().player && SkyblockerConfigManager.get().helper.fishing.hideOtherPlayersRods) {
ci.cancel();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
index e04a30ef..2c958c0a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/ChestValue.java
@@ -3,6 +3,8 @@ package de.hysky.skyblocker.skyblock;
import com.google.gson.JsonObject;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.DungeonsConfig;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor;
import de.hysky.skyblocker.mixins.accessors.ScreenAccessor;
import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
@@ -42,12 +44,12 @@ public class ChestValue {
Text title = screen.getTitle();
String titleString = title.getString();
if (DUNGEON_CHESTS.contains(titleString)) {
- if (SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator) {
+ if (SkyblockerConfigManager.get().dungeons.dungeonChestProfit.enableProfitCalculator) {
ScreenEvents.afterTick(screen).register(screen_ ->
((ScreenAccessor) screen).setTitle(getDungeonChestProfit(genericContainerScreen.getScreenHandler(), title, titleString, client))
);
}
- } else if (SkyblockerConfigManager.get().general.chestValue.enableChestValue && !titleString.equals("SkyBlock Menu")) {
+ } else if (SkyblockerConfigManager.get().uiAndVisuals.chestValue.enableChestValue && !titleString.equals("SkyBlock Menu")) {
Screens.getButtons(screen).add(ButtonWidget
.builder(Text.literal("$"), buttonWidget -> {
Screens.getButtons(screen).remove(buttonWidget);
@@ -56,7 +58,7 @@ public class ChestValue {
);
})
.dimensions(((HandledScreenAccessor) genericContainerScreen).getX() + ((HandledScreenAccessor) genericContainerScreen).getBackgroundWidth() - 16, ((HandledScreenAccessor) genericContainerScreen).getY() + 4, 12, 12)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.general.chestValue.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.general.chestValue.@Tooltip")))
.build()
);
}
@@ -95,7 +97,7 @@ public class ChestValue {
}
//Essence price
- if (name.contains("Essence") && SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.includeEssence) {
+ if (name.contains("Essence") && SkyblockerConfigManager.get().dungeons.dungeonChestProfit.includeEssence) {
Matcher matcher = ESSENCE_PATTERN.matcher(name);
if (matcher.matches()) {
@@ -131,7 +133,7 @@ public class ChestValue {
}
}
- if (SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.includeKismet && usedKismet) {
+ if (SkyblockerConfigManager.get().dungeons.dungeonChestProfit.includeKismet && usedKismet) {
LongBooleanPair kismetPriceData = getItemPrice("KISMET_FEATHER");
if (!kismetPriceData.rightBoolean()) hasIncompleteData = true;
@@ -210,12 +212,12 @@ public class ChestValue {
}
static Text getProfitText(long profit, boolean hasIncompleteData) {
- SkyblockerConfig.DungeonChestProfit config = SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit;
+ DungeonsConfig.DungeonChestProfit config = SkyblockerConfigManager.get().dungeons.dungeonChestProfit;
return Text.literal((profit > 0 ? " +" : ' ') + FORMATTER.format(profit) + " Coins").formatted(hasIncompleteData ? config.incompleteColor : (Math.abs(profit) < config.neutralThreshold) ? config.neutralColor : (profit > 0) ? config.profitColor : config.lossColor);
}
static Text getValueText(long value, boolean hasIncompleteData) {
- SkyblockerConfig.ChestValue config = SkyblockerConfigManager.get().general.chestValue;
+ UiAndVisualsConfig.ChestValue config = SkyblockerConfigManager.get().uiAndVisuals.chestValue;
return Text.literal(' ' + FORMATTER.format(value) + " Coins").formatted(hasIncompleteData ? config.incompleteColor : config.color);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
index 7676860f..3f4c8269 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/FishingHelper.java
@@ -61,7 +61,7 @@ public class FishingHelper {
public static void onSound(PlaySoundS2CPacket packet) {
String path = packet.getSound().value().getId().getPath();
- if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTimeFish != 0 && System.currentTimeMillis() >= startTimeFish + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) {
+ if (SkyblockerConfigManager.get().helper.fishing.enableFishingHelper && startTimeFish != 0 && System.currentTimeMillis() >= startTimeFish + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null && player.fishHook != null) {
Vec3d soundToFishHook = player.fishHook.getPos().subtract(packet.getX(), 0, packet.getZ());
@@ -76,15 +76,15 @@ public class FishingHelper {
}
public static void render(WorldRenderContext context) {
- if (SkyblockerConfigManager.get().general.fishing.enableFishingTimer && startTime != 0) {
+ if (SkyblockerConfigManager.get().helper.fishing.enableFishingTimer && startTime != 0) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null && player.fishHook != null) {
float time = (int) ((System.currentTimeMillis() - startTime) / 100f) / 10f; //leave 1dp in seconds
- float scale = SkyblockerConfigManager.get().general.fishing.fishingTimerScale;
+ float scale = SkyblockerConfigManager.get().helper.fishing.fishingTimerScale;
Vec3d pos = player.fishHook.getPos().add(0, 0.4 + scale / 10, 0);
Text text;
- if (time >= 20 && SkyblockerConfigManager.get().general.fishing.changeTimerColor) {
+ if (time >= 20 && SkyblockerConfigManager.get().helper.fishing.changeTimerColor) {
text = Text.literal(String.valueOf(time)).formatted(Formatting.GREEN);
} else {
text = Text.literal(String.valueOf(time));
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java
index c31e2107..46ae9f3e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/StatusBarTracker.java
@@ -72,7 +72,7 @@ public class StatusBarTracker {
}
private Text onOverlayMessage(Text text, boolean overlay) {
- if (!overlay || !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().general.bars.enableBars || Utils.isInTheRift()) {
+ if (!overlay || !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().uiAndVisuals.bars.enableBars || Utils.isInTheRift()) {
return text;
}
return Text.of(update(text.getString(), SkyblockerConfigManager.get().messages.hideMana));
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
index f7f9836c..042b126b 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/TeleportOverlay.java
@@ -25,7 +25,7 @@ public class TeleportOverlay {
}
private static void render(WorldRenderContext wrc) {
- if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.teleportOverlay.enableTeleportOverlays && client.player != null && client.world != null) {
+ if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableTeleportOverlays && client.player != null && client.world != null) {
ItemStack heldItem = client.player.getMainHandStack();
String itemId = ItemTooltip.getInternalNameFromNBT(heldItem, true);
NbtCompound customData = ItemUtils.getCustomData(heldItem);
@@ -33,34 +33,34 @@ public class TeleportOverlay {
if (itemId != null) {
switch (itemId) {
case "ASPECT_OF_THE_LEECH_1" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableWeirdTransmission) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableWeirdTransmission) {
render(wrc, 3);
}
}
case "ASPECT_OF_THE_LEECH_2" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableWeirdTransmission) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableWeirdTransmission) {
render(wrc, 4);
}
}
case "ASPECT_OF_THE_END", "ASPECT_OF_THE_VOID" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && customData != null && customData.getInt("ethermerge") == 1) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && customData != null && customData.getInt("ethermerge") == 1) {
render(wrc, customData, 57);
- } else if (SkyblockerConfigManager.get().general.teleportOverlay.enableInstantTransmission) {
+ } else if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableInstantTransmission) {
render(wrc, customData, 8);
}
}
case "ETHERWARP_CONDUIT" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableEtherTransmission) {
render(wrc, customData, 57);
}
}
case "SINSEEKER_SCYTHE" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableSinrecallTransmission) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableSinrecallTransmission) {
render(wrc, customData, 4);
}
}
case "NECRON_BLADE", "ASTRAEA", "HYPERION", "SCYLLA", "VALKYRIE" -> {
- if (SkyblockerConfigManager.get().general.teleportOverlay.enableWitherImpact) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.teleportOverlay.enableWitherImpact) {
render(wrc, 10);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java
index 9b2080a3..8023ae05 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakeBagHelper.java
@@ -17,7 +17,7 @@ public class NewYearCakeBagHelper extends ContainerSolver {
@Override
protected boolean isEnabled() {
- return SkyblockerConfigManager.get().general.enableNewYearCakesHelper;
+ return SkyblockerConfigManager.get().helper.enableNewYearCakesHelper;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java
index 2fdcf3b4..1860dbc9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/accessories/newyearcakes/NewYearCakesHelper.java
@@ -50,7 +50,7 @@ public class NewYearCakesHelper extends ContainerSolver {
@Override
protected boolean isEnabled() {
- return SkyblockerConfigManager.get().general.enableNewYearCakesHelper;
+ return SkyblockerConfigManager.get().helper.enableNewYearCakesHelper;
}
public boolean addCake(int year) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
index 10823418..dc1eade5 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/AuctionBrowserScreen.java
@@ -171,7 +171,7 @@ public class AuctionBrowserScreen extends AbstractCustomHypixelGUI<AuctionHouseS
@Override
protected void drawSlot(DrawContext context, Slot slot) {
- if (SkyblockerConfigManager.get().general.fancyAuctionHouse.highlightCheapBIN && slot.hasStack() && isSlotHighlighted.getOrDefault(slot.id, false)) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.fancyAuctionHouse.highlightCheapBIN && slot.hasStack() && isSlotHighlighted.getOrDefault(slot.id, false)) {
context.drawBorder(slot.x, slot.y, 16, 16, new Color(0, 255, 0, 100).getRGB());
}
super.drawSlot(context, slot);
@@ -284,7 +284,7 @@ public class AuctionBrowserScreen extends AbstractCustomHypixelGUI<AuctionHouseS
} else categoryTabWidget.setToggled(false);
}
} else if (slotId > 9 && slotId < (handler.getRows() - 1) * 9 && slotId % 9 > 1 && slotId % 9 < 8) {
- if (!SkyblockerConfigManager.get().general.fancyAuctionHouse.highlightCheapBIN) return;
+ if (!SkyblockerConfigManager.get().uiAndVisuals.fancyAuctionHouse.highlightCheapBIN) return;
List<Text> tooltip = ItemUtils.getLore(stack);
for (int k = tooltip.size() - 1; k >= 0; k--) {
Text text = tooltip.get(k);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java
index 4a0213c1..828b68c3 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/HungryHiker.java
@@ -19,7 +19,7 @@ public class HungryHiker extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().otherLocations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java
index 032c7df9..3b41af31 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/barn/TreasureHunter.java
@@ -18,7 +18,7 @@ public class TreasureHunter extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.barn.solveTreasureHunter ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().otherLocations.barn.solveTreasureHunter ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleConfigScreen.java
index c99aeed8..634ea932 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRuleConfigScreen.java
@@ -24,13 +24,13 @@ public class ChatRuleConfigScreen extends Screen {
private static final int SPACER_Y = 25;
private final Map<MutableText, SoundEvent> soundsLookup = Map.ofEntries(
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.pling"), SoundEvents.BLOCK_NOTE_BLOCK_PLING.value()),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.cave"), SoundEvents.AMBIENT_CAVE.value()),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.zombie"), SoundEvents.ENTITY_ZOMBIE_AMBIENT),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.crit"), SoundEvents.ENTITY_PLAYER_ATTACK_CRIT),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.arrowHit"), SoundEvents.ENTITY_ARROW_HIT_PLAYER),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.amethyst"), SoundEvents.BLOCK_AMETHYST_BLOCK_HIT),
- entry(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.anvil"), SoundEvents.BLOCK_ANVIL_LAND)
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.pling"), SoundEvents.BLOCK_NOTE_BLOCK_PLING.value()),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.cave"), SoundEvents.AMBIENT_CAVE.value()),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.zombie"), SoundEvents.ENTITY_ZOMBIE_AMBIENT),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.crit"), SoundEvents.ENTITY_PLAYER_ATTACK_CRIT),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.arrowHit"), SoundEvents.ENTITY_ARROW_HIT_PLAYER),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.amethyst"), SoundEvents.BLOCK_AMETHYST_BLOCK_HIT),
+ entry(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.anvil"), SoundEvents.BLOCK_ANVIL_LAND)
);
private int buttonWidth = 75;
@@ -69,7 +69,7 @@ public class ChatRuleConfigScreen extends Screen {
private final Screen parent;
public ChatRuleConfigScreen(Screen parent, int chatRuleIndex) {
- super(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen"));
+ super(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen"));
this.chatRuleIndex = chatRuleIndex;
this.chatRule = ChatRulesHandler.chatRuleList.get(chatRuleIndex);
this.parent = parent;
@@ -101,63 +101,63 @@ public class ChatRuleConfigScreen extends Screen {
int lineXOffset;
nameLabelTextPos = currentPos;
- lineXOffset = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.name")) + SPACER_X;
+ lineXOffset = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.name")) + SPACER_X;
nameInput = new TextFieldWidget(client.textRenderer, currentPos.leftInt() + lineXOffset, currentPos.rightInt(), 100, 20, Text.of(""));
nameInput.setText(chatRule.getName());
- nameInput.setTooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.name.@Tooltip")));
+ nameInput.setTooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.name.@Tooltip")));
currentPos = IntIntPair.of(currentPos.leftInt(), currentPos.rightInt() + SPACER_Y);
inputsLabelTextPos = currentPos;
currentPos = IntIntPair.of(currentPos.leftInt() + 10, currentPos.rightInt() + SPACER_Y);
filterLabelTextPos = currentPos;
- lineXOffset = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.filter")) + SPACER_X;
+ lineXOffset = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.filter")) + SPACER_X;
filterInput = new TextFieldWidget(client.textRenderer, currentPos.leftInt() + lineXOffset, currentPos.rightInt(), 200, 20, Text.of(""));
filterInput.setMaxLength(96);
filterInput.setText(chatRule.getFilter());
- filterInput.setTooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.filter.@Tooltip")));
+ filterInput.setTooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.filter.@Tooltip")));
currentPos = IntIntPair.of(currentPos.leftInt(),currentPos.rightInt() + SPACER_Y);
lineXOffset = 0;
partialMatchTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset, currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch")) + SPACER_X;
partialMatchToggle = ButtonWidget.builder(enabledButtonText(chatRule.getPartialMatch()), a -> {
chatRule.setPartialMatch(!chatRule.getPartialMatch());
partialMatchToggle.setMessage(enabledButtonText(chatRule.getPartialMatch()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch.@Tooltip")))
.build();
lineXOffset += buttonWidth + SPACER_X;
regexTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset,currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.regex")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.regex")) + SPACER_X;
regexToggle = ButtonWidget.builder(enabledButtonText(chatRule.getRegex()), a -> {
chatRule.setRegex(!chatRule.getRegex());
regexToggle.setMessage(enabledButtonText(chatRule.getRegex()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.regex.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.regex.@Tooltip")))
.build();
lineXOffset += buttonWidth + SPACER_X;
ignoreCaseTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset,currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase")) + SPACER_X;
ignoreCaseToggle = ButtonWidget.builder(enabledButtonText(chatRule.getIgnoreCase()), a -> {
chatRule.setIgnoreCase(!chatRule.getIgnoreCase());
ignoreCaseToggle.setMessage(enabledButtonText(chatRule.getIgnoreCase()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase.@Tooltip")))
.build();
currentPos = IntIntPair.of(currentPos.leftInt(), currentPos.rightInt() + SPACER_Y);
locationLabelTextPos = currentPos;
- lineXOffset = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.locations")) + SPACER_X;
+ lineXOffset = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.locations")) + SPACER_X;
locationsInput = new TextFieldWidget(client.textRenderer, currentPos.leftInt() + lineXOffset, currentPos.rightInt(), 200, 20, Text.of(""));
locationsInput.setText(chatRule.getValidLocations());
- MutableText locationToolTip = Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.locations.@Tooltip");
+ MutableText locationToolTip = Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.locations.@Tooltip");
locationToolTip.append("\n");
ChatRulesHandler.locationsList.forEach(location -> locationToolTip.append(" " + location + ",\n"));
locationsInput.setTooltip(Tooltip.of(locationToolTip));
@@ -167,42 +167,42 @@ public class ChatRuleConfigScreen extends Screen {
currentPos = IntIntPair.of(currentPos.leftInt(), currentPos.rightInt() + SPACER_Y);
hideMessageTextPos = currentPos;
- lineXOffset = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage")) + SPACER_X;
+ lineXOffset = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage")) + SPACER_X;
hideMessageToggle = ButtonWidget.builder(enabledButtonText(chatRule.getHideMessage()), a -> {
chatRule.setHideMessage(!chatRule.getHideMessage());
hideMessageToggle.setMessage(enabledButtonText(chatRule.getHideMessage()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage.@Tooltip")))
.build();
lineXOffset += buttonWidth + SPACER_X;
actionBarTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset,currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar")) + SPACER_X;
actionBarToggle = ButtonWidget.builder(enabledButtonText(chatRule.getShowActionBar()), a -> {
chatRule.setShowActionBar(!chatRule.getShowActionBar());
actionBarToggle.setMessage(enabledButtonText(chatRule.getShowActionBar()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar.@Tooltip")))
.build();
lineXOffset = 0;
currentPos = IntIntPair.of(currentPos.leftInt(), currentPos.rightInt() + SPACER_Y);
announcementTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset, currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.announcement")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.announcement")) + SPACER_X;
announcementToggle = ButtonWidget.builder(enabledButtonText(chatRule.getShowAnnouncement()), a -> {
chatRule.setShowAnnouncement(!chatRule.getShowAnnouncement());
announcementToggle.setMessage(enabledButtonText(chatRule.getShowAnnouncement()));
})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.announcement.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.announcement.@Tooltip")))
.build();
lineXOffset += buttonWidth + SPACER_X;
customSoundLabelTextPos = IntIntPair.of(currentPos.leftInt() + lineXOffset,currentPos.rightInt());
- lineXOffset += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds")) + SPACER_X;
+ lineXOffset += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds")) + SPACER_X;
soundsToggle = ButtonWidget.builder(getSoundName(), a -> {
currentSoundIndex += 1;
if (currentSoundIndex == soundsLookup.size()) {
@@ -217,18 +217,18 @@ public class ChatRuleConfigScreen extends Screen {
}})
.position(currentPos.leftInt() + lineXOffset, currentPos.rightInt())
.size(buttonWidth,20)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.@Tooltip")))
.build();
currentPos = IntIntPair.of(currentPos.leftInt(), currentPos.rightInt() + SPACER_Y);
replaceMessageLabelTextPos = currentPos;
- lineXOffset = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.replace")) + SPACER_X;
+ lineXOffset = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.replace")) + SPACER_X;
replaceMessageInput = new TextFieldWidget(client.textRenderer, currentPos.leftInt() + lineXOffset, currentPos.rightInt(), 200, 20, Text.of(""));
replaceMessageInput.setMaxLength(96);
- replaceMessageInput.setTooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.replace.@Tooltip")));
+ replaceMessageInput.setTooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.replace.@Tooltip")));
replaceMessageInput.setText(chatRule.getReplaceMessage());
- ButtonWidget finishButton = ButtonWidget.builder(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.finish"), a -> close())
+ ButtonWidget finishButton = ButtonWidget.builder(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.finish"), a -> close())
.position(this.width - buttonWidth - SPACER_Y, this.height - SPACER_Y)
.size(buttonWidth, 20)
.build();
@@ -266,9 +266,9 @@ public class ChatRuleConfigScreen extends Screen {
private int getMaxUsedWidth() {
if (client == null) return 0;
//text
- int total = client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch"));
- total += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.regex"));
- total += client.textRenderer.getWidth(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase"));
+ int total = client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch"));
+ total += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.regex"));
+ total += client.textRenderer.getWidth(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase"));
//space
total += SPACER_X * 6;
//button width
@@ -287,9 +287,9 @@ public class ChatRuleConfigScreen extends Screen {
private Text enabledButtonText(boolean enabled) {
if (enabled) {
- return Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.true").withColor(Color.GREEN.getRGB());
+ return Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.true").withColor(Color.GREEN.getRGB());
} else {
- return Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.false").withColor(Color.RED.getRGB());
+ return Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.false").withColor(Color.RED.getRGB());
}
}
@@ -300,19 +300,19 @@ public class ChatRuleConfigScreen extends Screen {
//draw labels ands text
int yOffset = (SPACER_Y - this.textRenderer.fontHeight) / 2;
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.inputs"), inputsLabelTextPos.leftInt(), inputsLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.name"), nameLabelTextPos.leftInt(), nameLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.filter"), filterLabelTextPos.leftInt(), filterLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch"), partialMatchTextPos.leftInt(), partialMatchTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.regex"), regexTextPos.leftInt(), regexTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase"), ignoreCaseTextPos.leftInt(), ignoreCaseTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.locations"), locationLabelTextPos.leftInt(), locationLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.outputs"), outputsLabelTextPos.leftInt(), outputsLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage"), hideMessageTextPos.leftInt(), hideMessageTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar"), actionBarTextPos.leftInt(), actionBarTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.announcement"), announcementTextPos.leftInt(), announcementTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds"), customSoundLabelTextPos.leftInt(), customSoundLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
- context.drawTextWithShadow(this.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.replace"), replaceMessageLabelTextPos.leftInt(), replaceMessageLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.inputs"), inputsLabelTextPos.leftInt(), inputsLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.name"), nameLabelTextPos.leftInt(), nameLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.filter"), filterLabelTextPos.leftInt(), filterLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.partialMatch"), partialMatchTextPos.leftInt(), partialMatchTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.regex"), regexTextPos.leftInt(), regexTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.ignoreCase"), ignoreCaseTextPos.leftInt(), ignoreCaseTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.locations"), locationLabelTextPos.leftInt(), locationLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.outputs"), outputsLabelTextPos.leftInt(), outputsLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.hideMessage"), hideMessageTextPos.leftInt(), hideMessageTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.actionBar"), actionBarTextPos.leftInt(), actionBarTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.announcement"), announcementTextPos.leftInt(), announcementTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds"), customSoundLabelTextPos.leftInt(), customSoundLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
+ context.drawTextWithShadow(this.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.replace"), replaceMessageLabelTextPos.leftInt(), replaceMessageLabelTextPos.rightInt() + yOffset, 0xFFFFFFFF);
}
/**
@@ -337,7 +337,7 @@ public class ChatRuleConfigScreen extends Screen {
private MutableText getSoundName() {
if (currentSoundIndex == -1) {
- return Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.none");
+ return Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.sounds.none");
}
return soundsLookup.keySet().stream().toList().get(currentSoundIndex);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigListWidget.java
index 747e826b..f7a5ba84 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigListWidget.java
@@ -82,9 +82,9 @@ public class ChatRulesConfigListWidget extends ElementListWidget<ChatRulesConfig
@Override
public void render(DrawContext context, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) {
- context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleName"), width / 2 - 125, y + 5, 0xFFFFFFFF);
- context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleEnabled"), width / 2, y + 5, 0xFFFFFFFF);
- context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.modify"), width / 2 + 100, y + 5, 0xFFFFFFFF);
+ context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleName"), width / 2 - 125, y + 5, 0xFFFFFFFF);
+ context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.ruleEnabled"), width / 2, y + 5, 0xFFFFFFFF);
+ context.drawCenteredTextWithShadow(client.textRenderer, Text.translatable("skyblocker.option.messages.chatRules.screen.modify"), width / 2 + 100, y + 5, 0xFFFFFFFF);
}
}
@@ -115,17 +115,17 @@ public class ChatRulesConfigListWidget extends ElementListWidget<ChatRulesConfig
.position(width / 2 - 25, 5)
.build();
- openConfigButton = ButtonWidget.builder(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.editRule"), a -> {
+ openConfigButton = ButtonWidget.builder(Text.translatable("skyblocker.option.messages.chatRules.screen.editRule"), a -> {
client.setScreen(new ChatRuleConfigScreen(screen, chatRuleIndex));
})
.size(50, 20)
.position(width / 2 + 45, 5)
- .tooltip(Tooltip.of(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.editRule.@Tooltip")))
+ .tooltip(Tooltip.of(Text.translatable("skyblocker.option.messages.chatRules.screen.editRule.@Tooltip")))
.build();
deleteButton = ButtonWidget.builder(Text.translatable("selectServer.delete"), a -> {
oldScrollAmount = getScrollAmount();
- client.setScreen(new ConfirmScreen(this::deleteEntry, Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.deleteQuestion"), Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.deleteWarning", chatRule.getName()), Text.translatable("selectServer.deleteButton"), ScreenTexts.CANCEL));
+ client.setScreen(new ConfirmScreen(this::deleteEntry, Text.translatable("skyblocker.option.messages.chatRules.screen.deleteQuestion"), Text.translatable("skyblocker.option.messages.chatRules.screen.deleteWarning", chatRule.getName()), Text.translatable("selectServer.deleteButton"), ScreenTexts.CANCEL));
})
.size(50, 20)
.position(width / 2 + 105, 5)
@@ -136,9 +136,9 @@ public class ChatRulesConfigListWidget extends ElementListWidget<ChatRulesConfig
private Text enabledButtonText() {
if (chatRule.getEnabled()) {
- return Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.true").withColor(Color.GREEN.getRGB());
+ return Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.true").withColor(Color.GREEN.getRGB());
} else {
- return Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen.false").withColor(Color.RED.getRGB());
+ return Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen.false").withColor(Color.RED.getRGB());
}
}
private void toggleEnabled() {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java
index 49ef735d..7ca17676 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/ChatRulesConfigScreen.java
@@ -15,7 +15,7 @@ public class ChatRulesConfigScreen extends Screen {
private final Screen parent;
public ChatRulesConfigScreen(Screen parent) {
- super(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.ruleScreen"));
+ super(Text.translatable("skyblocker.option.messages.chatRules.screen.ruleScreen"));
this.parent = parent;
}
@@ -37,7 +37,7 @@ public class ChatRulesConfigScreen extends Screen {
close();
}
}).build());
- ButtonWidget buttonNew1 = ButtonWidget.builder(Text.translatable("text.autoconfig.skyblocker.option.messages.chatRules.screen.new"), buttonNew -> chatRulesConfigListWidget.addRuleAfterSelected()).build();
+ ButtonWidget buttonNew1 = ButtonWidget.builder(Text.translatable("skyblocker.option.messages.chatRules.screen.new"), buttonNew -> chatRulesConfigListWidget.addRuleAfterSelected()).build();
adder.add(buttonNew1);
ButtonWidget buttonDone = ButtonWidget.builder(ScreenTexts.DONE, button -> {
chatRulesConfigListWidget.saveRules();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/ArrowPoisonWarning.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/ArrowPoisonWarning.java
index 7ddbeb99..7c3c634a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/ArrowPoisonWarning.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/ArrowPoisonWarning.java
@@ -4,6 +4,7 @@ import java.util.function.Supplier;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.CrimsonIsleConfig;
import de.hysky.skyblocker.skyblock.crimson.kuudra.Kuudra.KuudraPhase;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.Utils;
@@ -17,7 +18,7 @@ import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
public class ArrowPoisonWarning {
- private static final Supplier<SkyblockerConfig.Kuudra> CONFIG = () -> SkyblockerConfigManager.get().locations.crimsonIsle.kuudra;
+ private static final Supplier<CrimsonIsleConfig.Kuudra> CONFIG = () -> SkyblockerConfigManager.get().crimsonIsle.kuudra;
private static final int THREE_SECONDS = 20 * 3;
private static final Title NONE_TITLE = new Title(Text.translatable("skyblocker.crimson.kuudra.noArrowPoison").formatted(Formatting.GREEN));
private static final Title LOW_TITLE = new Title(Text.translatable("skyblocker.crimson.kuudra.lowArrowPoison").formatted(Formatting.GREEN));
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java
index 00cd85a0..1f378dda 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/crimson/kuudra/KuudraWaypoints.java
@@ -2,10 +2,12 @@ package de.hysky.skyblocker.skyblock.crimson.kuudra;
import java.io.BufferedReader;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.function.Supplier;
+import de.hysky.skyblocker.config.configs.CrimsonIsleConfig;
import org.slf4j.Logger;
import com.google.gson.JsonElement;
@@ -36,7 +38,7 @@ public class KuudraWaypoints {
private static final float[] SUPPLIES_COLOR = { 255f / 255f, 0f, 0f };
private static final float[] PEARL_COLOR = { 57f / 255f, 117f / 255f, 125f / 255f };
private static final float[] SAFE_SPOT_COLOR = { 255f / 255f, 85f / 255f, 255f / 255f };
- private static final Supplier<Type> SUPPLIES_AND_FUEL_TYPE = () -> SkyblockerConfigManager.get().locations.crimsonIsle.kuudra.suppliesAndFuelWaypointType;
+ private static final Supplier<Type> SUPPLIES_AND_FUEL_TYPE = () -> SkyblockerConfigManager.get().crimsonIsle.kuudra.suppliesAndFuelWaypointType;
private static final ObjectArrayList<Waypoint> SAFE_SPOT_WAYPOINTS = new ObjectArrayList<>();
private static final ObjectArrayList<Waypoint> PEARL_WAYPOINTS = new ObjectArrayList<>();
private static final Function<float[], Codec<List<Waypoint>>> CODEC = cc -> PosUtils.ALT_BLOCK_POS_CODEC.xmap(
@@ -75,14 +77,14 @@ public class KuudraWaypoints {
static void tick() {
MinecraftClient client = MinecraftClient.getInstance();
- SkyblockerConfig.Kuudra config = SkyblockerConfigManager.get().locations.crimsonIsle.kuudra;
+ CrimsonIsleConfig.Kuudra config = SkyblockerConfigManager.get().crimsonIsle.kuudra;
- if (Utils.isInKuudra() && (config.supplyWaypoints || config.fuelWaypoints || config.ballistaBuildWaypoints)) {
+ if (Utils.isInKuudra() && (config.supplyWaypoints || config.fuelWaypoints || config.ballistaBuildWaypoints) && client.player != null) {
Box searchBox = client.player.getBoundingBox().expand(500d);
ObjectArrayList<Waypoint> supplies = new ObjectArrayList<>();
ObjectArrayList<Waypoint> fuelCells = new ObjectArrayList<>();
- if (config.supplyWaypoints || config.fuelWaypoints) {
+ if ((config.supplyWaypoints || config.fuelWaypoints) && client.world != null) {
List<GiantEntity> giants = client.world.getEntitiesByClass(GiantEntity.class, searchBox, giant -> giant.getY() < 67);
for (GiantEntity giant : giants) {
@@ -94,17 +96,17 @@ public class KuudraWaypoints {
Waypoint waypoint = new Waypoint(BlockPos.ofFloored(x, y, z), SUPPLIES_AND_FUEL_TYPE, SUPPLIES_COLOR, false);
- switch (Kuudra.phase) {
- case RETRIEVE_SUPPLIES -> supplies.add(waypoint);
- case DPS -> fuelCells.add(waypoint);
- default -> supplies.add(waypoint);
- }
+ if (Objects.requireNonNull(Kuudra.phase) == Kuudra.KuudraPhase.DPS) {
+ fuelCells.add(waypoint);
+ } else {
+ supplies.add(waypoint);
+ }
}
}
ObjectArrayList<Waypoint> ballistaBuildSpots = new ObjectArrayList<>();
- if (config.ballistaBuildWaypoints) {
+ if (config.ballistaBuildWaypoints && client.world != null) {
List<ArmorStandEntity> armorStands = client.world.getEntitiesByClass(ArmorStandEntity.class, searchBox, ArmorStandEntity::hasCustomName);
for (ArmorStandEntity armorStand : armorStands) {
@@ -123,7 +125,7 @@ public class KuudraWaypoints {
}
static void render(WorldRenderContext context) {
- SkyblockerConfig.Kuudra config = SkyblockerConfigManager.get().locations.crimsonIsle.kuudra;
+ CrimsonIsleConfig.Kuudra config = SkyblockerConfigManager.get().crimsonIsle.kuudra;
if (Utils.isInKuudra() && loaded) {
if (config.supplyWaypoints) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java
index 0bc34c57..d317a2e8 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusHelper.java
@@ -19,7 +19,7 @@ public class CroesusHelper extends ContainerSolver {
@Override
protected boolean isEnabled() {
- return SkyblockerConfigManager.get().locations.dungeons.croesusHelper;
+ return SkyblockerConfigManager.get().dungeons.croesusHelper;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java
index c6cbe2ce..70e785cb 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/CroesusProfit.java
@@ -28,7 +28,7 @@ public class CroesusProfit extends ContainerSolver {
@Override
protected boolean isEnabled() {
- return SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.croesusProfit;
+ return SkyblockerConfigManager.get().dungeons.dungeonChestProfit.croesusProfit;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
index 7a6cdcd0..1e896794 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMap.java
@@ -46,9 +46,9 @@ public class DungeonMap {
MapState state = FilledMapItem.getMapState(mapId, client.world);
if (state == null) return;
- int x = SkyblockerConfigManager.get().locations.dungeons.mapX;
- int y = SkyblockerConfigManager.get().locations.dungeons.mapY;
- float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling;
+ int x = SkyblockerConfigManager.get().dungeons.dungeonMap.mapX;
+ int y = SkyblockerConfigManager.get().dungeons.dungeonMap.mapY;
+ float scaling = SkyblockerConfigManager.get().dungeons.dungeonMap.mapScaling;
VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers();
MapRenderer mapRenderer = client.gameRenderer.getMapRenderer();
@@ -69,7 +69,7 @@ public class DungeonMap {
}
private static void render(DrawContext context) {
- if (Utils.isInDungeons() && DungeonScore.isDungeonStarted() && !DungeonManager.isInBoss() && SkyblockerConfigManager.get().locations.dungeons.enableMap) {
+ if (Utils.isInDungeons() && DungeonScore.isDungeonStarted() && !DungeonManager.isInBoss() && SkyblockerConfigManager.get().dungeons.dungeonMap.enableMap) {
render(context.getMatrices());
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
index 0f42c495..068510c2 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -11,10 +11,10 @@ import java.awt.*;
public class DungeonMapConfigScreen extends Screen {
- private int mapX = SkyblockerConfigManager.get().locations.dungeons.mapX;
- private int mapY = SkyblockerConfigManager.get().locations.dungeons.mapY;
- private int scoreX = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreX;
- private int scoreY = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreY;
+ private int mapX = SkyblockerConfigManager.get().dungeons.dungeonMap.mapX;
+ private int mapY = SkyblockerConfigManager.get().dungeons.dungeonMap.mapY;
+ private int scoreX = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreX;
+ private int scoreY = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreY;
private static final Identifier MAP_BACKGROUND = new Identifier("textures/map/map_background.png");
private final Screen parent;
@@ -38,8 +38,8 @@ public class DungeonMapConfigScreen extends Screen {
@Override
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
- int mapSize = (int) (128 * SkyblockerConfigManager.get().locations.dungeons.mapScaling);
- float scoreScaling = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreScaling;
+ int mapSize = (int) (128 * SkyblockerConfigManager.get().dungeons.dungeonMap.mapScaling);
+ float scoreScaling = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreScaling;
int scoreWidth = (int) (textRenderer.getWidth(DungeonScoreHUD.getFormattedScoreText()) * scoreScaling);
int scoreHeight = (int) (textRenderer.fontHeight * scoreScaling);
if (RenderHelper.pointIsInArea(mouseX, mouseY, mapX, mapY, mapX + mapSize, mapY + mapSize) && button == 0) {
@@ -57,8 +57,8 @@ public class DungeonMapConfigScreen extends Screen {
if (button == 1) {
mapX = 2;
mapY = 2;
- scoreX = Math.max((int) ((mapX + (64 * SkyblockerConfigManager.get().locations.dungeons.mapScaling)) - textRenderer.getWidth(DungeonScoreHUD.getFormattedScoreText()) * SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreScaling / 2), 0);
- scoreY = (int) (mapY + (128 * SkyblockerConfigManager.get().locations.dungeons.mapScaling) + 4);
+ scoreX = Math.max((int) ((mapX + (64 * SkyblockerConfigManager.get().dungeons.dungeonMap.mapScaling)) - textRenderer.getWidth(DungeonScoreHUD.getFormattedScoreText()) * SkyblockerConfigManager.get().dungeons.dungeonScore.scoreScaling / 2), 0);
+ scoreY = (int) (mapY + (128 * SkyblockerConfigManager.get().dungeons.dungeonMap.mapScaling) + 4);
}
return super.mouseClicked(mouseX, mouseY, button);
@@ -66,17 +66,17 @@ public class DungeonMapConfigScreen extends Screen {
@Override
public void close() {
- SkyblockerConfigManager.get().locations.dungeons.mapX = mapX;
- SkyblockerConfigManager.get().locations.dungeons.mapY = mapY;
- SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreX = scoreX;
- SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreY = scoreY;
+ SkyblockerConfigManager.get().dungeons.dungeonMap.mapX = mapX;
+ SkyblockerConfigManager.get().dungeons.dungeonMap.mapY = mapY;
+ SkyblockerConfigManager.get().dungeons.dungeonScore.scoreX = scoreX;
+ SkyblockerConfigManager.get().dungeons.dungeonScore.scoreY = scoreY;
SkyblockerConfigManager.save();
this.client.setScreen(parent);
}
public void renderHUDMap(DrawContext context, int x, int y) {
- float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling;
+ float scaling = SkyblockerConfigManager.get().dungeons.dungeonMap.mapScaling;
int size = (int) (128 * scaling);
context.drawTexture(MAP_BACKGROUND, x, y, 0, 0, size, size, size, size);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
index f9e33410..7a5abed1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScore.java
@@ -5,6 +5,7 @@ import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.DungeonsConfig;
import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.utils.Constants;
@@ -27,8 +28,8 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DungeonScore {
- private static final SkyblockerConfig.DungeonScore SCORE_CONFIG = SkyblockerConfigManager.get().locations.dungeons.dungeonScore;
- private static final SkyblockerConfig.MimicMessage MIMIC_MESSAGE_CONFIG = SkyblockerConfigManager.get().locations.dungeons.mimicMessage;
+ private static final DungeonsConfig.DungeonScore SCORE_CONFIG = SkyblockerConfigManager.get().dungeons.dungeonScore;
+ private static final DungeonsConfig.MimicMessage MIMIC_MESSAGE_CONFIG = SkyblockerConfigManager.get().dungeons.mimicMessage;
private static final Logger LOGGER = LoggerFactory.getLogger("Skyblocker Dungeon Score");
//Scoreboard patterns
private static final Pattern CLEARED_PATTERN = Pattern.compile("Cleared: (?<cleared>\\d+)%.*");
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java
index 8d402172..1896eb53 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonScoreHUD.java
@@ -21,15 +21,15 @@ public class DungeonScoreHUD {
private static final Text extraSpace = Text.literal(" ").append(Text.literal(" ").formatted(Formatting.BOLD));
private static void render(DrawContext context) {
- if (Utils.isInDungeons() && DungeonScore.isDungeonStarted() && SkyblockerConfigManager.get().locations.dungeons.dungeonScore.enableScoreHUD) {
- int x = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreX;
- int y = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreY;
+ if (Utils.isInDungeons() && DungeonScore.isDungeonStarted() && SkyblockerConfigManager.get().dungeons.dungeonScore.enableScoreHUD) {
+ int x = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreX;
+ int y = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreY;
render(context, x, y);
}
}
public static void render(DrawContext context, int x, int y) {
- float scale = SkyblockerConfigManager.get().locations.dungeons.dungeonScore.scoreScaling;
+ float scale = SkyblockerConfigManager.get().dungeons.dungeonScore.scoreScaling;
MatrixStack matrixStack = context.getMatrices();
matrixStack.push();
matrixStack.scale(scale, scale, 0);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java
index 7c0aab4c..b2a9b521 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/FireFreezeStaffTimer.java
@@ -24,7 +24,7 @@ public class FireFreezeStaffTimer {
if (client.currentScreen != null) return;
- if (SkyblockerConfigManager.get().locations.dungeons.fireFreezeStaffTimer && fireFreezeTimer != 0) {
+ if (SkyblockerConfigManager.get().dungeons.theProfessor.fireFreezeStaffTimer && fireFreezeTimer != 0) {
long now = System.currentTimeMillis();
if (now >= fireFreezeTimer + 5000) {
@@ -51,7 +51,7 @@ public class FireFreezeStaffTimer {
}
private static void onChatMessage(Text text, boolean overlay) {
- if (!overlay && SkyblockerConfigManager.get().locations.dungeons.fireFreezeStaffTimer && Formatting.strip(text.getString())
+ if (!overlay && SkyblockerConfigManager.get().dungeons.theProfessor.fireFreezeStaffTimer && Formatting.strip(text.getString())
.equals("[BOSS] The Professor: Oh? You found my Guardians' one weakness?")) {
fireFreezeTimer = System.currentTimeMillis() + 5000L;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/GuardianHealth.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/GuardianHealth.java
index e17c490d..288f30ee 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/GuardianHealth.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/GuardianHealth.java
@@ -32,7 +32,7 @@ public class GuardianHealth {
}
private static void onWorldRender(WorldRenderContext context) {
- if (!SkyblockerConfigManager.get().locations.dungeons.floor3GuardianHealthDisplay) return;
+ if (!SkyblockerConfigManager.get().dungeons.theProfessor.floor3GuardianHealthDisplay) return;
MinecraftClient client = MinecraftClient.getInstance();
@@ -78,7 +78,7 @@ public class GuardianHealth {
}
private static void onChatMessage(Text text, boolean overlay) {
- if (Utils.isInDungeons() && SkyblockerConfigManager.get().locations.dungeons.floor3GuardianHealthDisplay && !inBoss) {
+ if (Utils.isInDungeons() && SkyblockerConfigManager.get().dungeons.theProfessor.floor3GuardianHealthDisplay && !inBoss) {
String unformatted = Formatting.strip(text.getString());
inBoss = unformatted.equals("[BOSS] The Professor: I was burdened with terrible news recently...");
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
index ee9791d5..42810b60 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/LividColor.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.dungeon;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.DungeonsConfig;
import de.hysky.skyblocker.skyblock.dungeon.secrets.DungeonManager;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.Utils;
@@ -42,13 +43,13 @@ public class LividColor {
"Vendetta Livid", Formatting.WHITE
);
public static final Set<String> LIVID_NAMES = Set.copyOf(LIVID_TO_FORMATTING.keySet());
- public static final SkyblockerConfig.LividColor CONFIG = SkyblockerConfigManager.get().locations.dungeons.lividColor;
+ public static final DungeonsConfig.Livid CONFIG = SkyblockerConfigManager.get().dungeons.livid;
private static int tenTicks = 0;
private static Formatting color;
public static void init() {
ClientReceiveMessageEvents.GAME.register((message, overlay) -> {
- SkyblockerConfig.LividColor config = SkyblockerConfigManager.get().locations.dungeons.lividColor;
+ DungeonsConfig.Livid config = SkyblockerConfigManager.get().dungeons.livid;
if ((config.enableLividColorText || config.enableLividColorTitle || config.enableLividColorGlow) && message.getString().equals("[BOSS] Livid: I respect you for making it to here, but I'll be your undoing.")) {
tenTicks = 8;
}
@@ -58,7 +59,7 @@ public class LividColor {
public static void update() {
MinecraftClient client = MinecraftClient.getInstance();
if (tenTicks != 0) {
- SkyblockerConfig.LividColor config = SkyblockerConfigManager.get().locations.dungeons.lividColor;
+ DungeonsConfig.Livid config = SkyblockerConfigManager.get().dungeons.livid;
if ((config.enableLividColorText || config.enableLividColorTitle || config.enableLividColorGlow) && Utils.isInDungeons() && client.world != null) {
if (tenTicks == 1) {
onLividColorFound(client, Blocks.RED_WOOL);
@@ -94,11 +95,11 @@ public class LividColor {
}
public static boolean allowGlow() {
- return !SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColorGlow || !DungeonManager.getBoss().isFloor(5);
+ return !SkyblockerConfigManager.get().dungeons.livid.enableLividColorGlow || !DungeonManager.getBoss().isFloor(5);
}
public static boolean shouldGlow(String name) {
- return SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColorGlow && color == LIVID_TO_FORMATTING.get(name);
+ return SkyblockerConfigManager.get().dungeons.livid.enableLividColorGlow && color == LIVID_TO_FORMATTING.get(name);
}
@SuppressWarnings("DataFlowIssue")
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java
index 6165ac6a..d39be953 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/Reparty.java
@@ -43,7 +43,7 @@ public class Reparty extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return (SkyblockerConfigManager.get().general.acceptReparty || this.repartying) ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ return (SkyblockerConfigManager.get().dungeons.acceptReparty || this.repartying) ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java
index 419ce85c..42aec035 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/CreeperBeams.java
@@ -177,7 +177,7 @@ public class CreeperBeams extends DungeonPuzzle {
public void render(WorldRenderContext wrc) {
// don't render if solved or disabled
- if (!shouldSolve() || !SkyblockerConfigManager.get().locations.dungeons.creeperSolver) {
+ if (!shouldSolve() || !SkyblockerConfigManager.get().dungeons.puzzleSolver.creeperSolver) {
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/DungeonBlaze.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/DungeonBlaze.java
index fa7f1e92..5c0e8437 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/DungeonBlaze.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/DungeonBlaze.java
@@ -111,7 +111,7 @@ public class DungeonBlaze extends DungeonPuzzle {
@Override
public void render(WorldRenderContext wrc) {
try {
- if (highestBlaze != null && lowestBlaze != null && highestBlaze.isAlive() && lowestBlaze.isAlive() && SkyblockerConfigManager.get().locations.dungeons.blazeSolver) {
+ if (highestBlaze != null && lowestBlaze != null && highestBlaze.isAlive() && lowestBlaze.isAlive() && SkyblockerConfigManager.get().dungeons.puzzleSolver.blazeSolver) {
if (highestBlaze.getY() < 69) {
renderBlazeOutline(highestBlaze, nextHighestBlaze, wrc);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java
index 57386674..3f1708f1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/IceFill.java
@@ -80,7 +80,7 @@ public class IceFill extends DungeonPuzzle {
@Override
public void tick(MinecraftClient client) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveIceFill || client.world == null || !DungeonManager.isCurrentRoomMatched() || solve != null && !solve.isDone()) {
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveIceFill || client.world == null || !DungeonManager.isCurrentRoomMatched() || solve != null && !solve.isDone()) {
return;
}
Room room = DungeonManager.getCurrentRoom();
@@ -150,7 +150,7 @@ public class IceFill extends DungeonPuzzle {
@Override
public void render(WorldRenderContext context) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveIceFill || !DungeonManager.isCurrentRoomMatched()) {
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveIceFill || !DungeonManager.isCurrentRoomMatched()) {
return;
}
Room room = DungeonManager.getCurrentRoom();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java
index b5cbc8ee..f3ac927f 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Silverfish.java
@@ -65,7 +65,7 @@ public class Silverfish extends DungeonPuzzle {
@Override
public void tick(MinecraftClient client) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveSilverfish || client.world == null || !DungeonManager.isCurrentRoomMatched()) {
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveSilverfish || client.world == null || !DungeonManager.isCurrentRoomMatched()) {
return;
}
Room room = DungeonManager.getCurrentRoom();
@@ -158,7 +158,7 @@ public class Silverfish extends DungeonPuzzle {
@Override
public void render(WorldRenderContext context) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveSilverfish || !DungeonManager.isCurrentRoomMatched() || silverfishPath.isEmpty()) {
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveSilverfish || !DungeonManager.isCurrentRoomMatched() || silverfishPath.isEmpty()) {
return;
}
Room room = DungeonManager.getCurrentRoom();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java
index fd7a8dbf..ae72d3cc 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/ThreeWeirdos.java
@@ -17,7 +17,7 @@ public class ThreeWeirdos extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.dungeons.solveThreeWeirdos ? null : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().dungeons.puzzleSolver.solveThreeWeirdos ? null : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java
index 1683276e..088a6e6b 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/TicTacToe.java
@@ -111,7 +111,7 @@ public class TicTacToe extends DungeonPuzzle {
@Override
public void render(WorldRenderContext context) {
try {
- if (SkyblockerConfigManager.get().locations.dungeons.solveTicTacToe && nextBestMoveToMake != null) {
+ if (SkyblockerConfigManager.get().dungeons.puzzleSolver.solveTicTacToe && nextBestMoveToMake != null) {
RenderHelper.renderOutline(context, nextBestMoveToMake, RED_COLOR_COMPONENTS, 5, false);
}
} catch (Exception e) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java
index eb09cf6e..4dc72cff 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/Trivia.java
@@ -29,7 +29,7 @@ public class Trivia extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.dungeons.solveTrivia ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().dungeons.puzzleSolver.solveTrivia ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java
index 878c8d0a..24d1331a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/boulder/Boulder.java
@@ -43,7 +43,7 @@ public class Boulder extends DungeonPuzzle {
@Override
public void tick(MinecraftClient client) {
- if (!shouldSolve() || !SkyblockerConfigManager.get().locations.dungeons.solveBoulder || client.world == null || !DungeonManager.isCurrentRoomMatched()) {
+ if (!shouldSolve() || !SkyblockerConfigManager.get().dungeons.puzzleSolver.solveBoulder || client.world == null || !DungeonManager.isCurrentRoomMatched()) {
return;
}
@@ -195,7 +195,7 @@ public class Boulder extends DungeonPuzzle {
@Override
public void render(WorldRenderContext context) {
- if (!shouldSolve() || !SkyblockerConfigManager.get().locations.dungeons.solveBoulder || !DungeonManager.isCurrentRoomMatched())
+ if (!shouldSolve() || !SkyblockerConfigManager.get().dungeons.puzzleSolver.solveBoulder || !DungeonManager.isCurrentRoomMatched())
return;
float alpha = 1.0f;
float lineWidth = 5.0f;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java
index 2efadfda..852873ea 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/puzzle/waterboard/Waterboard.java
@@ -133,7 +133,7 @@ public class Waterboard extends DungeonPuzzle {
@Override
public void tick(MinecraftClient client) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveWaterboard || client.world == null || !DungeonManager.isCurrentRoomMatched() || solve != null && !solve.isDone()) {
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveWaterboard || client.world == null || !DungeonManager.isCurrentRoomMatched() || solve != null && !solve.isDone()) {
return;
}
Room room = DungeonManager.getCurrentRoom();
@@ -337,7 +337,7 @@ public class Waterboard extends DungeonPuzzle {
@Override
public void render(WorldRenderContext context) {
- if (!SkyblockerConfigManager.get().locations.dungeons.solveWaterboard || !DungeonManager.isCurrentRoomMatched()) return;
+ if (!SkyblockerConfigManager.get().dungeons.puzzleSolver.solveWaterboard || !DungeonManager.isCurrentRoomMatched()) return;
Room room = DungeonManager.getCurrentRoom();
// Render the best combination.
@@ -377,7 +377,7 @@ public class Waterboard extends DungeonPuzzle {
private ActionResult onUseBlock(PlayerEntity player, World world, Hand hand, BlockHitResult blockHitResult) {
BlockState state = world.getBlockState(blockHitResult.getBlockPos());
- if (SkyblockerConfigManager.get().locations.dungeons.solveWaterboard && blockHitResult.getType() == HitResult.Type.BLOCK && waypoints[6] != null && DungeonManager.isCurrentRoomMatched() && blockHitResult.getBlockPos().equals(DungeonManager.getCurrentRoom().relativeToActual(WATER_LEVER)) && state.contains(LeverBlock.POWERED)) {
+ if (SkyblockerConfigManager.get().dungeons.puzzleSolver.solveWaterboard && blockHitResult.getType() == HitResult.Type.BLOCK && waypoints[6] != null && DungeonManager.isCurrentRoomMatched() && blockHitResult.getBlockPos().equals(DungeonManager.getCurrentRoom().relativeToActual(WATER_LEVER)) && state.contains(LeverBlock.POWERED)) {
if (!state.get(LeverBlock.POWERED)) {
bestCombinationsUpdated = false;
Scheduler.INSTANCE.schedule(() -> waypoints[6].setMissing(), 50);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java
index 8bb22e7e..e4504cc9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/DungeonManager.java
@@ -12,7 +12,7 @@ import com.mojang.brigadier.builder.RequiredArgumentBuilder;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.serialization.JsonOps;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.DungeonsConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.debug.Debug;
import de.hysky.skyblocker.skyblock.dungeon.DungeonBoss;
@@ -227,7 +227,7 @@ public class DungeonManager {
*/
public static void init() {
CUSTOM_WAYPOINTS_DIR = SkyblockerMod.CONFIG_DIR.resolve("custom_secret_waypoints.json");
- if (!SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.enableRoomMatching) {
+ if (!SkyblockerConfigManager.get().dungeons.secretWaypoints.enableRoomMatching) {
return;
}
// Execute with MinecraftClient as executor since we need to wait for MinecraftClient#resourceManager to be set
@@ -628,7 +628,7 @@ public class DungeonManager {
}
// Process key found messages for door highlight
- if (SkyblockerConfigManager.get().locations.dungeons.doorHighlight.enableDoorHighlight) {
+ if (SkyblockerConfigManager.get().dungeons.doorHighlight.enableDoorHighlight) {
Matcher matcher = KEY_FOUND.matcher(message);
if (matcher.matches()) {
String name = matcher.group("name");
@@ -755,12 +755,12 @@ public class DungeonManager {
}
/**
- * Checks if {@link SkyblockerConfig.SecretWaypoints#enableRoomMatching room matching} is enabled and the player is in a dungeon.
+ * Checks if {@link DungeonsConfig.SecretWaypoints#enableRoomMatching room matching} is enabled and the player is in a dungeon.
*
* @return whether room matching and dungeon secrets should be processed
*/
private static boolean shouldProcess() {
- return SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.enableRoomMatching && Utils.isInDungeons();
+ return SkyblockerConfigManager.get().dungeons.secretWaypoints.enableRoomMatching && Utils.isInDungeons();
}
/**
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java
index 5b20b48f..e6a8b9d1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/Room.java
@@ -310,7 +310,7 @@ public class Room implements Tickable, Renderable {
}
// Wither and blood door
- if (SkyblockerConfigManager.get().locations.dungeons.doorHighlight.enableDoorHighlight && doorPos == null) {
+ if (SkyblockerConfigManager.get().dungeons.doorHighlight.enableDoorHighlight && doorPos == null) {
doorPos = DungeonMapUtils.getWitherBloodDoorPos(client.world, segments);
if (doorPos != null) {
doorBox = new Box(doorPos.getX(), doorPos.getY(), doorPos.getZ(), doorPos.getX() + DOOR_SIZE.getX(), doorPos.getY() + DOOR_SIZE.getY(), doorPos.getZ() + DOOR_SIZE.getZ());
@@ -420,7 +420,7 @@ public class Room implements Tickable, Renderable {
if (matchState == MatchState.MATCHING) {
// If one room matches, load the secrets for that room and set state to double-checking.
Triple<Direction, Vector2ic, List<String>> directionRoom = possibleRooms.stream().filter(directionRooms -> directionRooms.getRight().size() == 1).findAny().orElseThrow();
- name = directionRoom.getRight().get(0);
+ name = directionRoom.getRight().getFirst();
direction = directionRoom.getLeft();
physicalCornerPos = directionRoom.getMiddle();
DungeonManager.LOGGER.info("[Skyblocker Dungeon Secrets] Room {} matched after checking {} block(s), starting double checking", name, checkedBlocks.size());
@@ -526,7 +526,7 @@ public class Room implements Tickable, Renderable {
}
synchronized (this) {
- if (SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.enableSecretWaypoints && isMatched()) {
+ if (SkyblockerConfigManager.get().dungeons.secretWaypoints.enableSecretWaypoints && isMatched()) {
for (SecretWaypoint secretWaypoint : secretWaypoints.values()) {
if (secretWaypoint.shouldRender()) {
secretWaypoint.render(context);
@@ -535,11 +535,11 @@ public class Room implements Tickable, Renderable {
}
}
- if (!SkyblockerConfigManager.get().locations.dungeons.doorHighlight.enableDoorHighlight || doorPos == null) {
+ if (!SkyblockerConfigManager.get().dungeons.doorHighlight.enableDoorHighlight || doorPos == null) {
return;
}
float[] colorComponents = keyFound ? GREEN_COLOR_COMPONENTS : RED_COLOR_COMPONENTS;
- switch (SkyblockerConfigManager.get().locations.dungeons.doorHighlight.doorHighlightType) {
+ switch (SkyblockerConfigManager.get().dungeons.doorHighlight.doorHighlightType) {
case HIGHLIGHT -> RenderHelper.renderFilled(context, doorPos, DOOR_SIZE, colorComponents, 0.5f, true);
case OUTLINED_HIGHLIGHT -> {
RenderHelper.renderFilled(context, doorPos, DOOR_SIZE, colorComponents, 0.5f, true);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
index 44df9d8c..42fe6dbe 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java
@@ -7,6 +7,7 @@ import com.mojang.serialization.JsonOps;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.DungeonsConfig;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
@@ -38,7 +39,7 @@ public class SecretWaypoint extends Waypoint {
).apply(instance, SecretWaypoint::new));
public static final Codec<List<SecretWaypoint>> LIST_CODEC = CODEC.listOf();
static final List<String> SECRET_ITEMS = List.of("Decoy", "Defuse Kit", "Dungeon Chest Key", "Healing VIII", "Inflatable Jerry", "Spirit Leap", "Training Weights", "Trap", "Treasure Talisman");
- private static final Supplier<SkyblockerConfig.SecretWaypoints> CONFIG = () -> SkyblockerConfigManager.get().locations.dungeons.secretWaypoints;
+ private static final Supplier<DungeonsConfig.SecretWaypoints> CONFIG = () -> SkyblockerConfigManager.get().dungeons.secretWaypoints;
static final Supplier<Type> TYPE_SUPPLIER = () -> CONFIG.get().waypointType;
final int secretIndex;
final Category category;
@@ -131,10 +132,10 @@ public class SecretWaypoint extends Waypoint {
DEFAULT("default", secretWaypoints -> secretWaypoints.enableDefaultWaypoints, 190, 255, 252);
private static final Codec<Category> CODEC = StringIdentifiable.createCodec(Category::values);
private final String name;
- private final Predicate<SkyblockerConfig.SecretWaypoints> enabledPredicate;
+ private final Predicate<DungeonsConfig.SecretWaypoints> enabledPredicate;
private final float[] colorComponents;
- Category(String name, Predicate<SkyblockerConfig.SecretWaypoints> enabledPredicate, int... intColorComponents) {
+ Category(String name, Predicate<DungeonsConfig.SecretWaypoints> enabledPredicate, int... intColorComponents) {
this.name = name;
this.enabledPredicate = enabledPredicate;
colorComponents = new float[intColorComponents.length];
@@ -164,7 +165,7 @@ public class SecretWaypoint extends Waypoint {
}
boolean isEnabled() {
- return enabledPredicate.test(SkyblockerConfigManager.get().locations.dungeons.secretWaypoints);
+ return enabledPredicate.test(SkyblockerConfigManager.get().dungeons.secretWaypoints);
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
index 2f748792..fd960163 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/secrets/SecretsTracker.java
@@ -116,7 +116,7 @@ public class SecretsTracker {
}
private static void onMessage(Text text, boolean overlay) {
- if (Utils.isInDungeons() && SkyblockerConfigManager.get().locations.dungeons.playerSecretsTracker && !overlay) {
+ if (Utils.isInDungeons() && SkyblockerConfigManager.get().dungeons.playerSecretsTracker && !overlay) {
String message = Formatting.strip(text.getString());
try {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
index 933fefa9..01673f23 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java
@@ -29,7 +29,7 @@ public class ColorTerminal extends ContainerSolver {
@Override
protected boolean isEnabled() {
targetColor = null;
- return SkyblockerConfigManager.get().locations.dungeons.terminals.solveColor;
+ return SkyblockerConfigManager.get().dungeons.terminals.solveColor;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
index 4789e0f4..d8d9a63a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java
@@ -24,7 +24,7 @@ public class OrderTerminal extends ContainerSolver {
protected boolean isEnabled() {
orderedSlots = null;
currentNum = 0;
- return SkyblockerConfigManager.get().locations.dungeons.terminals.solveOrder;
+ return SkyblockerConfigManager.get().dungeons.terminals.solveOrder;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
index 0bfb896e..c4cc8e47 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java
@@ -23,7 +23,7 @@ public class StartsWithTerminal extends ContainerSolver {
@Override
protected boolean isEnabled() {
- return SkyblockerConfigManager.get().locations.dungeons.terminals.solveStartsWith;
+ return SkyblockerConfigManager.get().dungeons.terminals.solveStartsWith;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
index a4af804c..a74dbc5e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHud.java
@@ -35,18 +35,18 @@ public class CrystalsHud {
.executes(Scheduler.queueOpenScreenCommand(CrystalsHudConfigScreen::new))))));
HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> {
- if (!SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.enabled
+ if (!SkyblockerConfigManager.get().mining.crystalsHud.enabled
|| CLIENT.player == null
|| !visible) {
return;
}
- render(context, tickDelta, SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.x,
- SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.y);
+ render(context, tickDelta, SkyblockerConfigManager.get().mining.crystalsHud.x,
+ SkyblockerConfigManager.get().mining.crystalsHud.y);
});
}
protected static int getDimensionsForConfig() {
- return (int) (62 * SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.mapScaling);
+ return (int) (62 * SkyblockerConfigManager.get().mining.crystalsHud.mapScaling);
}
@@ -59,7 +59,7 @@ public class CrystalsHud {
* @param hudY Top left Y coordinate of the map
*/
private static void render(DrawContext context, float tickDelta, int hudX, int hudY) {
- float scale = SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.mapScaling;
+ float scale = SkyblockerConfigManager.get().mining.crystalsHud.mapScaling;
//make sure the map renders infront of some stuff - improve this in the future with better layering (1.20.5?)
//and set position and scale
@@ -72,13 +72,13 @@ public class CrystalsHud {
context.drawTexture(MAP_TEXTURE, 0, 0, 0, 0, 62, 62, 62, 62);
//if enabled add waypoint locations to map
- if (SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.showLocations) {
+ if (SkyblockerConfigManager.get().mining.crystalsHud.showLocations) {
Map<String,CrystalsWaypoint> ActiveWaypoints = CrystalsLocationsManager.activeWaypoints;
for (CrystalsWaypoint waypoint : ActiveWaypoints.values()) {
Color waypointColor = waypoint.category.color;
Vector2ic renderPos = transformLocation(waypoint.pos.getX(), waypoint.pos.getZ());
- int locationSize = SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.locationSize;
+ int locationSize = SkyblockerConfigManager.get().mining.crystalsHud.locationSize;
if (SMALL_LOCATIONS.contains(waypoint.name.getString())) {//if small location half the location size
locationSize /= 2;
@@ -150,7 +150,7 @@ public class CrystalsHud {
*
*/
public static void update() {
- if (CLIENT.player == null || CLIENT.getNetworkHandler() == null || !SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.enabled) {
+ if (CLIENT.player == null || CLIENT.getNetworkHandler() == null || !SkyblockerConfigManager.get().mining.crystalsHud.enabled) {
visible = false;
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
index 15e605b9..823a8bcd 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
@@ -26,7 +26,7 @@ public class CrystalsHudConfigScreen extends HudConfigScreen {
@SuppressWarnings("SuspiciousNameCombination")
@Override
protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
- return List.of(IntIntMutablePair.of(config.locations.dwarvenMines.crystalsHud.x, config.locations.dwarvenMines.crystalsHud.y));
+ return List.of(IntIntMutablePair.of(config.mining.crystalsHud.x, config.mining.crystalsHud.y));
}
@Override
@@ -38,7 +38,7 @@ public class CrystalsHudConfigScreen extends HudConfigScreen {
@Override
protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
- configManager.locations.dwarvenMines.crystalsHud.x = widgets.get(0).getX();
- configManager.locations.dwarvenMines.crystalsHud.y = widgets.get(0).getY();
+ configManager.mining.crystalsHud.x = widgets.getFirst().getX();
+ configManager.mining.crystalsHud.y = widgets.getFirst().getY();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
index 9c37de51..dd13af42 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsLocationsManager.java
@@ -63,7 +63,7 @@ public class CrystalsLocationsManager {
}
private static void extractLocationFromMessage(Text message, Boolean overlay) {
- if (!SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.findInChat || !Utils.isInCrystalHollows()) {
+ if (!SkyblockerConfigManager.get().mining.crystalsWaypoints.findInChat || !Utils.isInCrystalHollows()) {
return;
}
@@ -177,7 +177,7 @@ public class CrystalsLocationsManager {
if (CLIENT.player == null || CLIENT.getNetworkHandler() == null) {
return 0;
}
- CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.crystalsWaypoints.shareFail").formatted(Formatting.RED)), false);
+ CLIENT.player.sendMessage(Constants.PREFIX.get().append(Text.translatable("skyblocker.option.locations.dwarvenMines.crystalsWaypoints.shareFail").formatted(Formatting.RED)), false);
}
return Command.SINGLE_SUCCESS;
@@ -191,7 +191,7 @@ public class CrystalsLocationsManager {
}
public static void render(WorldRenderContext context) {
- if (SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.enabled) {
+ if (SkyblockerConfigManager.get().mining.crystalsWaypoints.enabled) {
for (CrystalsWaypoint crystalsWaypoint : activeWaypoints.values()) {
if (crystalsWaypoint.shouldRender()) {
crystalsWaypoint.render(context);
@@ -205,7 +205,7 @@ public class CrystalsLocationsManager {
}
public static void update() {
- if (CLIENT.player == null || CLIENT.getNetworkHandler() == null || !SkyblockerConfigManager.get().locations.dwarvenMines.crystalsWaypoints.enabled || !Utils.isInCrystalHollows()) {
+ if (CLIENT.player == null || CLIENT.getNetworkHandler() == null || !SkyblockerConfigManager.get().mining.crystalsWaypoints.enabled || !Utils.isInCrystalHollows()) {
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
index fbb43083..0a03e60c 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsWaypoint.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.dwarven;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.waypoint.Waypoint;
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
@@ -19,7 +20,7 @@ import java.util.function.Supplier;
import java.util.function.ToDoubleFunction;
public class CrystalsWaypoint extends Waypoint {
- private static final Supplier<SkyblockerConfig.Waypoints> CONFIG = () -> SkyblockerConfigManager.get().general.waypoints;
+ private static final Supplier<UiAndVisualsConfig.Waypoints> CONFIG = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints;
private static final Supplier<Type> TYPE_SUPPLIER = () -> CONFIG.get().waypointType;
final Category category;
final Text name;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
index a5b9fa24..936077f1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -62,7 +62,7 @@ public class DwarvenHud {
));
HudRenderEvents.AFTER_MAIN_HUD.register((context, tickDelta) -> {
- if (!SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions && !SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledPowder
+ if (!SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions && !SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder
|| CLIENT.options.playerListKey.isPressed()
|| CLIENT.player == null
|| (!Utils.isInDwarvenMines() && !Utils.isInCrystalHollows())) {
@@ -70,16 +70,16 @@ public class DwarvenHud {
}
render(HudCommsWidget.INSTANCE, HudPowderWidget.INSTANCE, context,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX,
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY,
+ SkyblockerConfigManager.get().mining.dwarvenHud.x,
+ SkyblockerConfigManager.get().mining.dwarvenHud.y,
+ SkyblockerConfigManager.get().mining.dwarvenHud.powderX,
+ SkyblockerConfigManager.get().mining.dwarvenHud.powderY,
commissionList);
});
}
protected static void render(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
- switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) {
+ switch (SkyblockerConfigManager.get().mining.dwarvenHud.style) {
case SIMPLE -> renderSimple(hcw, hpw, context, comHudX, comHudY, powderHudX, powderHudY, commissions);
case FANCY -> renderFancy(hcw, hpw, context, comHudX, comHudY, powderHudX, powderHudY, commissions);
case CLASSIC -> renderClassic(context, comHudX, comHudY, powderHudX, powderHudY, commissions);
@@ -96,11 +96,11 @@ public class DwarvenHud {
* @param commissions the commissions to render to the commissions hud
*/
private static void renderClassic(DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
- if (SkyblockerConfigManager.get().general.tabHud.enableHudBackground) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground) {
context.fill(comHudX, comHudY, comHudX + 200, comHudY + (20 * commissions.size()), 0x64000000);
context.fill(powderHudX, powderHudY, powderHudX + 200, powderHudY + 40, 0x64000000);
}
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions) {
int y = 0;
for (Commission commission : commissions) {
float percentage;
@@ -118,7 +118,7 @@ public class DwarvenHud {
y += 20;
}
}
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledPowder) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder) {
//render mithril powder then gemstone
context.drawTextWithShadow(CLIENT.textRenderer,
Text.literal("Mithril: " + mithrilPowder).formatted(Formatting.AQUA),
@@ -130,40 +130,40 @@ public class DwarvenHud {
}
private static void renderSimple(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions) {
hcw.updateData(commissions, false);
hcw.update();
hcw.setX(comHudX);
hcw.setY(comHudY);
- hcw.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ hcw.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
}
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledPowder) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder) {
hpw.update();
hpw.setX(powderHudX);
hpw.setY(powderHudY);
- hpw.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ hpw.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
}
}
private static void renderFancy(HudCommsWidget hcw, HudPowderWidget hpw, DrawContext context, int comHudX, int comHudY, int powderHudX, int powderHudY, List<Commission> commissions) {
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions) {
hcw.updateData(commissions, true);
hcw.update();
hcw.setX(comHudX);
hcw.setY(comHudY);
- hcw.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ hcw.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
}
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledPowder) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder) {
hpw.update();
hpw.setX(powderHudX);
hpw.setY(powderHudY);
- hpw.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ hpw.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
}
}
public static void update() {
if (CLIENT.player == null || CLIENT.getNetworkHandler() == null
- || !SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledCommissions && !SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabledPowder
+ || !SkyblockerConfigManager.get().mining.dwarvenHud.enabledCommissions && !SkyblockerConfigManager.get().mining.dwarvenHud.enabledPowder
|| !Utils.isInCrystalHollows() && !Utils.isInDwarvenMines()) {
return;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 79a139f9..3e9c1861 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.skyblock.dwarven;
import de.hysky.skyblocker.config.HudConfigScreen;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.MiningConfig;
import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
@@ -23,7 +24,7 @@ public class DwarvenHudConfigScreen extends HudConfigScreen {
public DwarvenHudConfigScreen(Screen parent) {
super(Text.literal("Dwarven HUD Config"), parent, List.of(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG));
- if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style == SkyblockerConfig.DwarvenHudStyle.CLASSIC) {
+ if (SkyblockerConfigManager.get().mining.dwarvenHud.style == MiningConfig.DwarvenHudStyle.CLASSIC) {
HudCommsWidget.INSTANCE_CFG.setWidth(200);
HudCommsWidget.INSTANCE_CFG.setHeight(20 * CFG_COMMS.size());
HudPowderWidget.INSTANCE_CFG.setWidth(200);
@@ -35,8 +36,8 @@ public class DwarvenHudConfigScreen extends HudConfigScreen {
@Override
protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
return List.of(
- IntIntMutablePair.of(config.locations.dwarvenMines.dwarvenHud.x, config.locations.dwarvenMines.dwarvenHud.y),
- IntIntMutablePair.of(config.locations.dwarvenMines.dwarvenHud.powderX, config.locations.dwarvenMines.dwarvenHud.powderY)
+ IntIntMutablePair.of(config.mining.dwarvenHud.x, config.mining.dwarvenHud.y),
+ IntIntMutablePair.of(config.mining.dwarvenHud.powderX, config.mining.dwarvenHud.powderY)
);
}
@@ -47,9 +48,9 @@ public class DwarvenHudConfigScreen extends HudConfigScreen {
@Override
protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
- configManager.locations.dwarvenMines.dwarvenHud.x = widgets.get(0).getX();
- configManager.locations.dwarvenMines.dwarvenHud.y = widgets.get(0).getY();
- configManager.locations.dwarvenMines.dwarvenHud.powderX = widgets.get(1).getX();
- configManager.locations.dwarvenMines.dwarvenHud.powderY = widgets.get(1).getY();
+ configManager.mining.dwarvenHud.x = widgets.get(0).getX();
+ configManager.mining.dwarvenHud.y = widgets.get(0).getY();
+ configManager.mining.dwarvenHud.powderX = widgets.get(1).getX();
+ configManager.mining.dwarvenHud.powderY = widgets.get(1).getY();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java
index 2ddaf6b5..08cb381d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Fetchur.java
@@ -23,7 +23,7 @@ public class Fetchur extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().mining.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
index 4d126b7c..dd97e5d1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/MetalDetector.java
@@ -101,7 +101,7 @@ public class MetalDetector {
* @param overlay if the message is an overlay message
*/
private static void getDistanceMessage(Text text, boolean overlay) {
- if (!overlay || !SkyblockerConfigManager.get().locations.dwarvenMines.metalDetectorHelper || !Utils.isInCrystalHollows() || !(Utils.getIslandArea().substring(2).equals("Mines of Divan")) || CLIENT.player == null) {
+ if (!overlay || !SkyblockerConfigManager.get().mining.crystalHollows.metalDetectorHelper || !Utils.isInCrystalHollows() || !(Utils.getIslandArea().substring(2).equals("Mines of Divan")) || CLIENT.player == null) {
checkChestFound(text);
return;
}
@@ -236,12 +236,12 @@ public class MetalDetector {
*/
private static void render(WorldRenderContext context) {
//only render enabled and if there is a few location options and in the mines of divan
- if (!SkyblockerConfigManager.get().locations.dwarvenMines.metalDetectorHelper || !Utils.isInCrystalHollows() || possibleBlocks.isEmpty() || possibleBlocks.size() > 8 || !(Utils.getIslandArea().substring(2).equals("Mines of Divan"))) {
+ if (!SkyblockerConfigManager.get().mining.crystalHollows.metalDetectorHelper || !Utils.isInCrystalHollows() || possibleBlocks.isEmpty() || possibleBlocks.size() > 8 || !(Utils.getIslandArea().substring(2).equals("Mines of Divan"))) {
return;
}
//only one location render just that and guiding line to it
if (possibleBlocks.size() == 1) {
- Vec3i block = possibleBlocks.get(0).add(0, -1, 0); //the block you are taken to is one block above the chest
+ Vec3i block = possibleBlocks.getFirst().add(0, -1, 0); //the block you are taken to is one block above the chest
CrystalsWaypoint waypoint = new CrystalsWaypoint(CrystalsWaypoint.Category.CORLEONE, Text.translatable("skyblocker.dwarvenMines.metalDetectorHelper.treasure"), new BlockPos(block.getX(), block.getY(), block.getZ()));
waypoint.render(context);
RenderHelper.renderLineFromCursor(context, Vec3d.ofCenter(block), LIGHT_GRAY, 1f, 5f);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java
index 1f5c0c90..400f40ff 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/Puzzler.java
@@ -18,7 +18,7 @@ public class Puzzler extends ChatPatternListener {
@Override
public ChatFilterResult state() {
- return SkyblockerConfigManager.get().locations.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS;
+ return SkyblockerConfigManager.get().mining.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS;
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java
index 659fc79f..4540ce6e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudConfigScreen.java
@@ -17,12 +17,12 @@ public class EndHudConfigScreen extends HudConfigScreen {
@SuppressWarnings("SuspiciousNameCombination")
@Override
protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
- return List.of(IntIntMutablePair.of(config.locations.end.x, config.locations.end.y));
+ return List.of(IntIntMutablePair.of(config.otherLocations.end.x, config.otherLocations.end.y));
}
@Override
protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
- configManager.locations.end.x = widgets.get(0).getX();
- configManager.locations.end.y = widgets.get(0).getY();
+ configManager.otherLocations.end.x = widgets.getFirst().getX();
+ configManager.otherLocations.end.y = widgets.getFirst().getY();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java
index ca3c8cd8..53c4336e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EndHudWidget.java
@@ -37,15 +37,15 @@ public class EndHudWidget extends Widget {
ENDERMAN_HEAD.set(DataComponentTypes.PROFILE, new ProfileComponent(Optional.of("MHF_Enderman"), Optional.empty(), new PropertyMap()));
POPPY.addEnchantment(Enchantments.INFINITY, 1);
- INSTANCE.setX(SkyblockerConfigManager.get().locations.end.x);
- INSTANCE.setY(SkyblockerConfigManager.get().locations.end.y);
+ INSTANCE.setX(SkyblockerConfigManager.get().otherLocations.end.x);
+ INSTANCE.setY(SkyblockerConfigManager.get().otherLocations.end.y);
}
@Override
public void updateContent() {
// Zealots
- if (SkyblockerConfigManager.get().locations.end.zealotKillsEnabled) {
+ if (SkyblockerConfigManager.get().otherLocations.end.zealotKillsEnabled) {
addComponent(new IcoTextComponent(ENDERMAN_HEAD, Text.literal("Zealots").formatted(Formatting.BOLD)));
addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsSinceLastEye", TheEnd.zealotsSinceLastEye)));
addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.zealotsTotalKills", TheEnd.zealotsKilled)));
@@ -57,7 +57,7 @@ public class EndHudWidget extends Widget {
}
// Endstone protector
- if (SkyblockerConfigManager.get().locations.end.protectorLocationEnabled) {
+ if (SkyblockerConfigManager.get().otherLocations.end.protectorLocationEnabled) {
addComponent(new IcoTextComponent(POPPY, Text.literal("Endstone Protector").formatted(Formatting.BOLD)));
if (TheEnd.stage == 5) {
addComponent(new PlainTextComponent(Text.translatable("skyblocker.end.hud.stage", "IMMINENT")));
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java b/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java
index b4af7256..b0282a69 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/end/EnderNodes.java
@@ -98,7 +98,7 @@ public class EnderNodes {
}
private static boolean shouldProcess() {
- return SkyblockerConfigManager.get().locations.end.enableEnderNodeHelper && Utils.isInTheEnd();
+ return SkyblockerConfigManager.get().otherLocations.end.enableEnderNodeHelper && Utils.isInTheEnd();
}
private static void reset() {
@@ -117,7 +117,7 @@ public class EnderNodes {
private long lastConfirmed;
private EnderNode(BlockPos pos) {
- super(pos, () -> SkyblockerConfigManager.get().general.waypoints.waypointType, DyeColor.CYAN.getColorComponents(), false);
+ super(pos, () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType, DyeColor.CYAN.getColorComponents(), false);
}
private void updateParticles() {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java
index 6f2a0e40..fa36b185 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/end/TheEnd.java
@@ -75,9 +75,9 @@ public class TheEnd {
HudRenderEvents.AFTER_MAIN_HUD.register((drawContext, tickDelta) -> {
if (!Utils.isInTheEnd()) return;
- if (!SkyblockerConfigManager.get().locations.end.hudEnabled) return;
+ if (!SkyblockerConfigManager.get().otherLocations.end.hudEnabled) return;
- EndHudWidget.INSTANCE.render(drawContext, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ EndHudWidget.INSTANCE.render(drawContext, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
});
ClientChunkEvents.CHUNK_LOAD.register((world, chunk) -> {
@@ -261,7 +261,7 @@ public class TheEnd {
}
private static void renderWaypoint(WorldRenderContext context) {
- if (!SkyblockerConfigManager.get().locations.end.waypoint) return;
+ if (!SkyblockerConfigManager.get().otherLocations.end.waypoint) return;
if (currentProtectorLocation == null || stage != 5) return;
currentProtectorLocation.waypoint().render(context);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java
index 5522ceca..095c5d10 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobBoundingBoxes.java
@@ -30,11 +30,11 @@ public class MobBoundingBoxes {
String name = entity.getName().getString();
return switch (entity) {
- case PlayerEntity _p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes;
+ case PlayerEntity _p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().dungeons.starredMobBoundingBoxes;
case ArmorStandEntity _armorStand -> false;
// Regular Mobs
- default -> SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes && MobGlow.isStarred(entity);
+ default -> SkyblockerConfigManager.get().dungeons.starredMobBoundingBoxes && MobGlow.isStarred(entity);
};
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
index 75ba700e..5dc3b768 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/entity/MobGlow.java
@@ -1,6 +1,5 @@
package de.hysky.skyblocker.skyblock.entity;
-import com.mojang.authlib.properties.Property;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.dungeon.LividColor;
import de.hysky.skyblocker.skyblock.end.TheEnd;
@@ -8,15 +7,12 @@ import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.SlayerUtils;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.render.culling.OcclusionCulling;
-import net.minecraft.component.DataComponentTypes;
-import net.minecraft.component.type.ProfileComponent;
import net.minecraft.entity.Entity;
import net.minecraft.entity.decoration.ArmorStandEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.passive.BatEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
import net.minecraft.predicate.entity.EntityPredicates;
import net.minecraft.util.Formatting;
import net.minecraft.util.math.Box;
@@ -36,23 +32,23 @@ public class MobGlow {
if (Utils.isInDungeons() && !entity.isInvisible()) {
return switch (entity) {
// Minibosses
- case PlayerEntity p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow;
+ case PlayerEntity p when name.equals("Lost Adventurer") || name.equals("Shadow Assassin") || name.equals("Diamond Guy") -> SkyblockerConfigManager.get().dungeons.starredMobGlow;
case PlayerEntity p when LividColor.LIVID_NAMES.contains(name) -> LividColor.shouldGlow(name);
// Bats
- case BatEntity b -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow || SkyblockerConfigManager.get().locations.dungeons.starredMobBoundingBoxes;
+ case BatEntity b -> SkyblockerConfigManager.get().dungeons.starredMobGlow || SkyblockerConfigManager.get().dungeons.starredMobBoundingBoxes;
// Armor Stands
case ArmorStandEntity _armorStand -> false;
// Regular Mobs
- default -> SkyblockerConfigManager.get().locations.dungeons.starredMobGlow && isStarred(entity);
+ default -> SkyblockerConfigManager.get().dungeons.starredMobGlow && isStarred(entity);
};
}
return switch (entity) {
// Rift
- case PlayerEntity p when Utils.isInTheRift() && !entity.isInvisible() && name.equals("Blobbercyst ") -> SkyblockerConfigManager.get().locations.rift.blobbercystGlow;
+ case PlayerEntity p when Utils.isInTheRift() && !entity.isInvisible() && name.equals("Blobbercyst ") -> SkyblockerConfigManager.get().otherLocations.rift.blobbercystGlow;
// Enderman Slayer
// Highlights Nukekubi Heads
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java
index 98738112..f43b1842 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ChronomatronSolver.java
@@ -3,6 +3,7 @@ package de.hysky.skyblocker.skyblock.experiment;
import com.google.common.collect.ImmutableMap;
import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.HelperConfig;
import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.gui.screen.Screen;
@@ -52,7 +53,7 @@ public class ChronomatronSolver extends ExperimentSolver {
}
@Override
- protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) {
+ protected boolean isEnabled(HelperConfig.Experiments experimentsConfig) {
return experimentsConfig.enableChronomatronSolver;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java
index 6efcd420..4e28e3c1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/ExperimentSolver.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.experiment;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.HelperConfig;
import de.hysky.skyblocker.utils.render.gui.ContainerSolver;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
import net.minecraft.client.gui.screen.Screen;
@@ -37,10 +38,10 @@ public abstract class ExperimentSolver extends ContainerSolver {
@Override
protected final boolean isEnabled() {
- return isEnabled(SkyblockerConfigManager.get().general.experiments);
+ return isEnabled(SkyblockerConfigManager.get().helper.experiments);
}
- protected abstract boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig);
+ protected abstract boolean isEnabled(HelperConfig.Experiments experimentsConfig);
@Override
protected void start(GenericContainerScreen screen) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java
index e7502c89..f4850bf8 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/SuperpairsSolver.java
@@ -1,6 +1,7 @@
package de.hysky.skyblocker.skyblock.experiment;
import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.HelperConfig;
import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.gui.screen.Screen;
@@ -28,7 +29,7 @@ public class SuperpairsSolver extends ExperimentSolver {
}
@Override
- protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) {
+ protected boolean isEnabled(HelperConfig.Experiments experimentsConfig) {
return experimentsConfig.enableSuperpairsSolver;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java
index 3f1fc72d..88f0e5c3 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/experiment/UltrasequencerSolver.java
@@ -1,6 +1,7 @@
package de.hysky.skyblocker.skyblock.experiment;
import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.config.configs.HelperConfig;
import de.hysky.skyblocker.utils.render.gui.ColorHighlight;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import net.minecraft.client.gui.screen.Screen;
@@ -28,7 +29,7 @@ public class UltrasequencerSolver extends ExperimentSolver {
}
@Override
- protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) {
+ protected boolean isEnabled(HelperConfig.Experiments experimentsConfig) {
return experimentsConfig.enableUltrasequencerSolver;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
index 2ee119fe..cdd5639b 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
@@ -4,6 +4,7 @@ import com.google.gson.JsonObject;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.skyblock.StatusBarTracker;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
@@ -58,7 +59,7 @@ public class FancyStatusBars {
// Fetch from old status bar config
int[] counts = new int[3]; // counts for RIGHT, LAYER1, LAYER2
StatusBar health = statusBars.get("health");
- SkyblockerConfig.OldBarPositions barPositions = SkyblockerConfigManager.get().general.bars.barPositions;
+ UiAndVisualsConfig.OldBarPositions barPositions = SkyblockerConfigManager.get().uiAndVisuals.bars.barPositions;
loadOldBarPosition(health, counts, barPositions.healthBarPosition);
StatusBar intelligence = statusBars.get("intelligence");
loadOldBarPosition(intelligence, counts, barPositions.manaBarPosition);
@@ -103,7 +104,7 @@ public class FancyStatusBars {
* @param counts the counts for each bar position (LAYER1, LAYER2, RIGHT)
* @param position the position to load
*/
- private static void loadOldBarPosition(StatusBar bar, int[] counts, SkyblockerConfig.OldBarPosition position) {
+ private static void loadOldBarPosition(StatusBar bar, int[] counts, UiAndVisualsConfig.OldBarPosition position) {
switch (position) {
case RIGHT:
bar.anchor = BarPositioner.BarAnchor.HOTBAR_RIGHT;
@@ -265,7 +266,7 @@ public class FancyStatusBars {
public boolean render(DrawContext context, int scaledWidth, int scaledHeight) {
var player = client.player;
- if (!SkyblockerConfigManager.get().general.bars.enableBars || player == null || Utils.isInTheRift())
+ if (!SkyblockerConfigManager.get().uiAndVisuals.bars.enableBars || player == null || Utils.isInTheRift())
return false;
Collection<StatusBar> barCollection = statusBars.values();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
index cb845254..f284624d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/MimicFilter.java
@@ -11,7 +11,7 @@ import java.util.regex.Matcher;
public class MimicFilter extends ChatPatternListener {
public MimicFilter() {
- super(".*?(?:Mimic dead!?|Mimic Killed!|\\$SKYTILS-DUNGEON-SCORE-MIMIC\\$|\\Q" + SkyblockerConfigManager.get().locations.dungeons.mimicMessage.mimicMessage + "\\E)$");
+ super(".*?(?:Mimic dead!?|Mimic Killed!|\\$SKYTILS-DUNGEON-SCORE-MIMIC\\$|\\Q" + SkyblockerConfigManager.get().dungeons.mimicMessage.mimicMessage + "\\E)$");
}
@Override
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java
index 43fdf001..201e6716 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHud.java
@@ -67,7 +67,7 @@ public class FarmingHud {
}
FarmingHudWidget.INSTANCE.update();
- FarmingHudWidget.INSTANCE.render(context, SkyblockerConfigManager.get().general.tabHud.enableHudBackground);
+ FarmingHudWidget.INSTANCE.render(context, SkyblockerConfigManager.get().uiAndVisuals.tabHud.enableHudBackground);
}
});
ClientPlayerBlockBreakEvents.AFTER.register((world, player, pos, state) -> {
@@ -93,7 +93,7 @@ public class FarmingHud {
}
private static boolean shouldRender() {
- return SkyblockerConfigManager.get().locations.garden.farmingHud.enableHud && Utils.getLocation() == Location.GARDEN;
+ return SkyblockerConfigManager.get().farming.garden.farmingHud.enableHud && Utils.getLocation() == Location.GARDEN;
}
public static int counter() {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudConfigScreen.java
index 5384d47a..0271c66a 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudConfigScreen.java
@@ -18,13 +18,13 @@ public class FarmingHudConfigScreen extends HudConfigScreen {
@Override
protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
return List.of(
- IntIntMutablePair.of(config.locations.garden.farmingHud.x, config.locations.garden.farmingHud.y)
+ IntIntMutablePair.of(config.farming.garden.farmingHud.x, config.farming.garden.farmingHud.y)
);
}
@Override
protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
- configManager.locations.garden.farmingHud.x = widgets.get(0).getX();
- configManager.locations.garden.farmingHud.y = widgets.get(0).getY();
+ configManager.farming.garden.farmingHud.x = widgets.getFirst().getX();
+ configManager.farming.garden.farmingHud.y = widgets.getFirst().getY();
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
index d03323be..f12f6fa8 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
@@ -49,8 +49,8 @@ public class FarmingHudWidget extends Widget {
public FarmingHudWidget() {
super(TITLE, Formatting.YELLOW.getColorValue());
- setX(SkyblockerConfigManager.get().locations.garden.farmingHud.x);
- setY(SkyblockerConfigManager.get().locations.garden.farmingHud.y);
+ setX(SkyblockerConfigManager.get().farming.garden.farmingHud.x);
+ setY(SkyblockerConfigManager.get().farming.garden.farmingHud.y);
update();
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/LowerSensitivity.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/LowerSensitivity.java
index edea50de..ee857618 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/LowerSensitivity.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/LowerSensitivity.java
@@ -18,10 +18,10 @@ public class LowerSensitivity {
if (sensitivityLowered) lowerSensitivity(false);
return;
}
- if (SkyblockerConfigManager.get().locations.garden.lockMouseTool) {
+ if (SkyblockerConfigManager.get().farming.garden.lockMouseTool) {
ItemStack mainHandStack = MinecraftClient.getInstance().player.getMainHandStack();
String itemId = ItemUtils.getItemId(mainHandStack);
- boolean shouldLockMouse = FarmingHudWidget.FARMING_TOOLS.containsKey(itemId) && (!SkyblockerConfigManager.get().locations.garden.lockMouseGroundOnly || MinecraftClient.getInstance().player.isOnGround());
+ boolean shouldLockMouse = FarmingHudWidget.FARMING_TOOLS.containsKey(itemId) && (!SkyblockerConfigManager.get().farming.garden.lockMouseGroundOnly || MinecraftClient.getInstance().player.isOnGround());
if (shouldLockMouse && !sensitivityLowered) lowerSensitivity(true);
else if (!shouldLockMouse && sensitivityLowered) lowerSensitivity(false);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
index c855c3e3..682933f4 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java
@@ -46,7 +46,7 @@ public class VisitorHelper {
public static void init() {
ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
String title = screen.getTitle().getString();
- if (SkyblockerConfigManager.get().locations.garden.visitorHelper && screen instanceof HandledScreen<?> handledScreen && (Utils.getLocationRaw().equals("garden") && !title.contains("Logbook") || title.startsWith("Bazaar"))) {
+ if (SkyblockerConfigManager.get().farming.garden.visitorHelper && screen instanceof HandledScreen<?> handledScreen && (Utils.getLocationRaw().equals("garden") && !title.contains("Logbook") || title.startsWith("Bazaar"))) {
ScreenEvents.afterRender(screen).register((screen_, context, mouseX, mouseY, delta) -> renderScreen(title, context, client.textRenderer, handledScreen.getScreenHandler(), mouseX, mouseY));
}
});
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java
index be934810..96c21d22 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemCooldowns.java
@@ -75,7 +75,7 @@ public class ItemCooldowns {
}
public static void afterBlockBreak(World world, PlayerEntity player, BlockPos pos, BlockState state) {
- if (!SkyblockerConfigManager.get().general.itemCooldown.enableItemCooldowns) return;
+ if (!SkyblockerConfigManager.get().uiAndVisuals.itemCooldown.enableItemCooldowns) return;
String usedItemId = ItemUtils.getItemId(player.getMainHandStack());
if (usedItemId.isEmpty()) return;
if (state.isIn(BlockTags.LOGS)) {
@@ -89,7 +89,7 @@ public class ItemCooldowns {
}
private static TypedActionResult<ItemStack> onItemInteract(PlayerEntity player, World world, Hand hand) {
- if (!SkyblockerConfigManager.get().general.itemCooldown.enableItemCooldowns)
+ if (!SkyblockerConfigManager.get().uiAndVisuals.itemCooldown.enableItemCooldowns)
return TypedActionResult.pass(ItemStack.EMPTY);
String usedItemId = ItemUtils.getItemId(player.getMainHandStack());
if (usedItemId.equals(GRAPPLING_HOOK_ID) && player.fishHook != null) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java
index 8a23ea6d..c34e8926 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java
@@ -10,6 +10,7 @@ import com.mojang.blaze3d.systems.RenderSystem;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.GeneralConfig;
import de.hysky.skyblocker.utils.ItemUtils;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
@@ -23,7 +24,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.text.Text;
public class ItemRarityBackgrounds {
- private static final SkyblockerConfig.ItemInfoDisplay CONFIG = SkyblockerConfigManager.get().general.itemInfoDisplay;
+ private static final GeneralConfig.ItemInfoDisplay CONFIG = SkyblockerConfigManager.get().general.itemInfoDisplay;
private static final Supplier<Sprite> SPRITE = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(CONFIG.itemRarityBackgroundStyle.tex);
public static final ImmutableMap<String, SkyblockItemRarity> LORE_RARITIES = ImmutableMap.ofEntries(
Map.entry("ADMIN", SkyblockItemRarity.ADMIN),
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
index 0cffa05c..d2fda215 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/ItemTooltip.java
@@ -4,6 +4,7 @@ import com.google.gson.JsonObject;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.GeneralConfig;
import de.hysky.skyblocker.skyblock.item.MuseumItemCache;
import de.hysky.skyblocker.skyblock.item.tooltip.AccessoriesHelper.AccessoryReport;
import de.hysky.skyblocker.utils.Constants;
@@ -33,7 +34,7 @@ import java.util.concurrent.CompletableFuture;
public class ItemTooltip {
protected static final Logger LOGGER = LoggerFactory.getLogger(ItemTooltip.class.getName());
private static final MinecraftClient client = MinecraftClient.getInstance();
- protected static final SkyblockerConfig.ItemTooltip config = SkyblockerConfigManager.get().general.itemTooltip;
+ protected static final GeneralConfig.ItemTooltip config = SkyblockerConfigManager.get().general.itemTooltip;
private static volatile boolean sentNullWarning = false;
public static void getTooltip(ItemStack stack, Item.TooltipContext tooltipContext, TooltipType tooltipType, List<Text> lines) {
@@ -99,10 +100,10 @@ public class ItemTooltip {
neuName = getNeuName(internalID, neuName);
if (!neuName.isEmpty() && lbinExist) {
- SkyblockerConfig.Average type = config.avg;
+ GeneralConfig.Average type = config.avg;
// "No data" line because of API not keeping old data, it causes NullPointerException
- if (type == SkyblockerConfig.Average.ONE_DAY || type == SkyblockerConfig.Average.BOTH) {
+ if (type == GeneralConfig.Average.ONE_DAY || type == GeneralConfig.Average.BOTH) {
lines.add(
Text.literal(String.format("%-19s", "1 Day Avg. Price:"))
.formatted(Formatting.GOLD)
@@ -112,7 +113,7 @@ public class ItemTooltip {
)
);
}
- if (type == SkyblockerConfig.Average.THREE_DAY || type == SkyblockerConfig.Average.BOTH) {
+ if (type == GeneralConfig.Average.THREE_DAY || type == GeneralConfig.Average.BOTH) {
lines.add(
Text.literal(String.format("%-19s", "3 Day Avg. Price:"))
.formatted(Formatting.GOLD)
@@ -139,7 +140,7 @@ public class ItemTooltip {
10, "M7"
);
- if (SkyblockerConfigManager.get().general.dungeonQuality) {
+ if (SkyblockerConfigManager.get().general.itemTooltip.dungeonQuality) {
NbtCompound customData = ItemUtils.getCustomData(stack);
if (customData != null && customData.contains("baseStatBoostPercentage")) {
int baseStatBoostPercentage = customData.getInt("baseStatBoostPercentage");
@@ -372,7 +373,7 @@ public class ItemTooltip {
}
private static Text getMotesMessage(int price, int count) {
- float motesMultiplier = SkyblockerConfigManager.get().locations.rift.mcGrubberStacks * 0.05f + 1;
+ float motesMultiplier = SkyblockerConfigManager.get().otherLocations.rift.mcGrubberStacks * 0.05f + 1;
// Calculate the total price
int totalPrice = price * count;
@@ -413,14 +414,14 @@ public class ItemTooltip {
TooltipInfoType.LOWEST_BINS.downloadIfEnabled(futureList);
if (config.enableAvgBIN) {
- SkyblockerConfig.Average type = config.avg;
+ GeneralConfig.Average type = config.avg;
- if (type == SkyblockerConfig.Average.BOTH || TooltipInfoType.ONE_DAY_AVERAGE.getData() == null || TooltipInfoType.THREE_DAY_AVERAGE.getData() == null || minute % 5 == 0) {
+ if (type == GeneralConfig.Average.BOTH || TooltipInfoType.ONE_DAY_AVERAGE.getData() == null || TooltipInfoType.THREE_DAY_AVERAGE.getData() == null || minute % 5 == 0) {
TooltipInfoType.ONE_DAY_AVERAGE.download(futureList);
TooltipInfoType.THREE_DAY_AVERAGE.download(futureList);
- } else if (type == SkyblockerConfig.Average.ONE_DAY) {
+ } else if (type == GeneralConfig.Average.ONE_DAY) {
TooltipInfoType.ONE_DAY_AVERAGE.download(futureList);
- } else if (type == SkyblockerConfig.Average.THREE_DAY) {
+ } else if (type == GeneralConfig.Average.THREE_DAY) {
TooltipInfoType.THREE_DAY_AVERAGE.download(futureList);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipInfoType.java b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipInfoType.java
index 6edee8d6..88f09496 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipInfoType.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/tooltip/TooltipInfoType.java
@@ -4,6 +4,7 @@ import com.google.gson.JsonObject;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.GeneralConfig;
import de.hysky.skyblocker.utils.Http;
import de.hysky.skyblocker.utils.Utils;
@@ -17,10 +18,10 @@ import org.jetbrains.annotations.Nullable;
public enum TooltipInfoType implements Runnable {
NPC("https://hysky.de/api/npcprice", itemTooltip -> itemTooltip.enableNPCPrice, true),
- BAZAAR("https://hysky.de/api/bazaar", itemTooltip -> itemTooltip.enableBazaarPrice || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.croesusProfit || SkyblockerConfigManager.get().general.chestValue.enableChestValue, itemTooltip -> itemTooltip.enableBazaarPrice, false),
- LOWEST_BINS("https://hysky.de/api/auctions/lowestbins", itemTooltip -> itemTooltip.enableLowestBIN || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.croesusProfit || SkyblockerConfigManager.get().general.chestValue.enableChestValue, itemTooltip -> itemTooltip.enableLowestBIN, false),
+ BAZAAR("https://hysky.de/api/bazaar", itemTooltip -> itemTooltip.enableBazaarPrice || SkyblockerConfigManager.get().dungeons.dungeonChestProfit.enableProfitCalculator || SkyblockerConfigManager.get().dungeons.dungeonChestProfit.croesusProfit || SkyblockerConfigManager.get().uiAndVisuals.chestValue.enableChestValue, itemTooltip -> itemTooltip.enableBazaarPrice, false),
+ LOWEST_BINS("https://hysky.de/api/auctions/lowestbins", itemTooltip -> itemTooltip.enableLowestBIN || SkyblockerConfigManager.get().dungeons.dungeonChestProfit.enableProfitCalculator || SkyblockerConfigManager.get().dungeons.dungeonChestProfit.croesusProfit || SkyblockerConfigManager.get().uiAndVisuals.chestValue.enableChestValue, itemTooltip -> itemTooltip.enableLowestBIN, false),
ONE_DAY_AVERAGE("https://hysky.de/api/auctions/lowestbins/average/1day.json", itemTooltip -> itemTooltip.enableAvgBIN, false),
- THREE_DAY_AVERAGE("https://hysky.de/api/auctions/lowestbins/average/3day.json", itemTooltip -> itemTooltip.enableAvgBIN || SkyblockerConfigManager.get().general.searchOverlay.enableAuctionHouse, itemTooltip -> itemTooltip.enableAvgBIN, false),
+ THREE_DAY_AVERAGE("https://hysky.de/api/auctions/lowestbins/average/3day.json", itemTooltip -> itemTooltip.enableAvgBIN || SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.enableAuctionHouse, itemTooltip -> itemTooltip.enableAvgBIN, false),
MOTES("https://hysky.de/api/motesprice", itemTooltip -> itemTooltip.enableMotesPrice, itemTooltip -> itemTooltip.enableMotesPrice && Utils.isInTheRift(), true),
OBTAINED(itemTooltip -> itemTooltip.enableObtainedDate),
MUSEUM("https://hysky.de/api/museum", itemTooltip -> itemTooltip.enableMuseumInfo, true),
@@ -28,8 +29,8 @@ public enum TooltipInfoType implements Runnable {
ACCESSORIES("https://hysky.de/api/accessories", itemTooltip -> itemTooltip.enableAccessoriesHelper, true, AccessoriesHelper::refreshData);
private final String address;
- private final Predicate<SkyblockerConfig.ItemTooltip> dataEnabled;
- private final Predicate<SkyblockerConfig.ItemTooltip> tooltipEnabled;
+ private final Predicate<GeneralConfig.ItemTooltip> dataEnabled;
+ private final Predicate<GeneralConfig.ItemTooltip> tooltipEnabled;
private JsonObject data;
private final boolean cacheable;
private long hash;
@@ -38,7 +39,7 @@ public enum TooltipInfoType implements Runnable {
/**
* Use this for when you're adding tooltip info that has no data associated with it
*/
- TooltipInfoType(Predicate<SkyblockerConfig.ItemTooltip> enabled) {
+ TooltipInfoType(Predicate<GeneralConfig.ItemTooltip> enabled) {
this(null, itemTooltip -> false, enabled, false, null);
}
@@ -48,7 +49,7 @@ public enum TooltipInfoType implements Runnable {
* @param cacheable whether the data should be cached
* @param callback called when the {@code data} is refreshed
*/
- TooltipInfoType(String address, Predicate<SkyblockerConfig.ItemTooltip> enabled, boolean cacheable, Consumer<JsonObject> callback) {
+ TooltipInfoType(String address, Predicate<GeneralConfig.ItemTooltip> enabled, boolean cacheable, Consumer<JsonObject> callback) {
this(address, enabled, enabled, cacheable, callback);
}
@@ -57,7 +58,7 @@ public enum TooltipInfoType implements Runnable {
* @param enabled the predicate to check if the data should be downloaded and the tooltip should be shown
* @param cacheable whether the data should be cached
*/
- TooltipInfoType(String address, Predicate<SkyblockerConfig.ItemTooltip> enabled, boolean cacheable) {
+ TooltipInfoType(String address, Predicate<GeneralConfig.ItemTooltip> enabled, boolean cacheable) {
this(address, enabled, enabled, cacheable, null);
}
@@ -67,7 +68,7 @@ public enum TooltipInfoType implements Runnable {
* @param tooltipEnabled the predicate to check if the tooltip should be shown
* @param cacheable whether the data should be cached
*/
- TooltipInfoType(String address, Predicate<SkyblockerConfig.ItemTooltip> dataEnabled, Predicate<SkyblockerConfig.ItemTooltip> tooltipEnabled, boolean cacheable) {
+ TooltipInfoType(String address, Predicate<GeneralConfig.ItemTooltip> dataEnabled, Predicate<GeneralConfig.ItemTooltip> tooltipEnabled, boolean cacheable) {
this(address, dataEnabled, tooltipEnabled, cacheable, null);
}
@@ -75,10 +76,9 @@ public enum TooltipInfoType implements Runnable {
* @param address the address to download the data from
* @param dataEnabled the predicate to check if data should be downloaded
* @param tooltipEnabled the predicate to check if the tooltip should be shown
- * @param data the data
* @param cacheable whether the data should be cached
*/
- TooltipInfoType(String address, Predicate<SkyblockerConfig.ItemTooltip> dataEnabled, Predicate<SkyblockerConfig.ItemTooltip> tooltipEnabled, boolean cacheable, @Nullable Consumer<JsonObject> callback) {
+ TooltipInfoType(String address, Predicate<GeneralConfig.ItemTooltip> dataEnabled, Predicate<GeneralConfig.ItemTooltip> tooltipEnabled, boolean cacheable, @Nullable Consumer<JsonObject> callback) {
this.address = address;
this.dataEnabled = dataEnabled;
this.tooltipEnabled = tooltipEnabled;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
index 8e203b84..6bb27215 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/quicknav/QuickNav.java
@@ -2,8 +2,8 @@ package de.hysky.skyblocker.skyblock.quicknav;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.QuickNavConfig;
import de.hysky.skyblocker.utils.Utils;
import de.hysky.skyblocker.utils.datafixer.ItemStackComponentizationFixer;
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
@@ -14,6 +14,8 @@ import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.nbt.StringNbtReader;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@@ -21,6 +23,7 @@ import java.util.Locale;
import java.util.regex.PatternSyntaxException;
public class QuickNav {
+ private static final Logger LOGGER = LoggerFactory.getLogger(QuickNav.class);
public static void init() {
ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
@@ -34,7 +37,7 @@ public class QuickNav {
public static List<QuickNavButton> init(String screenTitle) {
List<QuickNavButton> buttons = new ArrayList<>();
- SkyblockerConfig.QuickNav data = SkyblockerConfigManager.get().quickNav;
+ QuickNavConfig data = SkyblockerConfigManager.get().quickNav;
try {
if (data.button1.render) buttons.add(parseButton(data.button1, screenTitle, 0));
if (data.button2.render) buttons.add(parseButton(data.button2, screenTitle, 1));
@@ -49,13 +52,13 @@ public class QuickNav {
if (data.button11.render) buttons.add(parseButton(data.button11, screenTitle, 10));
if (data.button12.render) buttons.add(parseButton(data.button12, screenTitle, 11));
} catch (CommandSyntaxException e) {
- e.printStackTrace();
+ LOGGER.error("[Skyblocker] Failed to initialize Quick Nav Button", e);
}
return buttons;
}
- private static QuickNavButton parseButton(SkyblockerConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException {
- SkyblockerConfig.ItemData itemData = buttonInfo.item;
+ private static QuickNavButton parseButton(QuickNavConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException {
+ QuickNavConfig.ItemData itemData = buttonInfo.item;
String nbtString = "{id:\"minecraft:" + itemData.itemName.toLowerCase(Locale.ROOT) + "\",Count:1";
if (itemData.nbt.length() > 2) nbtString += "," + itemData.nbt;
nbtString += "}";
@@ -63,7 +66,7 @@ public class QuickNav {
try {
uiTitleMatches = screenTitle.matches(buttonInfo.uiTitle);
} catch (PatternSyntaxException e) {
- e.printStackTrace();
+ LOGGER.error("[Skyblocker] Failed to parse Quick Nav Button", e);
ClientPlayerEntity player = MinecraftClient.getInstance().player;
if (player != null) {
player.sendMessage(Text.of(Formatting.RED + "[Skyblocker] Invalid regex in quicknav button " + (id + 1) + "!"), false);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/EnigmaSouls.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/EnigmaSouls.java
index 8d0c30b8..039d331c 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/EnigmaSouls.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/EnigmaSouls.java
@@ -9,6 +9,7 @@ import com.mojang.brigadier.CommandDispatcher;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.OtherLocationsConfig;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.PosUtils;
import de.hysky.skyblocker.utils.Utils;
@@ -41,7 +42,7 @@ import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.lit
public class EnigmaSouls {
private static final Logger LOGGER = LoggerFactory.getLogger(EnigmaSouls.class);
- private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().general.waypoints.waypointType;
+ private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType;
private static final Identifier WAYPOINTS_JSON = new Identifier(SkyblockerMod.NAMESPACE, "rift/enigma_soul_waypoints.json");
private static final Map<BlockPos, ProfileAwareWaypoint> SOUL_WAYPOINTS = new HashMap<>(42);
private static final Path FOUND_SOULS_FILE = SkyblockerMod.CONFIG_DIR.resolve("found_enigma_souls.json");
@@ -109,7 +110,7 @@ public class EnigmaSouls {
}
static void render(WorldRenderContext context) {
- SkyblockerConfig.Rift config = SkyblockerConfigManager.get().locations.rift;
+ OtherLocationsConfig.Rift config = SkyblockerConfigManager.get().otherLocations.rift;
if (Utils.isInTheRift() && config.enigmaSoulWaypoints && soulsLoaded.isDone()) {
for (Waypoint soul : SOUL_WAYPOINTS.values()) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java b/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java
index 83199e99..7d7d0c34 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/rift/MirrorverseWaypoints.java
@@ -64,7 +64,7 @@ public class MirrorverseWaypoints {
protected static void render(WorldRenderContext wrc) {
//I would also check for the mirrorverse location but the scoreboard stuff is not performant at all...
- if (Utils.isInTheRift() && SkyblockerConfigManager.get().locations.rift.mirrorverseWaypoints && waypointsLoaded.isDone()) {
+ if (Utils.isInTheRift() && SkyblockerConfigManager.get().otherLocations.rift.mirrorverseWaypoints && waypointsLoaded.isDone()) {
for (Waypoint waypoint : LAVA_PATH_WAYPOINTS) {
waypoint.render(wrc);
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java
index b8907e27..66d817e4 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java
@@ -35,7 +35,7 @@ public class OverlayScreen extends Screen {
super.init();
int rowWidth = (int) (this.width * 0.4);
int startX = (int) (this.width * 0.5) - rowWidth / 2;
- int startY = (int) ((int) (this.height * 0.5) - (rowHeight * (1 + SkyblockerConfigManager.get().general.searchOverlay.maxSuggestions + 0.75 + SkyblockerConfigManager.get().general.searchOverlay.historyLength)) / 2);
+ int startY = (int) ((int) (this.height * 0.5) - (rowHeight * (1 + SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.maxSuggestions + 0.75 + SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.historyLength)) / 2);
// Search field
this.searchField = new TextFieldWidget(textRenderer, startX, startY, rowWidth - rowHeight, rowHeight, Text.translatable("gui.recipebook.search_hint"));
@@ -50,7 +50,7 @@ public class OverlayScreen extends Screen {
// suggested item buttons
int rowOffset = rowHeight;
- int totalSuggestions = SkyblockerConfigManager.get().general.searchOverlay.maxSuggestions;
+ int totalSuggestions = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.maxSuggestions;
this.suggestionButtons = new ButtonWidget[totalSuggestions];
for (int i = 0; i < totalSuggestions; i++) {
suggestionButtons[i] = ButtonWidget.builder(Text.literal(SearchOverManager.getSuggestion(i)).setStyle(Style.EMPTY), a -> {
@@ -64,7 +64,7 @@ public class OverlayScreen extends Screen {
}
// history item buttons
rowOffset += (int) (rowHeight * 0.75);
- int historyLength = SkyblockerConfigManager.get().general.searchOverlay.historyLength;
+ int historyLength = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.historyLength;
this.historyButtons = new ButtonWidget[historyLength];
for (int i = 0; i < historyLength; i++) {
String text = SearchOverManager.getHistory(i);
@@ -106,7 +106,7 @@ public class OverlayScreen extends Screen {
int renderOffset = (rowHeight - 16) / 2;
context.drawGuiTexture(SEARCH_ICON_TEXTURE, finishedButton.getX() + renderOffset, finishedButton.getY() + renderOffset, 16, 16);
if (historyButtons.length > 0 && historyButtons[0] != null) {
- context.drawText(textRenderer, Text.translatable("text.autoconfig.skyblocker.option.general.searchOverlay.historyLabel"), historyButtons[0].getX() + renderOffset, historyButtons[0].getY() - rowHeight / 2, 0xFFFFFFFF, true);
+ context.drawText(textRenderer, Text.translatable("skyblocker.option.general.searchOverlay.historyLabel"), historyButtons[0].getX() + renderOffset, historyButtons[0].getY() - rowHeight / 2, 0xFFFFFFFF, true);
}
//draw item stacks and tooltip to buttons
@@ -140,7 +140,7 @@ public class OverlayScreen extends Screen {
public final void tick() {
super.tick();
//update suggestion buttons text
- for (int i = 0; i < SkyblockerConfigManager.get().general.searchOverlay.maxSuggestions; i++) {
+ for (int i = 0; i < SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.maxSuggestions; i++) {
String text = SearchOverManager.getSuggestion(i);
if (!text.isEmpty()) {
suggestionButtons[i].visible = true;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
index 1d740601..f8c4742d 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java
@@ -2,13 +2,12 @@ package de.hysky.skyblocker.skyblock.searchoverlay;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
import com.mojang.brigadier.Command;
import com.mojang.brigadier.CommandDispatcher;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType;
-import de.hysky.skyblocker.utils.Http;
import de.hysky.skyblocker.utils.NEURepoManager;
import de.hysky.skyblocker.utils.scheduler.MessageScheduler;
import io.github.moulberry.repo.data.NEUItem;
@@ -75,7 +74,7 @@ public class SearchOverManager {
}
private static void registerSearchCommands(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess registryAccess) {
- if (SkyblockerConfigManager.get().general.searchOverlay.enableCommands) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.enableCommands) {
dispatcher.register(literal("ahs").executes(context -> startCommand(true)));
dispatcher.register(literal("bzs").executes(context -> startCommand(false)));
}
@@ -199,7 +198,7 @@ public class SearchOverManager {
SearchOverManager.sign = sign;
isCommand = false;
SearchOverManager.isAuction = isAuction;
- if (SkyblockerConfigManager.get().general.searchOverlay.keepPreviousSearches) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.keepPreviousSearches) {
Text[] messages = SearchOverManager.sign.getText(signFront).getMessages(CLIENT.shouldFilterText());
search = messages[0].getString();
if (!messages[1].getString().isEmpty()) {
@@ -221,7 +220,7 @@ public class SearchOverManager {
protected static void updateSearch(String newValue) {
search = newValue;
//update the suggestion values
- int totalSuggestions = SkyblockerConfigManager.get().general.searchOverlay.maxSuggestions;
+ int totalSuggestions = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.maxSuggestions;
if (newValue.isBlank() || totalSuggestions == 0) return; //do not search for empty value
suggestionsArray = (isAuction ? auctionItems : bazaarItems).stream().filter(item -> item.toLowerCase().contains(search.toLowerCase())).limit(totalSuggestions).toArray(String[]::new);
}
@@ -248,12 +247,12 @@ public class SearchOverManager {
*/
protected static String getHistory(int index) {
if (isAuction) {
- if (SkyblockerConfigManager.get().general.searchOverlay.auctionHistory.size() > index) {
- return SkyblockerConfigManager.get().general.searchOverlay.auctionHistory.get(index);
+ if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.auctionHistory.size() > index) {
+ return SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.auctionHistory.get(index);
}
} else {
- if (SkyblockerConfigManager.get().general.searchOverlay.bazaarHistory.size() > index) {
- return SkyblockerConfigManager.get().general.searchOverlay.bazaarHistory.get(index);
+ if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.bazaarHistory.size() > index) {
+ return SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.bazaarHistory.get(index);
}
}
return null;
@@ -268,9 +267,9 @@ public class SearchOverManager {
*/
private static void saveHistory() {
//save to history
- SkyblockerConfig.SearchOverlay config = SkyblockerConfigManager.get().general.searchOverlay;
+ UiAndVisualsConfig.SearchOverlay config = SkyblockerConfigManager.get().uiAndVisuals.searchOverlay;
if (isAuction) {
- if (config.auctionHistory.isEmpty() || !config.auctionHistory.get(0).equals(search)) {
+ if (config.auctionHistory.isEmpty() || !config.auctionHistory.getFirst().equals(search)) {
config.auctionHistory.add(0, search);
if (config.auctionHistory.size() > config.historyLength) {
config.auctionHistory = config.auctionHistory.subList(0, config.historyLength);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java
index 05f0afa5..9e48e4e6 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/ScreenConst.java
@@ -8,6 +8,6 @@ public class ScreenConst {
private static final int SCREEN_PAD_BASE = 20;
public static int getScreenPad() {
- return (int) ((1f/((float)SkyblockerConfigManager.get().general.tabHud.tabHudScale/100f) * SCREEN_PAD_BASE));
+ return (int) ((1f/((float)SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudScale/100f) * SCREEN_PAD_BASE));
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
index ba178a5e..b568e3ae 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.tabhud.widget;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerListMgr;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlayerComponent;
@@ -51,7 +52,7 @@ public class PlayerListWidget extends Widget {
list.add(PlayerListMgr.getRaw(i));
}
- if (SkyblockerConfigManager.get().general.tabHud.nameSorting == SkyblockerConfig.NameSorting.ALPHABETICAL) {
+ if (SkyblockerConfigManager.get().uiAndVisuals.tabHud.nameSorting == UiAndVisualsConfig.NameSorting.ALPHABETICAL) {
list.sort(Comparator.comparing(o -> o.getProfile().getName().toLowerCase()));
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java
index 01a8720b..2d411c2e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/Widget.java
@@ -152,7 +152,7 @@ public abstract class Widget {
RenderSystem.enableDepthTest();
ms.push();
- float scale = SkyblockerConfigManager.get().general.tabHud.tabHudScale / 100f;
+ float scale = SkyblockerConfigManager.get().uiAndVisuals.tabHud.tabHudScale / 100f;
ms.scale(scale, scale, 1);
// move above other UI elements
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
index ab79bb31..4adf97a8 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java
@@ -20,7 +20,7 @@ public class PlayerComponent extends Component {
public PlayerComponent(PlayerListEntry ple) {
- boolean plainNames = SkyblockerConfigManager.get().general.tabHud.plainPlayerNames;
+ boolean plainNames = SkyblockerConfigManager.get().uiAndVisuals.tabHud.plainPlayerNames;
Team team = ple.getScoreboardTeam();
String username = ple.getProfile().getName();
name = (team != null && !plainNames) ? Text.empty().append(team.getPrefix()).append(Text.literal(username).formatted(team.getColor())).append(team.getSuffix()) : Text.of(username);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/FairySouls.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/FairySouls.java
index 7f826b23..f27a5fab 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/FairySouls.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/FairySouls.java
@@ -8,6 +8,7 @@ import com.mojang.brigadier.CommandDispatcher;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.HelperConfig;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.NEURepoManager;
import de.hysky.skyblocker.utils.PosUtils;
@@ -44,7 +45,7 @@ import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.lit
public class FairySouls {
private static final Logger LOGGER = LoggerFactory.getLogger(FairySouls.class);
- private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().general.waypoints.waypointType;
+ private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType;
private static CompletableFuture<Void> fairySoulsLoaded;
private static int maxSouls = 0;
private static final Map<String, Map<BlockPos, ProfileAwareWaypoint>> fairySouls = new HashMap<>();
@@ -52,7 +53,7 @@ public class FairySouls {
@SuppressWarnings("UnusedReturnValue")
public static CompletableFuture<Void> runAsyncAfterFairySoulsLoad(Runnable runnable) {
if (fairySoulsLoaded == null) {
- LOGGER.error("[Skyblocker] Fairy Souls have not being initialized yet! Please ensure the Fairy Souls module is initialized before modules calling this method in SkyblockerMod#onInitializeClient. This error can be safely ignore in a test environment.");
+ LOGGER.error("[Skyblocker] Fairy Souls have not being initialized yet! Please ensure the Fairy Souls configs is initialized before modules calling this method in SkyblockerMod#onInitializeClient. This error can be safely ignore in a test environment.");
return CompletableFuture.completedFuture(null);
}
return fairySoulsLoaded.thenRunAsync(runnable);
@@ -142,7 +143,7 @@ public class FairySouls {
}
private static void render(WorldRenderContext context) {
- SkyblockerConfig.FairySouls fairySoulsConfig = SkyblockerConfigManager.get().general.fairySouls;
+ HelperConfig.FairySouls fairySoulsConfig = SkyblockerConfigManager.get().helper.fairySouls;
if (fairySoulsConfig.enableFairySoulsHelper && fairySoulsLoaded.isDone() && fairySouls.containsKey(Utils.getLocationRaw())) {
for (Waypoint fairySoul : fairySouls.get(Utils.getLocationRaw()).values()) {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java
index 45a52388..a82d32ae 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/MythologicalRitual.java
@@ -189,7 +189,7 @@ public class MythologicalRitual {
}
private static boolean isActive() {
- return SkyblockerConfigManager.get().general.mythologicalRitual.enableMythologicalRitualHelper && Utils.getLocationRaw().equals("hub");
+ return SkyblockerConfigManager.get().helper.mythologicalRitual.enableMythologicalRitualHelper && Utils.getLocationRaw().equals("hub");
}
private static void reset() {
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/Relics.java b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/Relics.java
index 952f2f59..3a9af459 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/waypoint/Relics.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/waypoint/Relics.java
@@ -6,8 +6,8 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.mojang.brigadier.CommandDispatcher;
import de.hysky.skyblocker.SkyblockerMod;
-import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.OtherLocationsConfig;
import de.hysky.skyblocker.utils.Constants;
import de.hysky.skyblocker.utils.PosUtils;
import de.hysky.skyblocker.utils.Utils;
@@ -42,7 +42,7 @@ import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.lit
public class Relics {
private static final Logger LOGGER = LoggerFactory.getLogger(Relics.class);
- private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().general.waypoints.waypointType;
+ private static final Supplier<Waypoint.Type> TYPE_SUPPLIER = () -> SkyblockerConfigManager.get().uiAndVisuals.waypoints.waypointType;
private static CompletableFuture<Void> relicsLoaded;
@SuppressWarnings({"unused", "FieldCanBeLocal"})
private static int totalRelics = 0;
@@ -130,7 +130,7 @@ public class Relics {
}
private static void render(WorldRenderContext context) {
- SkyblockerConfig.Relics config = SkyblockerConfigManager.get().locations.spidersDen.relics;
+ OtherLocationsConfig.Relics config = SkyblockerConfigManager.get().otherLocations.spidersDen.relics;
if (config.enableRelicsHelper && relicsLoaded.isDone() && Utils.getLocationRaw().equals("combat_1")) {
for (ProfileAwareWaypoint relic : relics.values()) {
diff --git a/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java
index 5a94682a..48ba9dad 100644
--- a/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java
+++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatFilterResult.java
@@ -13,6 +13,6 @@ public enum ChatFilterResult {
@Override
public String toString() {
- return I18n.translate("text.autoconfig.skyblocker.option.messages.chatFilterResult." + name());
+ return I18n.translate("skyblocker.option.messages.chatFilterResult." + name());
}
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
index b2104fdc..fb2006c4 100644
--- a/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
+++ b/src/main/java/de/hysky/skyblocker/utils/discord/DiscordRPCManager.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.utils.discord;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.MiscConfig;
import de.hysky.skyblocker.events.SkyblockEvents;
import de.hysky.skyblocker.utils.Utils;
import meteordevelopment.discordipc.DiscordIPC;
@@ -34,15 +35,15 @@ public class DiscordRPCManager {
}
/**
- * Checks the {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence.
+ * Checks the {@link MiscConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence.
*/
public static void updateDataAndPresence() {
// If the custom message is empty, discord will keep the last message, this is can serve as a default if the user doesn't want a custom message
- if (SkyblockerConfigManager.get().richPresence.customMessage.isEmpty()) {
- SkyblockerConfigManager.get().richPresence.customMessage = "Playing Skyblock";
+ if (SkyblockerConfigManager.get().misc.richPresence.customMessage.isEmpty()) {
+ SkyblockerConfigManager.get().misc.richPresence.customMessage = "Playing Skyblock";
SkyblockerConfigManager.save();
}
- if (SkyblockerConfigManager.get().richPresence.cycleMode) cycleCount = (cycleCount + 1) % 3;
+ if (SkyblockerConfigManager.get().misc.richPresence.cycleMode) cycleCount = (cycleCount + 1) % 3;
initAndUpdatePresence();
}
@@ -58,21 +59,21 @@ public class DiscordRPCManager {
* <p>
* When the {@link #updateTask previous update} does not exist or {@link CompletableFuture#isDone() has completed}:
* <p>
- * Connects to discord if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled},
+ * Connects to discord if {@link MiscConfig.RichPresence#enableRichPresence rich presence is enabled},
* the player {@link Utils#isOnSkyblock() is on Skyblock}, and {@link DiscordIPC#isConnected() discord is not already connected}.
- * Updates the presence if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled}
+ * Updates the presence if {@link MiscConfig.RichPresence#enableRichPresence rich presence is enabled}
* and the player {@link Utils#isOnSkyblock() is on Skyblock}.
- * Stops the connection if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}
+ * Stops the connection if {@link MiscConfig.RichPresence#enableRichPresence rich presence is disabled}
* or the player {@link Utils#isOnSkyblock() is not on Skyblock} and {@link DiscordIPC#isConnected() discord is connected}.
* Saves the update task in {@link #updateTask}
*
* @param initialization whether this is the first time the presence is being updates. If {@code true}, a message will be logged
- * if {@link de.hysky.skyblocker.config.SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}.
+ * if {@link MiscConfig.RichPresence#enableRichPresence rich presence is disabled}.
*/
private static void initAndUpdatePresence(boolean initialization) {
if (updateTask == null || updateTask.isDone()) {
updateTask = CompletableFuture.runAsync(() -> {
- if (SkyblockerConfigManager.get().richPresence.enableRichPresence && Utils.isOnSkyblock()) {
+ if (SkyblockerConfigManager.get().misc.richPresence.enableRichPresence && Utils.isOnSkyblock()) {
if (!DiscordIPC.isConnected()) {
if (DiscordIPC.start(934607927837356052L, null)) {
LOGGER.info("[Skyblocker] Discord RPC connected successfully");
@@ -98,20 +99,20 @@ public class DiscordRPCManager {
RichPresence presence = new RichPresence();
presence.setLargeImage("skyblocker-default", null);
presence.setStart(startTimeStamp);
- presence.setDetails(SkyblockerConfigManager.get().richPresence.customMessage);
+ presence.setDetails(SkyblockerConfigManager.get().misc.richPresence.customMessage);
presence.setState(getInfo());
return presence;
}
public static String getInfo() {
String info = null;
- if (!SkyblockerConfigManager.get().richPresence.cycleMode) {
- switch (SkyblockerConfigManager.get().richPresence.info) {
+ if (!SkyblockerConfigManager.get().misc.richPresence.cycleMode) {
+ switch (SkyblockerConfigManager.get().misc.richPresence.info) {
case BITS -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits());
case PURSE -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse());
case LOCATION -> info = Utils.getIslandArea();
}
- } else if (SkyblockerConfigManager.get().richPresence.cycleMode) {
+ } else if (SkyblockerConfigManager.get().misc.richPresence.cycleMode) {
switch (cycleCount) {
case 0 -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits());
case 1 -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse());
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
index a115bb2b..7a2ea60a 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainer.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.utils.render.title;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.events.HudRenderEvents;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
@@ -82,7 +83,7 @@ public class TitleContainer {
}
private static void render(DrawContext context, float tickDelta) {
- render(context, titles, SkyblockerConfigManager.get().general.titleContainer.x, SkyblockerConfigManager.get().general.titleContainer.y, tickDelta);
+ render(context, titles, SkyblockerConfigManager.get().uiAndVisuals.titleContainer.x, SkyblockerConfigManager.get().uiAndVisuals.titleContainer.y, tickDelta);
}
protected static void render(DrawContext context, Set<Title> titles, int xPos, int yPos, float tickDelta) {
@@ -90,11 +91,11 @@ public class TitleContainer {
TextRenderer textRenderer = client.textRenderer;
// Calculate Scale to use
- float scale = 3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F);
+ float scale = 3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F);
// Grab direction and alignment values
- SkyblockerConfig.Direction direction = SkyblockerConfigManager.get().general.titleContainer.direction;
- SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.titleContainer.alignment;
+ UiAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
// x/y refer to the starting position for the text
// y always starts at yPos
float x = 0;
@@ -106,8 +107,8 @@ public class TitleContainer {
width += textRenderer.getWidth(title.getText()) * scale + 10;
}
- if (alignment == SkyblockerConfig.Alignment.MIDDLE) {
- if (direction == SkyblockerConfig.Direction.HORIZONTAL) {
+ if (alignment == UiAndVisualsConfig.Alignment.MIDDLE) {
+ if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
//If middle aligned horizontally, start the xPosition at half of the width to the left.
x = xPos - (width / 2);
} else {
@@ -115,7 +116,7 @@ public class TitleContainer {
x = xPos;
}
}
- if (alignment == SkyblockerConfig.Alignment.LEFT || alignment == SkyblockerConfig.Alignment.RIGHT) {
+ if (alignment == UiAndVisualsConfig.Alignment.LEFT || alignment == UiAndVisualsConfig.Alignment.RIGHT) {
//If left or right aligned, start at xPos, we will shift each text later
x = xPos;
}
@@ -124,14 +125,14 @@ public class TitleContainer {
//Calculate which x the text should use
float xToUse;
- if (direction == SkyblockerConfig.Direction.HORIZONTAL) {
- xToUse = alignment == SkyblockerConfig.Alignment.RIGHT ?
+ if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
+ xToUse = alignment == UiAndVisualsConfig.Alignment.RIGHT ?
x - (textRenderer.getWidth(title.getText()) * scale) : //if right aligned we need the text position to be aligned on the right side.
x;
} else {
- xToUse = alignment == SkyblockerConfig.Alignment.MIDDLE ?
+ xToUse = alignment == UiAndVisualsConfig.Alignment.MIDDLE ?
x - (textRenderer.getWidth(title.getText()) * scale) / 2 : //if middle aligned we need the text position to be aligned in the middle.
- alignment == SkyblockerConfig.Alignment.RIGHT ?
+ alignment == UiAndVisualsConfig.Alignment.RIGHT ?
x - (textRenderer.getWidth(title.getText()) * scale) : //if right aligned we need the text position to be aligned on the right side.
x;
}
@@ -156,13 +157,13 @@ public class TitleContainer {
context.getMatrices().pop();
//Calculate the x and y positions for the next title
- if (direction == SkyblockerConfig.Direction.HORIZONTAL) {
- if (alignment == SkyblockerConfig.Alignment.MIDDLE || alignment == SkyblockerConfig.Alignment.LEFT) {
+ if (direction == UiAndVisualsConfig.Direction.HORIZONTAL) {
+ if (alignment == UiAndVisualsConfig.Alignment.MIDDLE || alignment == UiAndVisualsConfig.Alignment.LEFT) {
//Move to the right if middle or left aligned
x += textRenderer.getWidth(title.getText()) * scale + 10;
}
- if (alignment == SkyblockerConfig.Alignment.RIGHT) {
+ if (alignment == UiAndVisualsConfig.Alignment.RIGHT) {
//Move to the left if right aligned
x -= textRenderer.getWidth(title.getText()) * scale + 10;
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
index cc80f74c..6a66faad 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
@@ -2,6 +2,7 @@ package de.hysky.skyblocker.utils.render.title;
import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.config.configs.UiAndVisualsConfig;
import de.hysky.skyblocker.utils.render.RenderHelper;
import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
@@ -23,8 +24,8 @@ public class TitleContainerConfigScreen extends Screen {
private final Title example1 = new Title(Text.literal("Test1").formatted(Formatting.RED));
private final Title example2 = new Title(Text.literal("Test23").formatted(Formatting.AQUA));
private final Title example3 = new Title(Text.literal("Testing1234").formatted(Formatting.DARK_GREEN));
- private float hudX = SkyblockerConfigManager.get().general.titleContainer.x;
- private float hudY = SkyblockerConfigManager.get().general.titleContainer.y;
+ private float hudX = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.x;
+ private float hudY = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.y;
private final Screen parent;
private boolean changedScale;
@@ -42,8 +43,8 @@ public class TitleContainerConfigScreen extends Screen {
super.render(context, mouseX, mouseY, delta);
renderBackground(context, mouseX, mouseY, delta);
TitleContainer.render(context, Set.of(example1, example2, example3), (int) hudX, (int) hudY, delta);
- SkyblockerConfig.Direction direction = SkyblockerConfigManager.get().general.titleContainer.direction;
- SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.titleContainer.alignment;
+ UiAndVisualsConfig.Direction direction = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
context.drawCenteredTextWithShadow(textRenderer, "Press Q/E to change Alignment: " + alignment, width / 2, textRenderer.fontHeight * 2, Color.WHITE.getRGB());
context.drawCenteredTextWithShadow(textRenderer, "Press R to change Direction: " + direction, width / 2, textRenderer.fontHeight * 3 + 5, Color.WHITE.getRGB());
context.drawCenteredTextWithShadow(textRenderer, "Press +/- to change Scale", width / 2, textRenderer.fontHeight * 4 + 10, Color.WHITE.getRGB());
@@ -62,7 +63,7 @@ public class TitleContainerConfigScreen extends Screen {
}
private Pair<Vector2f, Vector2f> getSelectionBoundingBox() {
- SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.titleContainer.alignment;
+ UiAndVisualsConfig.Alignment alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
float midWidth = getSelectionWidth() / 2F;
float x1 = 0;
@@ -87,15 +88,15 @@ public class TitleContainerConfigScreen extends Screen {
}
private float getSelectionHeight() {
- float scale = (3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F));
- return SkyblockerConfigManager.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ?
+ float scale = (3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F));
+ return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UiAndVisualsConfig.Direction.HORIZONTAL ?
(textRenderer.fontHeight * scale) :
(textRenderer.fontHeight + 10F) * 3F * scale;
}
private float getSelectionWidth() {
- float scale = (3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F));
- return SkyblockerConfigManager.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ?
+ float scale = (3F * (SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale / 100F));
+ return SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction == UiAndVisualsConfig.Direction.HORIZONTAL ?
(textRenderer.getWidth("Test1") + 10 + textRenderer.getWidth("Test23") + 10 + textRenderer.getWidth("Testing1234")) * scale :
textRenderer.getWidth("Testing1234") * scale;
}
@@ -104,7 +105,7 @@ public class TitleContainerConfigScreen extends Screen {
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
float midWidth = getSelectionWidth() / 2;
float midHeight = getSelectionHeight() / 2;
- var alignment = SkyblockerConfigManager.get().general.titleContainer.alignment;
+ var alignment = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
Pair<Vector2f, Vector2f> boundingBox = getSelectionBoundingBox();
float x1 = boundingBox.getLeft().getX();
@@ -135,34 +136,34 @@ public class TitleContainerConfigScreen extends Screen {
@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
if (keyCode == GLFW.GLFW_KEY_Q) {
- SkyblockerConfig.Alignment current = SkyblockerConfigManager.get().general.titleContainer.alignment;
- SkyblockerConfigManager.get().general.titleContainer.alignment = switch (current) {
- case LEFT -> SkyblockerConfig.Alignment.MIDDLE;
- case MIDDLE -> SkyblockerConfig.Alignment.RIGHT;
- case RIGHT -> SkyblockerConfig.Alignment.LEFT;
+ UiAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment = switch (current) {
+ case LEFT -> UiAndVisualsConfig.Alignment.MIDDLE;
+ case MIDDLE -> UiAndVisualsConfig.Alignment.RIGHT;
+ case RIGHT -> UiAndVisualsConfig.Alignment.LEFT;
};
}
if (keyCode == GLFW.GLFW_KEY_E) {
- SkyblockerConfig.Alignment current = SkyblockerConfigManager.get().general.titleContainer.alignment;
- SkyblockerConfigManager.get().general.titleContainer.alignment = switch (current) {
- case LEFT -> SkyblockerConfig.Alignment.RIGHT;
- case MIDDLE -> SkyblockerConfig.Alignment.LEFT;
- case RIGHT -> SkyblockerConfig.Alignment.MIDDLE;
+ UiAndVisualsConfig.Alignment current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.alignment = switch (current) {
+ case LEFT -> UiAndVisualsConfig.Alignment.RIGHT;
+ case MIDDLE -> UiAndVisualsConfig.Alignment.LEFT;
+ case RIGHT -> UiAndVisualsConfig.Alignment.MIDDLE;
};
}
if (keyCode == GLFW.GLFW_KEY_R) {
- SkyblockerConfig.Direction current = SkyblockerConfigManager.get().general.titleContainer.direction;
- SkyblockerConfigManager.get().general.titleContainer.direction = switch (current) {
- case HORIZONTAL -> SkyblockerConfig.Direction.VERTICAL;
- case VERTICAL -> SkyblockerConfig.Direction.HORIZONTAL;
+ UiAndVisualsConfig.Direction current = SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.direction = switch (current) {
+ case HORIZONTAL -> UiAndVisualsConfig.Direction.VERTICAL;
+ case VERTICAL -> UiAndVisualsConfig.Direction.HORIZONTAL;
};
}
if (keyCode == GLFW.GLFW_KEY_EQUAL) {
- SkyblockerConfigManager.get().general.titleContainer.titleContainerScale += 10;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale += 10;
changedScale = true;
}
if (keyCode == GLFW.GLFW_KEY_MINUS) {
- SkyblockerConfigManager.get().general.titleContainer.titleContainerScale -= 10;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.titleContainerScale -= 10;
changedScale = true;
}
return super.keyPressed(keyCode, scanCode, modifiers);
@@ -171,15 +172,15 @@ public class TitleContainerConfigScreen extends Screen {
@Override
public void close() {
- SkyblockerConfigManager.get().general.titleContainer.x = (int) hudX;
- SkyblockerConfigManager.get().general.titleContainer.y = (int) hudY;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.x = (int) hudX;
+ SkyblockerConfigManager.get().uiAndVisuals.titleContainer.y = (int) hudY;
//TODO Come up with a better, less hacky solution for this in the future (:
if (parent instanceof YACLScreen yaclScreen) {
- ConfigCategory category = yaclScreen.config.categories().stream().filter(cat -> cat.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.category.general"))).findFirst().orElseThrow();
- OptionGroup group = category.groups().stream().filter(grp -> grp.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.general.titleContainer"))).findFirst().orElseThrow();
+ ConfigCategory category = yaclScreen.config.categories().stream().filter(cat -> cat.name().getString().equals(I18n.translate("skyblocker.category.general"))).findFirst().orElseThrow();
+ OptionGroup group = category.groups().stream().filter(grp -> grp.name().getString().equals(I18n.translate("skyblocker.option.general.titleContainer"))).findFirst().orElseThrow();
- Option<?> scaleOpt = group.options().get(0);
+ Option<?> scaleOpt = group.options().getFirst();
// Refresh the value in the config with the bound value
if (changedScale) scaleOpt.forgetPendingValue();