From 84aedfe464bc648cbb18b4f2a7eaeb695091b2b5 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 26 Sep 2023 12:58:40 -0400 Subject: Rename Config Files --- .../java/me/xmrvizzy/skyblocker/SkyblockerMod.java | 4 +- .../compatibility/modmenu/ModMenuEntry.java | 4 +- .../me/xmrvizzy/skyblocker/config/ConfigModel.java | 809 ------------------- .../skyblocker/config/SkyblockerConfig.java | 859 +++++++++++++++++++-- .../skyblocker/config/SkyblockerConfigManager.java | 88 +++ .../config/categories/DiscordRPCCategory.java | 6 +- .../config/categories/DungeonsCategory.java | 6 +- .../config/categories/DwarvenMinesCategory.java | 6 +- .../config/categories/GeneralCategory.java | 20 +- .../config/categories/LocationsCategory.java | 4 +- .../config/categories/MessageFilterCategory.java | 4 +- .../config/categories/QuickNavigationCategory.java | 4 +- .../config/categories/SlayersCategory.java | 4 +- .../mixin/AbstractInventoryScreenMixin.java | 4 +- .../xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java | 4 +- .../skyblocker/mixin/DrawContextMixin.java | 6 +- .../skyblocker/mixin/DyeableItemMixin.java | 4 +- .../skyblocker/mixin/FarmlandBlockMixin.java | 4 +- .../skyblocker/mixin/HandledScreenMixin.java | 8 +- .../xmrvizzy/skyblocker/mixin/InGameHudMixin.java | 10 +- .../skyblocker/mixin/InventoryScreenMixin.java | 4 +- .../xmrvizzy/skyblocker/mixin/ItemStackMixin.java | 4 +- .../skyblocker/mixin/PlayerListHudMixin.java | 6 +- .../skyblocker/mixin/WorldRendererMixin.java | 4 +- .../xmrvizzy/skyblocker/skyblock/FairySouls.java | 4 +- .../skyblocker/skyblock/FancyStatusBars.java | 12 +- .../skyblocker/skyblock/FishingHelper.java | 4 +- .../skyblocker/skyblock/HotbarSlotLock.java | 8 +- .../skyblocker/skyblock/QuiverWarning.java | 8 +- .../skyblocker/skyblock/StatusBarTracker.java | 6 +- .../skyblocker/skyblock/TeleportOverlay.java | 18 +- .../skyblocker/skyblock/barn/HungryHiker.java | 4 +- .../skyblocker/skyblock/barn/TreasureHunter.java | 4 +- .../skyblocker/skyblock/dungeon/CroesusHelper.java | 4 +- .../skyblocker/skyblock/dungeon/DungeonBlaze.java | 4 +- .../skyblock/dungeon/DungeonChestProfit.java | 10 +- .../skyblocker/skyblock/dungeon/DungeonMap.java | 10 +- .../skyblock/dungeon/DungeonMapConfigScreen.java | 14 +- .../skyblocker/skyblock/dungeon/LividColor.java | 10 +- .../skyblocker/skyblock/dungeon/OldLever.java | 4 +- .../skyblocker/skyblock/dungeon/Reparty.java | 4 +- .../skyblocker/skyblock/dungeon/ThreeWeirdos.java | 4 +- .../skyblocker/skyblock/dungeon/TicTacToe.java | 4 +- .../skyblocker/skyblock/dungeon/Trivia.java | 4 +- .../skyblock/dungeon/secrets/DungeonSecrets.java | 10 +- .../skyblock/dungeon/secrets/SecretWaypoint.java | 8 +- .../skyblock/dungeon/terminal/ColorTerminal.java | 4 +- .../skyblock/dungeon/terminal/OrderTerminal.java | 4 +- .../dungeon/terminal/StartsWithTerminal.java | 4 +- .../skyblocker/skyblock/dwarven/DwarvenHud.java | 20 +- .../skyblock/dwarven/DwarvenHudConfigScreen.java | 12 +- .../skyblocker/skyblock/dwarven/Fetchur.java | 4 +- .../skyblocker/skyblock/dwarven/Puzzler.java | 4 +- .../skyblock/experiment/ChronomatronSolver.java | 4 +- .../skyblock/experiment/ExperimentSolver.java | 6 +- .../skyblock/experiment/SuperpairsSolver.java | 4 +- .../skyblock/experiment/UltrasequencerSolver.java | 4 +- .../skyblocker/skyblock/filters/AbilityFilter.java | 4 +- .../skyblocker/skyblock/filters/AdFilter.java | 4 +- .../skyblocker/skyblock/filters/AoteFilter.java | 4 +- .../skyblocker/skyblock/filters/AutopetFilter.java | 8 +- .../skyblocker/skyblock/filters/ComboFilter.java | 4 +- .../skyblocker/skyblock/filters/HealFilter.java | 4 +- .../skyblock/filters/ImplosionFilter.java | 4 +- .../skyblock/filters/MoltenWaveFilter.java | 4 +- .../skyblocker/skyblock/filters/ShowOffFilter.java | 4 +- .../skyblock/filters/TeleportPadFilter.java | 4 +- .../skyblock/item/CustomArmorDyeColors.java | 8 +- .../skyblocker/skyblock/item/CustomArmorTrims.java | 8 +- .../skyblocker/skyblock/item/CustomItemNames.java | 8 +- .../skyblocker/skyblock/item/PriceInfoTooltip.java | 42 +- .../skyblocker/skyblock/quicknav/QuickNav.java | 10 +- .../skyblocker/skyblock/rift/EffigyWaypoints.java | 8 +- .../skyblock/rift/HealingMelonIndicator.java | 6 +- .../skyblocker/skyblock/rift/ManiaIndicator.java | 4 +- .../skyblock/rift/MirrorverseWaypoints.java | 4 +- .../skyblocker/skyblock/rift/StakeIndicator.java | 4 +- .../xmrvizzy/skyblocker/skyblock/rift/TheRift.java | 10 +- .../skyblock/rift/TwinClawsIndicator.java | 6 +- .../skyblocker/skyblock/shortcut/Shortcuts.java | 12 +- .../skyblock/special/SpecialEffects.java | 4 +- .../skyblocker/skyblock/spidersden/Relics.java | 4 +- .../skyblock/tabhud/util/ScreenConst.java | 4 +- .../skyblock/tabhud/widget/PlayerListWidget.java | 4 +- .../skyblocker/skyblock/tabhud/widget/Widget.java | 4 +- .../tabhud/widget/component/PlayerComponent.java | 4 +- .../utils/discord/DiscordRPCManager.java | 30 +- .../utils/render/title/TitleContainer.java | 30 +- .../render/title/TitleContainerConfigScreen.java | 60 +- 89 files changed, 1211 insertions(+), 1211 deletions(-) delete mode 100644 src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java create mode 100644 src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java (limited to 'src/main/java/me') diff --git a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java index b28ad3d4..1c2e112e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java +++ b/src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java @@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.*; import me.xmrvizzy.skyblocker.skyblock.dungeon.*; import me.xmrvizzy.skyblocker.skyblock.dungeon.secrets.DungeonSecrets; @@ -69,7 +69,7 @@ public class SkyblockerMod implements ClientModInitializer { ClientTickEvents.END_CLIENT_TICK.register(this::tick); Utils.init(); HotbarSlotLock.init(); - SkyblockerConfig.init(); + SkyblockerConfigManager.init(); PriceInfoTooltip.init(); WikiLookup.init(); ItemRegistry.init(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java b/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java index 7fd188bf..65287cc9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java +++ b/src/main/java/me/xmrvizzy/skyblocker/compatibility/modmenu/ModMenuEntry.java @@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker.compatibility.modmenu; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -10,6 +10,6 @@ import net.fabricmc.api.Environment; public class ModMenuEntry implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> SkyblockerConfig.createGUI(parent); + return parent -> SkyblockerConfigManager.createGUI(parent); } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java deleted file mode 100644 index a8f27a35..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java +++ /dev/null @@ -1,809 +0,0 @@ -package me.xmrvizzy.skyblocker.config; - -import java.util.ArrayList; -import java.util.List; - -import org.apache.commons.lang3.StringUtils; - -import dev.isxander.yacl3.config.ConfigEntry; -import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.text.Text; -import net.minecraft.util.Formatting; - -@SuppressWarnings("deprecation") -public class ConfigModel { - @ConfigEntry - public int version = 1; - - @ConfigEntry - public General general = new General(); - - @ConfigEntry - public Locations locations = new Locations(); - - @ConfigEntry - public Slayer slayer = new Slayer(); - - @ConfigEntry - public QuickNav quickNav = new QuickNav(); - - @ConfigEntry - public Messages messages = new Messages(); - - @ConfigEntry - public RichPresence richPresence = new RichPresence(); - - public static class QuickNav { - @ConfigEntry - public boolean enableQuickNav = true; - - @ConfigEntry - public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); - - @ConfigEntry - 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)" - */ - @ConfigEntry - 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)" - */ - @ConfigEntry - public QuickNavItem button4 = new QuickNavItem(true, - new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", - "/wardrobe"); - - @ConfigEntry - 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)" - */ - @ConfigEntry - public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), - "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage"); - - @ConfigEntry - 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"); - - @ConfigEntry - 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"); - - @ConfigEntry - 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"); - - @ConfigEntry - public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", - "/etable"); - - @ConfigEntry - public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); - - @ConfigEntry - 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; - } - - @ConfigEntry - public Boolean render; - - @ConfigEntry - public ItemData item; - - @ConfigEntry - public String uiTitle; - - @ConfigEntry - 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 = ""; - } - - @ConfigEntry - public String itemName; - - @ConfigEntry - public int count; - - @ConfigEntry - public String nbt; - } - - public static class General { - @ConfigEntry - public boolean acceptReparty = true; - - @ConfigEntry - public boolean backpackPreviewWithoutShift = false; - - @ConfigEntry - public boolean compactorDeletorPreview = true; - - @ConfigEntry - public boolean hideEmptyTooltips = true; - - @ConfigEntry - public boolean hideStatusEffectOverlay = false; - - @ConfigEntry - public TabHudConf tabHud = new TabHudConf(); - - @ConfigEntry - public Bars bars = new Bars(); - - @ConfigEntry - public Experiments experiments = new Experiments(); - - @ConfigEntry - public Fishing fishing = new Fishing(); - - @ConfigEntry - public FairySouls fairySouls = new FairySouls(); - - @ConfigEntry - public Shortcuts shortcuts = new Shortcuts(); - - @ConfigEntry - public QuiverWarning quiverWarning = new QuiverWarning(); - - @ConfigEntry - public ItemList itemList = new ItemList(); - - @ConfigEntry - public ItemTooltip itemTooltip = new ItemTooltip(); - - @ConfigEntry - public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay(); - - @ConfigEntry - public SpecialEffects specialEffects = new SpecialEffects(); - - @ConfigEntry - public Hitbox hitbox = new Hitbox(); - - @ConfigEntry - public TitleContainer titleContainer = new TitleContainer(); - - @ConfigEntry - public TeleportOverlay teleportOverlay = new TeleportOverlay(); - - @ConfigEntry - public List lockedSlots = new ArrayList<>(); - - @ConfigEntry - public Object2ObjectOpenHashMap customItemNames = new Object2ObjectOpenHashMap<>(); - - @ConfigEntry - public Object2IntOpenHashMap customDyeColors = new Object2IntOpenHashMap<>(); - - @ConfigEntry - public Object2ObjectOpenHashMap customArmorTrims = new Object2ObjectOpenHashMap<>(); - } - - public static class TabHudConf { - @ConfigEntry - public boolean tabHudEnabled = true; - - @ConfigEntry - public int tabHudScale = 100; - - @ConfigEntry - public boolean plainPlayerNames = false; - - @ConfigEntry - 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 { - @ConfigEntry - public boolean enableBars = true; - - @ConfigEntry - public BarPositions barpositions = new BarPositions(); - } - - public static class BarPositions { - @ConfigEntry - public BarPosition healthBarPosition = BarPosition.LAYER1; - - @ConfigEntry - public BarPosition manaBarPosition = BarPosition.LAYER1; - - @ConfigEntry - public BarPosition defenceBarPosition = BarPosition.LAYER1; - - @ConfigEntry - public BarPosition experienceBarPosition = BarPosition.LAYER1; - - } - - public enum BarPosition { - LAYER1, LAYER2, RIGHT, NONE; - - @Override - public String toString() { - return I18n.translate("text.autoconfig.skyblocker.option.general.bars.barpositions." + name()); - } - - public int toInt() { - return switch (this) { - case LAYER1 -> 0; - case LAYER2 -> 1; - case RIGHT -> 2; - case NONE -> -1; - }; - } - } - - public static class Experiments { - @ConfigEntry - public boolean enableChronomatronSolver = true; - - @ConfigEntry - public boolean enableSuperpairsSolver = true; - - @ConfigEntry - public boolean enableUltrasequencerSolver = true; - } - - public static class Fishing { - @ConfigEntry - public boolean enableFishingHelper = true; - } - - public static class FairySouls { - @ConfigEntry - public boolean enableFairySoulsHelper = false; - - @ConfigEntry - public boolean highlightFoundSouls = true; - - @ConfigEntry - public boolean highlightOnlyNearbySouls = false; - } - - public static class Shortcuts { - @ConfigEntry - public boolean enableShortcuts = true; - - @ConfigEntry - public boolean enableCommandShortcuts = true; - - @ConfigEntry - public boolean enableCommandArgShortcuts = true; - } - - public static class QuiverWarning { - @ConfigEntry - public boolean enableQuiverWarning = true; - - @ConfigEntry - public boolean enableQuiverWarningInDungeons = true; - - @ConfigEntry - public boolean enableQuiverWarningAfterDungeon = true; - } - - public static class Hitbox { - @ConfigEntry - public boolean oldFarmlandHitbox = true; - - @ConfigEntry - public boolean oldLeverHitbox = false; - } - - public static class TitleContainer { - @ConfigEntry - public float titleContainerScale = 100; - - @ConfigEntry - public int x = 540; - - @ConfigEntry - public int y = 10; - - @ConfigEntry - public Direction direction = Direction.HORIZONTAL; - - @ConfigEntry - public Alignment alignment = Alignment.MIDDLE; - } - - public static class TeleportOverlay { - @ConfigEntry - public boolean enableTeleportOverlays = true; - - @ConfigEntry - public boolean enableWeirdTransmission = true; - - @ConfigEntry - public boolean enableInstantTransmission = true; - - @ConfigEntry - public boolean enableEtherTransmission = true; - - @ConfigEntry - public boolean enableSinrecallTransmission = true; - - @ConfigEntry - public boolean enableWitherImpact = true; - } - - 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 RichPresence { - @ConfigEntry - public boolean enableRichPresence = false; - - @ConfigEntry - public Info info = Info.LOCATION; - - @ConfigEntry - public boolean cycleMode = false; - - @ConfigEntry - public String customMessage = "Playing Skyblock"; - } - - public static class ItemList { - @ConfigEntry - public boolean enableItemList = 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 ItemTooltip { - @ConfigEntry - public boolean enableNPCPrice = true; - - @ConfigEntry - public boolean enableMotesPrice = true; - - @ConfigEntry - public boolean enableAvgBIN = true; - - @ConfigEntry - public Average avg = Average.THREE_DAY; - - @ConfigEntry - public boolean enableLowestBIN = true; - - @ConfigEntry - public boolean enableBazaarPrice = true; - - @ConfigEntry - public boolean enableMuseumDate = true; - } - - public static class ItemInfoDisplay { - @ConfigEntry - public boolean attributeShardInfo = true; - } - - public static class SpecialEffects { - @ConfigEntry - public boolean rareDungeonDropEffects = true; - } - - public static class Locations { - @ConfigEntry - public Barn barn = new Barn(); - - @ConfigEntry - public Dungeons dungeons = new Dungeons(); - - @ConfigEntry - public DwarvenMines dwarvenMines = new DwarvenMines(); - - @ConfigEntry - public Rift rift = new Rift(); - - @ConfigEntry - public SpidersDen spidersDen = new SpidersDen(); - } - - public static class Dungeons { - @ConfigEntry - public SecretWaypoints secretWaypoints = new SecretWaypoints(); - - @ConfigEntry - public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit(); - - @ConfigEntry - public boolean croesusHelper = true; - - @ConfigEntry - public boolean enableMap = true; - - @ConfigEntry - public float mapScaling = 1f; - - @ConfigEntry - public int mapX = 2; - - @ConfigEntry - public int mapY = 2; - - @ConfigEntry - public boolean starredMobGlow = true; - - @ConfigEntry - public boolean solveThreeWeirdos = true; - - @ConfigEntry - public boolean blazesolver = true; - - @ConfigEntry - public boolean solveTrivia = true; - - @ConfigEntry - public boolean solveTicTacToe = true; - - @ConfigEntry - public LividColor lividColor = new LividColor(); - - @ConfigEntry - public Terminals terminals = new Terminals(); - } - - public static class SecretWaypoints { - @ConfigEntry - public boolean enableSecretWaypoints = true; - - @ConfigEntry - public boolean noInitSecretWaypoints = false; - - @ConfigEntry - public boolean enableEntranceWaypoints = true; - - @ConfigEntry - public boolean enableSuperboomWaypoints = true; - - @ConfigEntry - public boolean enableChestWaypoints = true; - - @ConfigEntry - public boolean enableItemWaypoints = true; - - @ConfigEntry - public boolean enableBatWaypoints = true; - - @ConfigEntry - public boolean enableWitherWaypoints = true; - - @ConfigEntry - public boolean enableLeverWaypoints = true; - - @ConfigEntry - public boolean enableFairySoulWaypoints = true; - - @ConfigEntry - public boolean enableStonkWaypoints = true; - - @ConfigEntry - public boolean enableDefaultWaypoints = true; - } - - public static class DungeonChestProfit { - @ConfigEntry - public boolean enableProfitCalculator = true; - - @ConfigEntry - public boolean includeKismet = false; - - @ConfigEntry - public boolean includeEssence = true; - - @ConfigEntry - public int neutralThreshold = 1000; - - @ConfigEntry - public FormattingOption neutralColor = FormattingOption.DARK_GRAY; - - @ConfigEntry - public FormattingOption profitColor = FormattingOption.DARK_GREEN; - - @ConfigEntry - public FormattingOption lossColor = FormattingOption.RED; - - @ConfigEntry - public FormattingOption incompleteColor = FormattingOption.BLUE; - - } - - public enum FormattingOption { - BLACK(Formatting.BLACK), - DARK_BLUE(Formatting.DARK_BLUE), - DARK_GREEN(Formatting.DARK_GREEN), - DARK_AQUA(Formatting.DARK_AQUA), - DARK_RED(Formatting.DARK_RED), - DARK_PURPLE(Formatting.DARK_PURPLE), - GOLD(Formatting.GOLD), - GRAY(Formatting.GRAY), - DARK_GRAY(Formatting.DARK_GRAY), - BLUE(Formatting.BLUE), - GREEN(Formatting.GREEN), - AQUA(Formatting.AQUA), - RED(Formatting.RED), - LIGHT_PURPLE(Formatting.LIGHT_PURPLE), - YELLOW(Formatting.YELLOW), - WHITE(Formatting.WHITE), - OBFUSCATED(Formatting.OBFUSCATED), - BOLD(Formatting.BOLD), - STRIKETHROUGH(Formatting.STRIKETHROUGH), - UNDERLINE(Formatting.UNDERLINE), - ITALIC(Formatting.ITALIC), - RESET(Formatting.RESET); - - public final Formatting formatting; - - - FormattingOption(Formatting formatting) { - this.formatting = formatting; - } - - @Override - public String toString() { - return StringUtils.capitalize(formatting.getName().replaceAll("_", " ")); - } - } - - public static class LividColor { - @ConfigEntry - public boolean enableLividColor = true; - - @ConfigEntry - public String lividColorText = "The livid color is [color]"; - } - - public static class Terminals { - @ConfigEntry - public boolean solveColor = true; - - @ConfigEntry - public boolean solveOrder = true; - - @ConfigEntry - public boolean solveStartsWith = true; - } - - public static class DwarvenMines { - @ConfigEntry - public boolean enableDrillFuel = true; - - @ConfigEntry - public boolean solveFetchur = true; - - @ConfigEntry - public boolean solvePuzzler = true; - - @ConfigEntry - public DwarvenHud dwarvenHud = new DwarvenHud(); - } - - public static class DwarvenHud { - @ConfigEntry - public boolean enabled = true; - - @ConfigEntry - public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE; - - @ConfigEntry - public boolean enableBackground = true; - - @ConfigEntry - public int x = 10; - - @ConfigEntry - public int y = 10; - } - - 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 { - @ConfigEntry - public boolean solveHungryHiker = true; - - @ConfigEntry - public boolean solveTreasureHunter = true; - } - - public static class Rift { - @ConfigEntry - public boolean mirrorverseWaypoints = true; - - @ConfigEntry - public int mcGrubberStacks = 0; - } - - public static class SpidersDen { - @ConfigEntry - public Relics relics = new Relics(); - } - - public static class Relics { - @ConfigEntry - public boolean enableRelicsHelper = false; - - @ConfigEntry - public boolean highlightFoundRelics = true; - } - - public static class Slayer { - @ConfigEntry - public VampireSlayer vampireSlayer = new VampireSlayer(); - } - - public static class VampireSlayer { - @ConfigEntry - public boolean enableEffigyWaypoints = true; - - @ConfigEntry - public boolean compactEffigyWaypoints; - - @ConfigEntry - public int effigyUpdateFrequency = 5; - - @ConfigEntry - public boolean enableHolyIceIndicator = true; - - @ConfigEntry - public int holyIceIndicatorTickDelay = 10; - - @ConfigEntry - public int holyIceUpdateFrequency = 5; - - @ConfigEntry - public boolean enableHealingMelonIndicator = true; - - @ConfigEntry - public float healingMelonHealthThreshold = 4f; - - @ConfigEntry - public boolean enableSteakStakeIndicator = true; - - @ConfigEntry - public int steakStakeUpdateFrequency = 5; - - @ConfigEntry - public boolean enableManiaIndicator = true; - - @ConfigEntry - public int maniaUpdateFrequency = 5; - } - - public static class Messages { - @ConfigEntry - public ChatFilterResult hideAbility = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideHeal = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideAOTE = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideImplosion = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideAds = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideCombo = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideAutopet = ChatFilterResult.PASS; - - @ConfigEntry - public ChatFilterResult hideShowOff = ChatFilterResult.PASS; - - @ConfigEntry - public boolean hideMana = false; - } - - public enum Info { - PURSE, BITS, LOCATION; - - @Override - public String toString() { - return I18n.translate("text.autoconfig.skyblocker.option.richPresence.info." + name()); - } - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 9020d7a0..4207b495 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -1,88 +1,809 @@ package me.xmrvizzy.skyblocker.config; -import java.lang.StackWalker.Option; -import java.nio.file.Path; -import com.mojang.brigadier.builder.LiteralArgumentBuilder; - -import dev.isxander.yacl3.api.YetAnotherConfigLib; -import dev.isxander.yacl3.config.GsonConfigInstance; -import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.categories.DiscordRPCCategory; -import me.xmrvizzy.skyblocker.config.categories.DungeonsCategory; -import me.xmrvizzy.skyblocker.config.categories.DwarvenMinesCategory; -import me.xmrvizzy.skyblocker.config.categories.GeneralCategory; -import me.xmrvizzy.skyblocker.config.categories.MessageFilterCategory; -import me.xmrvizzy.skyblocker.config.categories.LocationsCategory; -import me.xmrvizzy.skyblocker.config.categories.QuickNavigationCategory; -import me.xmrvizzy.skyblocker.config.categories.SlayersCategory; -import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; -import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; -import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; -import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; -import net.fabricmc.loader.api.FabricLoader; -import net.minecraft.client.gui.screen.Screen; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + +import dev.isxander.yacl3.config.ConfigEntry; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; +import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims; +import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; @SuppressWarnings("deprecation") public class SkyblockerConfig { - private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker.json"); - private static final GsonConfigInstance INSTANCE = GsonConfigInstance.createBuilder(ConfigModel.class) - .setPath(PATH) - .overrideGsonBuilder(ConfigSerializer.INSTANCE) - .build(); - /*private static final ConfigClassHandler HANDLER = ConfigClassHandler.createBuilder(ConfigModel.class) - .serializer(config -> GsonConfigSerializerBuilder.create(config) - .setPath(PATH) - .setJson5(false) - .overrideGsonBuilder(ConfigSerializer.INSTANCE) - .build()) - .build();*/ + @ConfigEntry + public int version = 1; - public static ConfigModel get() { - return INSTANCE.getConfig(); + @ConfigEntry + public General general = new General(); + + @ConfigEntry + public Locations locations = new Locations(); + + @ConfigEntry + public Slayer slayer = new Slayer(); + + @ConfigEntry + public QuickNav quickNav = new QuickNav(); + + @ConfigEntry + public Messages messages = new Messages(); + + @ConfigEntry + public RichPresence richPresence = new RichPresence(); + + public static class QuickNav { + @ConfigEntry + public boolean enableQuickNav = true; + + @ConfigEntry + public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + + @ConfigEntry + 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)" + */ + @ConfigEntry + 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)" + */ + @ConfigEntry + public QuickNavItem button4 = new QuickNavItem(true, + new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", + "/wardrobe"); + + @ConfigEntry + 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)" + */ + @ConfigEntry + public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), + "(?:Rift )?Storage(?: \\(1/2\\))?", "/storage"); + + @ConfigEntry + 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"); + + @ConfigEntry + 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"); + + @ConfigEntry + 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"); + + @ConfigEntry + public QuickNavItem button10 = new QuickNavItem(true, new ItemData("enchanting_table"), "Enchant Item", + "/etable"); + + @ConfigEntry + public QuickNavItem button11 = new QuickNavItem(true, new ItemData("anvil"), "Anvil", "/anvil"); + + @ConfigEntry + 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; + } + + @ConfigEntry + public Boolean render; + + @ConfigEntry + public ItemData item; + + @ConfigEntry + public String uiTitle; + + @ConfigEntry + 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 = ""; + } + + @ConfigEntry + public String itemName; + + @ConfigEntry + public int count; + + @ConfigEntry + public String nbt; + } + + public static class General { + @ConfigEntry + public boolean acceptReparty = true; + + @ConfigEntry + public boolean backpackPreviewWithoutShift = false; + + @ConfigEntry + public boolean compactorDeletorPreview = true; + + @ConfigEntry + public boolean hideEmptyTooltips = true; + + @ConfigEntry + public boolean hideStatusEffectOverlay = false; + + @ConfigEntry + public TabHudConf tabHud = new TabHudConf(); + + @ConfigEntry + public Bars bars = new Bars(); + + @ConfigEntry + public Experiments experiments = new Experiments(); + + @ConfigEntry + public Fishing fishing = new Fishing(); + + @ConfigEntry + public FairySouls fairySouls = new FairySouls(); + + @ConfigEntry + public Shortcuts shortcuts = new Shortcuts(); + + @ConfigEntry + public QuiverWarning quiverWarning = new QuiverWarning(); + + @ConfigEntry + public ItemList itemList = new ItemList(); + + @ConfigEntry + public ItemTooltip itemTooltip = new ItemTooltip(); + + @ConfigEntry + public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay(); + + @ConfigEntry + public SpecialEffects specialEffects = new SpecialEffects(); + + @ConfigEntry + public Hitbox hitbox = new Hitbox(); + + @ConfigEntry + public TitleContainer titleContainer = new TitleContainer(); + + @ConfigEntry + public TeleportOverlay teleportOverlay = new TeleportOverlay(); + + @ConfigEntry + public List lockedSlots = new ArrayList<>(); + + @ConfigEntry + public Object2ObjectOpenHashMap customItemNames = new Object2ObjectOpenHashMap<>(); + + @ConfigEntry + public Object2IntOpenHashMap customDyeColors = new Object2IntOpenHashMap<>(); + + @ConfigEntry + public Object2ObjectOpenHashMap customArmorTrims = new Object2ObjectOpenHashMap<>(); + } + + public static class TabHudConf { + @ConfigEntry + public boolean tabHudEnabled = true; + + @ConfigEntry + public int tabHudScale = 100; + + @ConfigEntry + public boolean plainPlayerNames = false; + + @ConfigEntry + 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 { + @ConfigEntry + public boolean enableBars = true; + + @ConfigEntry + public BarPositions barpositions = new BarPositions(); + } + + public static class BarPositions { + @ConfigEntry + public BarPosition healthBarPosition = BarPosition.LAYER1; + + @ConfigEntry + public BarPosition manaBarPosition = BarPosition.LAYER1; + + @ConfigEntry + public BarPosition defenceBarPosition = BarPosition.LAYER1; + + @ConfigEntry + public BarPosition experienceBarPosition = BarPosition.LAYER1; + + } + + public enum BarPosition { + LAYER1, LAYER2, RIGHT, NONE; + + @Override + public String toString() { + return I18n.translate("text.autoconfig.skyblocker.option.general.bars.barpositions." + name()); + } + + public int toInt() { + return switch (this) { + case LAYER1 -> 0; + case LAYER2 -> 1; + case RIGHT -> 2; + case NONE -> -1; + }; + } + } + + public static class Experiments { + @ConfigEntry + public boolean enableChronomatronSolver = true; + + @ConfigEntry + public boolean enableSuperpairsSolver = true; + + @ConfigEntry + public boolean enableUltrasequencerSolver = true; + } + + public static class Fishing { + @ConfigEntry + public boolean enableFishingHelper = true; + } + + public static class FairySouls { + @ConfigEntry + public boolean enableFairySoulsHelper = false; + + @ConfigEntry + public boolean highlightFoundSouls = true; + + @ConfigEntry + public boolean highlightOnlyNearbySouls = false; + } + + public static class Shortcuts { + @ConfigEntry + public boolean enableShortcuts = true; + + @ConfigEntry + public boolean enableCommandShortcuts = true; + + @ConfigEntry + public boolean enableCommandArgShortcuts = true; } - /** - * This method is caller sensitive and can only be called by the mod initializer, - * this is enforced. - */ - public static void init() { - if (StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass() != SkyblockerMod.class) { - throw new RuntimeException("Skyblocker: Called config init from an illegal place!"); + public static class QuiverWarning { + @ConfigEntry + public boolean enableQuiverWarning = true; + + @ConfigEntry + public boolean enableQuiverWarningInDungeons = true; + + @ConfigEntry + public boolean enableQuiverWarningAfterDungeon = true; + } + + public static class Hitbox { + @ConfigEntry + public boolean oldFarmlandHitbox = true; + + @ConfigEntry + public boolean oldLeverHitbox = false; + } + + public static class TitleContainer { + @ConfigEntry + public float titleContainerScale = 100; + + @ConfigEntry + public int x = 540; + + @ConfigEntry + public int y = 10; + + @ConfigEntry + public Direction direction = Direction.HORIZONTAL; + + @ConfigEntry + public Alignment alignment = Alignment.MIDDLE; + } + + public static class TeleportOverlay { + @ConfigEntry + public boolean enableTeleportOverlays = true; + + @ConfigEntry + public boolean enableWeirdTransmission = true; + + @ConfigEntry + public boolean enableInstantTransmission = true; + + @ConfigEntry + public boolean enableEtherTransmission = true; + + @ConfigEntry + public boolean enableSinrecallTransmission = true; + + @ConfigEntry + public boolean enableWitherImpact = true; + } + + 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 RichPresence { + @ConfigEntry + public boolean enableRichPresence = false; + + @ConfigEntry + public Info info = Info.LOCATION; + + @ConfigEntry + public boolean cycleMode = false; - INSTANCE.load(); - ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options"))))); + @ConfigEntry + public String customMessage = "Playing Skyblock"; + } + + public static class ItemList { + @ConfigEntry + public boolean enableItemList = 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 ItemTooltip { + @ConfigEntry + public boolean enableNPCPrice = true; + + @ConfigEntry + public boolean enableMotesPrice = true; + + @ConfigEntry + public boolean enableAvgBIN = true; + + @ConfigEntry + public Average avg = Average.THREE_DAY; + + @ConfigEntry + public boolean enableLowestBIN = true; + + @ConfigEntry + public boolean enableBazaarPrice = true; + + @ConfigEntry + public boolean enableMuseumDate = true; + } + + public static class ItemInfoDisplay { + @ConfigEntry + public boolean attributeShardInfo = true; } - public static void save() { - INSTANCE.save(); + public static class SpecialEffects { + @ConfigEntry + public boolean rareDungeonDropEffects = true; + } + + public static class Locations { + @ConfigEntry + public Barn barn = new Barn(); + + @ConfigEntry + public Dungeons dungeons = new Dungeons(); + + @ConfigEntry + public DwarvenMines dwarvenMines = new DwarvenMines(); + + @ConfigEntry + public Rift rift = new Rift(); + + @ConfigEntry + public SpidersDen spidersDen = new SpidersDen(); + } + + public static class Dungeons { + @ConfigEntry + public SecretWaypoints secretWaypoints = new SecretWaypoints(); + + @ConfigEntry + public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit(); + + @ConfigEntry + public boolean croesusHelper = true; + + @ConfigEntry + public boolean enableMap = true; + + @ConfigEntry + public float mapScaling = 1f; + + @ConfigEntry + public int mapX = 2; + + @ConfigEntry + public int mapY = 2; + + @ConfigEntry + public boolean starredMobGlow = true; + + @ConfigEntry + public boolean solveThreeWeirdos = true; + + @ConfigEntry + public boolean blazesolver = true; + + @ConfigEntry + public boolean solveTrivia = true; + + @ConfigEntry + public boolean solveTicTacToe = true; + + @ConfigEntry + public LividColor lividColor = new LividColor(); + + @ConfigEntry + public Terminals terminals = new Terminals(); + } + + public static class SecretWaypoints { + @ConfigEntry + public boolean enableSecretWaypoints = true; + + @ConfigEntry + public boolean noInitSecretWaypoints = false; + + @ConfigEntry + public boolean enableEntranceWaypoints = true; + + @ConfigEntry + public boolean enableSuperboomWaypoints = true; + + @ConfigEntry + public boolean enableChestWaypoints = true; + + @ConfigEntry + public boolean enableItemWaypoints = true; + + @ConfigEntry + public boolean enableBatWaypoints = true; + + @ConfigEntry + public boolean enableWitherWaypoints = true; + + @ConfigEntry + public boolean enableLeverWaypoints = true; + + @ConfigEntry + public boolean enableFairySoulWaypoints = true; + + @ConfigEntry + public boolean enableStonkWaypoints = true; + + @ConfigEntry + public boolean enableDefaultWaypoints = true; } - public static Screen createGUI(Screen parent) { - return YetAnotherConfigLib.create(INSTANCE, (defaults, config, builder) -> { - return builder - .title(Text.literal("Skyblocker")) - .category(GeneralCategory.create(defaults, config)) - .category(DungeonsCategory.create(defaults, config)) - .category(DwarvenMinesCategory.create(defaults, config)) - .category(LocationsCategory.create(defaults, config)) - .category(SlayersCategory.create(defaults, config)) - .category(QuickNavigationCategory.create(defaults, config)) - .category(MessageFilterCategory.create(defaults, config)) - .category(DiscordRPCCategory.create(defaults, config)); - - }).generateScreen(parent); + public static class DungeonChestProfit { + @ConfigEntry + public boolean enableProfitCalculator = true; + + @ConfigEntry + public boolean includeKismet = false; + + @ConfigEntry + public boolean includeEssence = true; + + @ConfigEntry + public int neutralThreshold = 1000; + + @ConfigEntry + public FormattingOption neutralColor = FormattingOption.DARK_GRAY; + + @ConfigEntry + public FormattingOption profitColor = FormattingOption.DARK_GREEN; + + @ConfigEntry + public FormattingOption lossColor = FormattingOption.RED; + + @ConfigEntry + public FormattingOption incompleteColor = FormattingOption.BLUE; + } - /** - * Registers an options command with the given name. Used for registering both options and config as valid commands. - * - * @param name the name of the command node - * @return the command builder - */ - private static LiteralArgumentBuilder optionsLiteral(String name) { - // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed - return ClientCommandManager.literal(name).executes(Scheduler.queueOpenScreenCommand(() -> createGUI(null))); + public enum FormattingOption { + BLACK(Formatting.BLACK), + DARK_BLUE(Formatting.DARK_BLUE), + DARK_GREEN(Formatting.DARK_GREEN), + DARK_AQUA(Formatting.DARK_AQUA), + DARK_RED(Formatting.DARK_RED), + DARK_PURPLE(Formatting.DARK_PURPLE), + GOLD(Formatting.GOLD), + GRAY(Formatting.GRAY), + DARK_GRAY(Formatting.DARK_GRAY), + BLUE(Formatting.BLUE), + GREEN(Formatting.GREEN), + AQUA(Formatting.AQUA), + RED(Formatting.RED), + LIGHT_PURPLE(Formatting.LIGHT_PURPLE), + YELLOW(Formatting.YELLOW), + WHITE(Formatting.WHITE), + OBFUSCATED(Formatting.OBFUSCATED), + BOLD(Formatting.BOLD), + STRIKETHROUGH(Formatting.STRIKETHROUGH), + UNDERLINE(Formatting.UNDERLINE), + ITALIC(Formatting.ITALIC), + RESET(Formatting.RESET); + + public final Formatting formatting; + + + FormattingOption(Formatting formatting) { + this.formatting = formatting; + } + + @Override + public String toString() { + return StringUtils.capitalize(formatting.getName().replaceAll("_", " ")); + } + } + + public static class LividColor { + @ConfigEntry + public boolean enableLividColor = true; + + @ConfigEntry + public String lividColorText = "The livid color is [color]"; + } + + public static class Terminals { + @ConfigEntry + public boolean solveColor = true; + + @ConfigEntry + public boolean solveOrder = true; + + @ConfigEntry + public boolean solveStartsWith = true; + } + + public static class DwarvenMines { + @ConfigEntry + public boolean enableDrillFuel = true; + + @ConfigEntry + public boolean solveFetchur = true; + + @ConfigEntry + public boolean solvePuzzler = true; + + @ConfigEntry + public DwarvenHud dwarvenHud = new DwarvenHud(); + } + + public static class DwarvenHud { + @ConfigEntry + public boolean enabled = true; + + @ConfigEntry + public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE; + + @ConfigEntry + public boolean enableBackground = true; + + @ConfigEntry + public int x = 10; + + @ConfigEntry + public int y = 10; + } + + 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 { + @ConfigEntry + public boolean solveHungryHiker = true; + + @ConfigEntry + public boolean solveTreasureHunter = true; + } + + public static class Rift { + @ConfigEntry + public boolean mirrorverseWaypoints = true; + + @ConfigEntry + public int mcGrubberStacks = 0; + } + + public static class SpidersDen { + @ConfigEntry + public Relics relics = new Relics(); + } + + public static class Relics { + @ConfigEntry + public boolean enableRelicsHelper = false; + + @ConfigEntry + public boolean highlightFoundRelics = true; + } + + public static class Slayer { + @ConfigEntry + public VampireSlayer vampireSlayer = new VampireSlayer(); + } + + public static class VampireSlayer { + @ConfigEntry + public boolean enableEffigyWaypoints = true; + + @ConfigEntry + public boolean compactEffigyWaypoints; + + @ConfigEntry + public int effigyUpdateFrequency = 5; + + @ConfigEntry + public boolean enableHolyIceIndicator = true; + + @ConfigEntry + public int holyIceIndicatorTickDelay = 10; + + @ConfigEntry + public int holyIceUpdateFrequency = 5; + + @ConfigEntry + public boolean enableHealingMelonIndicator = true; + + @ConfigEntry + public float healingMelonHealthThreshold = 4f; + + @ConfigEntry + public boolean enableSteakStakeIndicator = true; + + @ConfigEntry + public int steakStakeUpdateFrequency = 5; + + @ConfigEntry + public boolean enableManiaIndicator = true; + + @ConfigEntry + public int maniaUpdateFrequency = 5; + } + + public static class Messages { + @ConfigEntry + public ChatFilterResult hideAbility = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideHeal = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideAOTE = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideImplosion = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideAds = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideCombo = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; + + @ConfigEntry + public ChatFilterResult hideShowOff = ChatFilterResult.PASS; + + @ConfigEntry + public boolean hideMana = false; + } + + public enum Info { + PURSE, BITS, LOCATION; + + @Override + public String toString() { + return I18n.translate("text.autoconfig.skyblocker.option.richPresence.info." + name()); + } } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java new file mode 100644 index 00000000..534dde6d --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java @@ -0,0 +1,88 @@ +package me.xmrvizzy.skyblocker.config; + +import java.lang.StackWalker.Option; +import java.nio.file.Path; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; + +import dev.isxander.yacl3.api.YetAnotherConfigLib; +import dev.isxander.yacl3.config.GsonConfigInstance; +import me.xmrvizzy.skyblocker.SkyblockerMod; +import me.xmrvizzy.skyblocker.config.categories.DiscordRPCCategory; +import me.xmrvizzy.skyblocker.config.categories.DungeonsCategory; +import me.xmrvizzy.skyblocker.config.categories.DwarvenMinesCategory; +import me.xmrvizzy.skyblocker.config.categories.GeneralCategory; +import me.xmrvizzy.skyblocker.config.categories.MessageFilterCategory; +import me.xmrvizzy.skyblocker.config.categories.LocationsCategory; +import me.xmrvizzy.skyblocker.config.categories.QuickNavigationCategory; +import me.xmrvizzy.skyblocker.config.categories.SlayersCategory; +import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.text.Text; + +@SuppressWarnings("deprecation") +public class SkyblockerConfigManager { + private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker.json"); + private static final GsonConfigInstance INSTANCE = GsonConfigInstance.createBuilder(SkyblockerConfig.class) + .setPath(PATH) + .overrideGsonBuilder(ConfigSerializer.INSTANCE) + .build(); + /*private static final ConfigClassHandler HANDLER = ConfigClassHandler.createBuilder(ConfigModel.class) + .serializer(config -> GsonConfigSerializerBuilder.create(config) + .setPath(PATH) + .setJson5(false) + .overrideGsonBuilder(ConfigSerializer.INSTANCE) + .build()) + .build();*/ + + public static SkyblockerConfig get() { + return INSTANCE.getConfig(); + } + + /** + * This method is caller sensitive and can only be called by the mod initializer, + * this is enforced. + */ + public static void init() { + if (StackWalker.getInstance(Option.RETAIN_CLASS_REFERENCE).getCallerClass() != SkyblockerMod.class) { + throw new RuntimeException("Skyblocker: Called config init from an illegal place!"); + } + + INSTANCE.load(); + ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options"))))); + } + + public static void save() { + INSTANCE.save(); + } + + public static Screen createGUI(Screen parent) { + return YetAnotherConfigLib.create(INSTANCE, (defaults, config, builder) -> { + return builder + .title(Text.literal("Skyblocker")) + .category(GeneralCategory.create(defaults, config)) + .category(DungeonsCategory.create(defaults, config)) + .category(DwarvenMinesCategory.create(defaults, config)) + .category(LocationsCategory.create(defaults, config)) + .category(SlayersCategory.create(defaults, config)) + .category(QuickNavigationCategory.create(defaults, config)) + .category(MessageFilterCategory.create(defaults, config)) + .category(DiscordRPCCategory.create(defaults, config)); + + }).generateScreen(parent); + } + + /** + * Registers an options command with the given name. Used for registering both options and config as valid commands. + * + * @param name the name of the command node + * @return the command builder + */ + private static LiteralArgumentBuilder optionsLiteral(String name) { + // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed + return ClientCommandManager.literal(name).executes(Scheduler.queueOpenScreenCommand(() -> createGUI(null))); + } +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java index 9f7d066b..4357c29c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DiscordRPCCategory.java @@ -5,13 +5,13 @@ import dev.isxander.yacl3.api.Option; import dev.isxander.yacl3.api.OptionDescription; import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.StringControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.config.ConfigUtils; import net.minecraft.text.Text; public class DiscordRPCCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.richPresence")) @@ -23,7 +23,7 @@ public class DiscordRPCCategory { newValue -> config.richPresence.enableRichPresence = newValue) .controller(BooleanControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.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, diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java index e26bbae6..0f6b1208 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DungeonsCategory.java @@ -10,8 +10,8 @@ import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder; import dev.isxander.yacl3.api.controller.StringControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; -import me.xmrvizzy.skyblocker.config.ConfigModel.FormattingOption; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig.FormattingOption; import me.xmrvizzy.skyblocker.config.ConfigUtils; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMapConfigScreen; import net.minecraft.client.MinecraftClient; @@ -19,7 +19,7 @@ import net.minecraft.text.Text; public class DungeonsCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons")) diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java index 540a04e4..c6b8b8bc 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/DwarvenMinesCategory.java @@ -7,7 +7,7 @@ import dev.isxander.yacl3.api.OptionDescription; import dev.isxander.yacl3.api.OptionGroup; import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.config.ConfigUtils; import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHudConfigScreen; import net.minecraft.client.MinecraftClient; @@ -15,7 +15,7 @@ import net.minecraft.text.Text; public class DwarvenMinesCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines")) @@ -53,7 +53,7 @@ public class DwarvenMinesCategory { newValue -> config.locations.dwarvenMines.dwarvenHud.enabled = newValue) .controller(BooleanControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.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]"), diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java index 1019703c..e75dc331 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/GeneralCategory.java @@ -9,7 +9,7 @@ import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.config.ConfigUtils; import me.xmrvizzy.skyblocker.skyblock.shortcut.ShortcutsConfigScreen; import me.xmrvizzy.skyblocker.utils.render.title.TitleContainerConfigScreen; @@ -18,7 +18,7 @@ import net.minecraft.text.Text; public class GeneralCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.general")) @@ -86,7 +86,7 @@ public class GeneralCategory { newValue -> config.general.tabHud.plainPlayerNames = newValue) .controller(BooleanControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.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, @@ -107,28 +107,28 @@ public class GeneralCategory { newValue -> config.general.bars.enableBars = newValue) .controller(BooleanControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.healthBarPosition")) .binding(defaults.general.bars.barpositions.healthBarPosition, () -> config.general.bars.barpositions.healthBarPosition, newValue -> config.general.bars.barpositions.healthBarPosition = newValue) .controller(ConfigUtils::createCyclingListController4Enum) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.manaBarPosition")) .binding(defaults.general.bars.barpositions.manaBarPosition, () -> config.general.bars.barpositions.manaBarPosition, newValue -> config.general.bars.barpositions.manaBarPosition = newValue) .controller(ConfigUtils::createCyclingListController4Enum) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.defenceBarPosition")) .binding(defaults.general.bars.barpositions.defenceBarPosition, () -> config.general.bars.barpositions.defenceBarPosition, newValue -> config.general.bars.barpositions.defenceBarPosition = newValue) .controller(ConfigUtils::createCyclingListController4Enum) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.experienceBarPosition")) .binding(defaults.general.bars.barpositions.experienceBarPosition, () -> config.general.bars.barpositions.experienceBarPosition, @@ -306,7 +306,7 @@ public class GeneralCategory { newValue -> config.general.itemTooltip.enableAvgBIN = newValue) .controller(BooleanControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.avg")) .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemTooltip.avg.@Tooltip"))) .binding(defaults.general.itemTooltip.avg, @@ -411,14 +411,14 @@ public class GeneralCategory { newValue -> config.general.titleContainer.y = newValue) .controller(IntegerFieldControllerBuilder::create) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.direction")) .binding(defaults.general.titleContainer.direction, () -> config.general.titleContainer.direction, newValue -> config.general.titleContainer.direction = newValue) .controller(ConfigUtils::createCyclingListController4Enum) .build()) - .option(Option.createBuilder() + .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.alignment")) .binding(defaults.general.titleContainer.alignment, () -> config.general.titleContainer.alignment, diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java index 640bc5e6..8c3189ee 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/LocationsCategory.java @@ -6,12 +6,12 @@ import dev.isxander.yacl3.api.OptionDescription; import dev.isxander.yacl3.api.OptionGroup; import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.text.Text; public class LocationsCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.locations")) diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java index d73a38ba..5fc5a808 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/MessageFilterCategory.java @@ -5,13 +5,13 @@ import dev.isxander.yacl3.api.Option; import dev.isxander.yacl3.api.OptionDescription; import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.config.ConfigUtils; import net.minecraft.text.Text; public class MessageFilterCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.messages")) diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java index 831efa07..4ca38375 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/QuickNavigationCategory.java @@ -6,12 +6,12 @@ import dev.isxander.yacl3.api.OptionGroup; import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder; import dev.isxander.yacl3.api.controller.StringControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.text.Text; public class QuickNavigationCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.quickNav")) diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java b/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java index f7f1886b..bfb3c6ad 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/categories/SlayersCategory.java @@ -8,12 +8,12 @@ import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder; import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder; -import me.xmrvizzy.skyblocker.config.ConfigModel; +import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import net.minecraft.text.Text; public class SlayersCategory { - public static ConfigCategory create(ConfigModel defaults, ConfigModel config) { + public static ConfigCategory create(SkyblockerConfig defaults, SkyblockerConfig config) { return ConfigCategory.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.category.slayer")) diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java index db517411..df71396e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/AbstractInventoryScreenMixin.java @@ -5,7 +5,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; @@ -14,6 +14,6 @@ public class AbstractInventoryScreenMixin { @Inject(method = "drawStatusEffects", at = @At("HEAD"), cancellable = true) private void skyblocker$dontDrawStatusEffects(CallbackInfo ci) { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.hideStatusEffectOverlay) ci.cancel(); + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hideStatusEffectOverlay) ci.cancel(); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java index a90cf4d4..1076332f 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ArmorTrimMixin.java @@ -3,7 +3,7 @@ package me.xmrvizzy.skyblocker.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import com.llamalad7.mixinextras.sugar.Local; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.item.CustomArmorTrims; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.item.ItemStack; @@ -22,7 +22,7 @@ public class ArmorTrimMixin { NbtCompound nbt = stack.getNbt(); if (Utils.isOnSkyblock() && nbt != null && nbt.contains("ExtraAttributes")) { - Object2ObjectOpenHashMap customTrims = SkyblockerConfig.get().general.customArmorTrims; + Object2ObjectOpenHashMap customTrims = SkyblockerConfigManager.get().general.customArmorTrims; NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes"); String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java index cfe979d0..356095ab 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DrawContextMixin.java @@ -6,7 +6,7 @@ import com.mojang.blaze3d.systems.RenderSystem; import dev.cbyrne.betterinject.annotations.Arg; import dev.cbyrne.betterinject.annotations.Inject; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.item.AttributeShards; import me.xmrvizzy.skyblocker.utils.ItemUtils; import me.xmrvizzy.skyblocker.utils.Utils; @@ -42,7 +42,7 @@ public abstract class DrawContextMixin { @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD")) public void skyblocker$renderItemBar(@Arg ItemStack stack, @Arg(ordinal = 0) int x, @Arg(ordinal = 1) int y) { - if (!Utils.isOnSkyblock() || !SkyblockerConfig.get().locations.dwarvenMines.enableDrillFuel || stack.isEmpty()) { + if (!Utils.isOnSkyblock() || !SkyblockerConfigManager.get().locations.dwarvenMines.enableDrillFuel || stack.isEmpty()) { return; } @@ -99,7 +99,7 @@ public abstract class DrawContextMixin { @Inject(method = "drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V", at = @At("HEAD")) private void skyblocker$renderAttributeShardDisplay(@Arg TextRenderer textRenderer, @Arg ItemStack stack, @Arg(ordinal = 0) int x, @Arg(ordinal = 1) int y, @Local(argsOnly = true) LocalRef countOverride) { - if (!SkyblockerConfig.get().general.itemInfoDisplay.attributeShardInfo) return; + if (!SkyblockerConfigManager.get().general.itemInfoDisplay.attributeShardInfo) return; NbtCompound nbt = stack.getNbt(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java index f04c4cdd..bbe31472 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/DyeableItemMixin.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.item.DyeableItem; import net.minecraft.item.ItemStack; @@ -19,7 +19,7 @@ public interface DyeableItemMixin { NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes"); String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; - return SkyblockerConfig.get().general.customDyeColors.getOrDefault(itemUuid, originalColor); + return SkyblockerConfigManager.get().general.customDyeColors.getOrDefault(itemUuid, originalColor); } return originalColor; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java index b07390b7..94053381 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/FarmlandBlockMixin.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -27,7 +27,7 @@ public abstract class FarmlandBlockMixin extends Block { @ModifyReturnValue(method = "getOutlineShape", at = @At("RETURN")) private VoxelShape skyblocker$replaceOutlineShape(VoxelShape original) { - return Utils.isOnSkyblock() && SkyblockerConfig.get().general.hitbox.oldFarmlandHitbox ? VoxelShapes.fullCube() : original; + return Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hitbox.oldFarmlandHitbox ? VoxelShapes.fullCube() : original; } @SuppressWarnings("deprecation") diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java index 33532788..17497ded 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.experiment.ChronomatronSolver; import me.xmrvizzy.skyblocker.skyblock.experiment.ExperimentSolver; import me.xmrvizzy.skyblocker.skyblock.experiment.SuperpairsSolver; @@ -59,18 +59,18 @@ public abstract class HandledScreenMixin extends Screen { if (!Utils.isOnSkyblock()) return; // Hide Empty Tooltips - if (SkyblockerConfig.get().general.hideEmptyTooltips && focusedSlot.getStack().getName().getString().equals(" ")) { + if (SkyblockerConfigManager.get().general.hideEmptyTooltips && focusedSlot.getStack().getName().getString().equals(" ")) { ci.cancel(); } // Backpack Preview - boolean shiftDown = SkyblockerConfig.get().general.backpackPreviewWithoutShift ^ Screen.hasShiftDown(); + boolean shiftDown = SkyblockerConfigManager.get().general.backpackPreviewWithoutShift ^ Screen.hasShiftDown(); if (shiftDown && getTitle().getString().equals("Storage") && focusedSlot.inventory != client.player.getInventory() && BackpackPreview.renderPreview(context, focusedSlot.getIndex(), x, y)) { ci.cancel(); } // Compactor Preview - if (SkyblockerConfig.get().general.compactorDeletorPreview) { + if (SkyblockerConfigManager.get().general.compactorDeletorPreview) { ItemStack stack = focusedSlot.getStack(); Matcher matcher = CompactorDeletorPreview.NAME.matcher(ItemRegistry.getInternalName(stack)); if (matcher.matches() && CompactorDeletorPreview.drawPreview(context, stack, matcher.group("type"), matcher.group("size"), x, y)) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java index 752b102a..c73ca2aa 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InGameHudMixin.java @@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker.mixin; import com.llamalad7.mixinextras.sugar.Local; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.FancyStatusBars; import me.xmrvizzy.skyblocker.skyblock.HotbarSlotLock; import me.xmrvizzy.skyblocker.skyblock.dungeon.DungeonMap; @@ -41,7 +41,7 @@ public abstract class InGameHudMixin { @Inject(method = "renderExperienceBar", at = @At("HEAD"), cancellable = true) private void skyblocker$renderExperienceBar(CallbackInfo ci) { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.bars.enableBars && !Utils.isInTheRift()) + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.bars.enableBars && !Utils.isInTheRift()) ci.cancel(); } @@ -52,18 +52,18 @@ public abstract class InGameHudMixin { if (statusBars.render(context, scaledWidth, scaledHeight)) ci.cancel(); - if (Utils.isInDungeons() && SkyblockerConfig.get().locations.dungeons.enableMap) + if (Utils.isInDungeons() && SkyblockerConfigManager.get().locations.dungeons.enableMap) DungeonMap.render(context.getMatrices()); } @Inject(method = "renderMountHealth", at = @At("HEAD"), cancellable = true) private void skyblocker$renderMountHealth(CallbackInfo ci) { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.bars.enableBars && !Utils.isInTheRift()) + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.bars.enableBars && !Utils.isInTheRift()) ci.cancel(); } @Inject(method = "renderStatusEffectOverlay", at = @At("HEAD"), cancellable = true) private void skyblocker$dontRenderStatusEffects(CallbackInfo ci) { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.hideStatusEffectOverlay) ci.cancel(); + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.hideStatusEffectOverlay) ci.cancel(); } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java index 729124fd..596fa1f9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.mixin; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.gui.screen.ingame.InventoryScreen; @@ -13,6 +13,6 @@ import org.spongepowered.asm.mixin.injection.At; public abstract class InventoryScreenMixin { @ModifyExpressionValue(method = "", at = @At(value = "NEW", target = "net/minecraft/client/gui/screen/recipebook/RecipeBookWidget")) private RecipeBookWidget skyblocker$replaceRecipeBook(RecipeBookWidget original) { - return SkyblockerConfig.get().general.itemList.enableItemList && Utils.isOnSkyblock() ? new ItemListWidget() : original; + return SkyblockerConfigManager.get().general.itemList.enableItemList && Utils.isOnSkyblock() ? new ItemListWidget() : original; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java index 63dc6624..063c048e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/ItemStackMixin.java @@ -7,7 +7,7 @@ import org.spongepowered.asm.mixin.injection.At; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; @@ -25,7 +25,7 @@ public abstract class ItemStackMixin { NbtCompound extraAttributes = nbt.getCompound("ExtraAttributes"); String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; - return SkyblockerConfig.get().general.customItemNames.getOrDefault(itemUuid, original); + return SkyblockerConfigManager.get().general.customItemNames.getOrDefault(itemUuid, original); } return original; diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java index ec7b6ddd..903e8ee0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/PlayerListHudMixin.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.mixin; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.tabhud.TabHud; import me.xmrvizzy.skyblocker.skyblock.tabhud.screenbuilder.ScreenMaster; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr; @@ -28,7 +28,7 @@ public class PlayerListHudMixin { @Inject(at = @At("HEAD"), method = "render(Lnet/minecraft/client/gui/DrawContext;ILnet/minecraft/scoreboard/Scoreboard;Lnet/minecraft/scoreboard/ScoreboardObjective;)V", cancellable = true) public void skyblocker$renderTabHud(@Arg DrawContext context, @Arg int w, CallbackInfo info) { - if (!Utils.isOnSkyblock() || !SkyblockerConfig.get().general.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed()) { + if (!Utils.isOnSkyblock() || !SkyblockerConfigManager.get().general.tabHud.tabHudEnabled || TabHud.defaultTgl.isPressed()) { return; } @@ -38,7 +38,7 @@ public class PlayerListHudMixin { } int h = MinecraftClient.getInstance().getWindow().getScaledHeight(); - float scale = SkyblockerConfig.get().general.tabHud.tabHudScale / 100f; + float scale = SkyblockerConfigManager.get().general.tabHud.tabHudScale / 100f; w = (int) (w / scale); h = (int) (h / scale); diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java index 53dd57a7..8cf94c69 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/WorldRendererMixin.java @@ -9,7 +9,7 @@ import com.llamalad7.mixinextras.sugar.Local; import com.llamalad7.mixinextras.sugar.Share; import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.dungeon.StarredMobGlow; import net.minecraft.client.render.WorldRenderer; import net.minecraft.entity.Entity; @@ -19,7 +19,7 @@ public class WorldRendererMixin { @ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;hasOutline(Lnet/minecraft/entity/Entity;)Z")) private boolean skyblocker$shouldStarredMobGlow(boolean original, @Local Entity entity, @Share("isGlowingStarredMob") LocalBooleanRef isGlowingStarredMob) { - boolean isAStarredMobThatShouldGlow = SkyblockerConfig.get().locations.dungeons.starredMobGlow && StarredMobGlow.shouldMobGlow(entity); + boolean isAStarredMobThatShouldGlow = SkyblockerConfigManager.get().locations.dungeons.starredMobGlow && StarredMobGlow.shouldMobGlow(entity); isGlowingStarredMob.set(isAStarredMobThatShouldGlow); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java index 1933184a..46454fb3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java @@ -7,8 +7,8 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.mojang.brigadier.CommandDispatcher; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.NEURepo; import me.xmrvizzy.skyblocker.utils.PosUtils; import me.xmrvizzy.skyblocker.utils.Utils; @@ -142,7 +142,7 @@ public class FairySouls { } private static void render(WorldRenderContext context) { - ConfigModel.FairySouls fairySoulsConfig = SkyblockerConfig.get().general.fairySouls; + SkyblockerConfig.FairySouls fairySoulsConfig = SkyblockerConfigManager.get().general.fairySouls; if (fairySoulsConfig.enableFairySoulsHelper && fairySoulsLoaded.isDone() && fairySouls.containsKey(Utils.getLocationRaw())) { for (BlockPos fairySoulPos : fairySouls.get(Utils.getLocationRaw())) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java index 1a460f5b..56b6c7fe 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; @@ -40,7 +40,7 @@ public class FancyStatusBars { public boolean render(DrawContext context, int scaledWidth, int scaledHeight) { var player = client.player; - if (!SkyblockerConfig.get().general.bars.enableBars || player == null || Utils.isInTheRift()) + if (!SkyblockerConfigManager.get().general.bars.enableBars || player == null || Utils.isInTheRift()) return false; anchorsX[0] = scaledWidth / 2 - 91; anchorsY[0] = scaledHeight - 33; @@ -60,10 +60,10 @@ public class FancyStatusBars { // Update positions of bars from config for (int i = 0; i < 4; i++) { int configAnchorNum = switch (i) { - case 0 -> SkyblockerConfig.get().general.bars.barpositions.healthBarPosition.toInt(); - case 1 -> SkyblockerConfig.get().general.bars.barpositions.manaBarPosition.toInt(); - case 2 -> SkyblockerConfig.get().general.bars.barpositions.defenceBarPosition.toInt(); - case 3 -> SkyblockerConfig.get().general.bars.barpositions.experienceBarPosition.toInt(); + case 0 -> SkyblockerConfigManager.get().general.bars.barpositions.healthBarPosition.toInt(); + case 1 -> SkyblockerConfigManager.get().general.bars.barpositions.manaBarPosition.toInt(); + case 2 -> SkyblockerConfigManager.get().general.bars.barpositions.defenceBarPosition.toInt(); + case 3 -> SkyblockerConfigManager.get().general.bars.barpositions.experienceBarPosition.toInt(); default -> 0; }; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java index f039a79d..dca3f30b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FishingHelper.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import me.xmrvizzy.skyblocker.utils.render.title.Title; import net.fabricmc.fabric.api.event.player.UseItemCallback; @@ -46,7 +46,7 @@ public class FishingHelper { public static void onSound(PlaySoundS2CPacket packet) { String path = packet.getSound().value().getId().getPath(); - if (SkyblockerConfig.get().general.fishing.enableFishingHelper && startTime != 0 && System.currentTimeMillis() >= startTime + 2000 && ("entity.generic.splash".equals(path) || "entity.player.splash".equals(path))) { + if (SkyblockerConfigManager.get().general.fishing.enableFishingHelper && startTime != 0 && System.currentTimeMillis() >= startTime + 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()); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java index 9f38fe35..ab8ea882 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/HotbarSlotLock.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock; import me.shedaniel.autoconfig.AutoConfig; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.option.KeyBinding; @@ -22,7 +22,7 @@ public class HotbarSlotLock { } public static boolean isLocked(int slot) { - return SkyblockerConfig.get().general.lockedSlots.contains(slot); + return SkyblockerConfigManager.get().general.lockedSlots.contains(slot); } public static void handleDropSelectedItem(int slot, CallbackInfoReturnable cir) { @@ -31,11 +31,11 @@ public class HotbarSlotLock { public static void handleInputEvents(ClientPlayerEntity player) { while (hotbarSlotLock.wasPressed()) { - List lockedSlots = SkyblockerConfig.get().general.lockedSlots; + List lockedSlots = SkyblockerConfigManager.get().general.lockedSlots; int selected = player.getInventory().selectedSlot; if (!isLocked(player.getInventory().selectedSlot)) lockedSlots.add(selected); else lockedSlots.remove(Integer.valueOf(selected)); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); } } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java index 381bf94c..2d0715e4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/QuiverWarning.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; @@ -21,7 +21,7 @@ public class QuiverWarning { public static boolean onChatMessage(Text text, boolean overlay) { String message = text.getString(); - if (SkyblockerConfig.get().general.quiverWarning.enableQuiverWarning && message.endsWith("left in your Quiver!")) { + if (SkyblockerConfigManager.get().general.quiverWarning.enableQuiverWarning && message.endsWith("left in your Quiver!")) { MinecraftClient.getInstance().inGameHud.setDefaultTitleFade(); if (message.startsWith("You only have 50")) { onChatMessage(Type.FIFTY_LEFT); @@ -37,14 +37,14 @@ public class QuiverWarning { private static void onChatMessage(Type warning) { if (!Utils.isInDungeons()) { MinecraftClient.getInstance().inGameHud.setTitle(Text.translatable(warning.key).formatted(Formatting.RED)); - } else if (SkyblockerConfig.get().general.quiverWarning.enableQuiverWarningInDungeons) { + } else if (SkyblockerConfigManager.get().general.quiverWarning.enableQuiverWarningInDungeons) { MinecraftClient.getInstance().inGameHud.setTitle(Text.translatable(warning.key).formatted(Formatting.RED)); QuiverWarning.warning = warning; } } public static void update() { - if (warning != null && SkyblockerConfig.get().general.quiverWarning.enableQuiverWarning && SkyblockerConfig.get().general.quiverWarning.enableQuiverWarningAfterDungeon && !Utils.isInDungeons()) { + if (warning != null && SkyblockerConfigManager.get().general.quiverWarning.enableQuiverWarning && SkyblockerConfigManager.get().general.quiverWarning.enableQuiverWarningAfterDungeon && !Utils.isInDungeons()) { InGameHud inGameHud = MinecraftClient.getInstance().inGameHud; inGameHud.setDefaultTitleFade(); inGameHud.setTitle(Text.translatable(warning.key).formatted(Formatting.RED)); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java index aeee9978..ae5aff0b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/StatusBarTracker.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; import net.minecraft.client.MinecraftClient; @@ -66,10 +66,10 @@ public class StatusBarTracker { } private Text onOverlayMessage(Text text, boolean overlay) { - if (!overlay || !Utils.isOnSkyblock() || !SkyblockerConfig.get().general.bars.enableBars || Utils.isInTheRift()) { + if (!overlay || !Utils.isOnSkyblock() || !SkyblockerConfigManager.get().general.bars.enableBars || Utils.isInTheRift()) { return text; } - return Text.of(update(text.getString(), SkyblockerConfig.get().messages.hideMana)); + return Text.of(update(text.getString(), SkyblockerConfigManager.get().messages.hideMana)); } public String update(String actionBar, boolean filterManaUse) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java index c7ab926e..1aeeb6d3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/TeleportOverlay.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock; import com.mojang.blaze3d.systems.RenderSystem; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -24,7 +24,7 @@ public class TeleportOverlay { } private static void render(WorldRenderContext wrc) { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.teleportOverlay.enableTeleportOverlays && client.player != null && client.world != null) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.teleportOverlay.enableTeleportOverlays && client.player != null && client.world != null) { ItemStack heldItem = client.player.getMainHandStack(); String itemId = PriceInfoTooltip.getInternalNameFromNBT(heldItem, true); NbtCompound nbt = heldItem.getNbt(); @@ -32,34 +32,34 @@ public class TeleportOverlay { if (itemId != null) { switch (itemId) { case "ASPECT_OF_THE_LEECH_1" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableWeirdTransmission) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableWeirdTransmission) { render(wrc, 3); } } case "ASPECT_OF_THE_LEECH_2" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableWeirdTransmission) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableWeirdTransmission) { render(wrc, 4); } } case "ASPECT_OF_THE_END", "ASPECT_OF_THE_VOID" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && nbt != null && nbt.getCompound("ExtraAttributes").getInt("ethermerge") == 1) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission && client.options.sneakKey.isPressed() && nbt != null && nbt.getCompound("ExtraAttributes").getInt("ethermerge") == 1) { render(wrc, nbt, 57); - } else if (SkyblockerConfig.get().general.teleportOverlay.enableInstantTransmission) { + } else if (SkyblockerConfigManager.get().general.teleportOverlay.enableInstantTransmission) { render(wrc, nbt, 8); } } case "ETHERWARP_CONDUIT" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableEtherTransmission) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableEtherTransmission) { render(wrc, nbt, 57); } } case "SINSEEKER_SCYTHE" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableSinrecallTransmission) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableSinrecallTransmission) { render(wrc, nbt, 4); } } case "NECRON_BLADE", "ASTRAEA", "HYPERION", "SCYLLA", "VALKYRIE" -> { - if (SkyblockerConfig.get().general.teleportOverlay.enableWitherImpact) { + if (SkyblockerConfigManager.get().general.teleportOverlay.enableWitherImpact) { render(wrc, 10); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java index a5d02d93..91862622 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/HungryHiker.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.barn; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; @@ -18,7 +18,7 @@ public class HungryHiker extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.barn.solveHungryHiker ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java index ba42d2ba..385dc20b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/barn/TreasureHunter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.barn; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; @@ -18,7 +18,7 @@ public class TreasureHunter extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.barn.solveTreasureHunter ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.barn.solveTreasureHunter ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java index bf3cc36d..67e6d7f4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/CroesusHelper.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; import net.minecraft.item.ItemStack; @@ -17,7 +17,7 @@ public class CroesusHelper extends ContainerSolver { @Override protected boolean isEnabled() { - return SkyblockerConfig.get().locations.dungeons.croesusHelper; + return SkyblockerConfigManager.get().locations.dungeons.croesusHelper; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java index 8d676d0b..f39684eb 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; import it.unimi.dsi.fastutil.objects.ObjectIntPair; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; @@ -106,7 +106,7 @@ public class DungeonBlaze { */ public static void blazeRenderer(WorldRenderContext wrc) { try { - if (highestBlaze != null && lowestBlaze != null && highestBlaze.isAlive() && lowestBlaze.isAlive() && SkyblockerConfig.get().locations.dungeons.blazesolver) { + if (highestBlaze != null && lowestBlaze != null && highestBlaze.isAlive() && lowestBlaze.isAlive() && SkyblockerConfigManager.get().locations.dungeons.blazesolver) { if (highestBlaze.getY() < 69) { renderBlazeOutline(highestBlaze, nextHighestBlaze, wrc); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java index f6fd5909..91be5248 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonChestProfit.java @@ -2,8 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; import com.google.gson.JsonObject; import it.unimi.dsi.fastutil.ints.IntBooleanPair; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.mixin.accessor.ScreenAccessor; import me.xmrvizzy.skyblocker.skyblock.item.PriceInfoTooltip; import me.xmrvizzy.skyblocker.utils.Utils; @@ -41,7 +41,7 @@ public class DungeonChestProfit { public static Text getChestProfit(GenericContainerScreenHandler handler, Text title, MinecraftClient client) { try { - if (SkyblockerConfig.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator && isDungeonChest(title.getString())) { + if (SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator && isDungeonChest(title.getString())) { int profit = 0; boolean hasIncompleteData = false, usedKismet = false; List slots = handler.slots.subList(0, handler.getRows() * 9); @@ -69,7 +69,7 @@ public class DungeonChestProfit { } //Essence price - if (name.contains("Essence") && SkyblockerConfig.get().locations.dungeons.dungeonChestProfit.includeEssence) { + if (name.contains("Essence") && SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.includeEssence) { Matcher matcher = ESSENCE_PATTERN.matcher(name); if (matcher.matches()) { @@ -106,7 +106,7 @@ public class DungeonChestProfit { } } - if (SkyblockerConfig.get().locations.dungeons.dungeonChestProfit.includeKismet && usedKismet) { + if (SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.includeKismet && usedKismet) { IntBooleanPair kismetPriceData = getItemPrice("KISMET_FEATHER"); if (!kismetPriceData.rightBoolean()) hasIncompleteData = true; @@ -159,7 +159,7 @@ public class DungeonChestProfit { } private static Text getProfitText(int profit, boolean hasIncompleteData) { - ConfigModel.DungeonChestProfit config = SkyblockerConfig.get().locations.dungeons.dungeonChestProfit; + SkyblockerConfig.DungeonChestProfit config = SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit; return getProfitText(profit, hasIncompleteData, config.neutralThreshold, config.neutralColor.formatting, config.profitColor.formatting, config.lossColor.formatting, config.incompleteColor.formatting); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java index a70dd501..53cc4fac 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMap.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -32,9 +32,9 @@ public class DungeonMap { VertexConsumerProvider.Immediate vertices = client.getBufferBuilders().getEffectVertexConsumers(); MapRenderer map = client.gameRenderer.getMapRenderer(); MapState state = FilledMapItem.getMapState(mapid, client.world); - float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling; - int x = SkyblockerConfig.get().locations.dungeons.mapX; - int y = SkyblockerConfig.get().locations.dungeons.mapY; + float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling; + int x = SkyblockerConfigManager.get().locations.dungeons.mapX; + int y = SkyblockerConfigManager.get().locations.dungeons.mapY; if (state == null) return; matrices.push(); @@ -47,7 +47,7 @@ public class DungeonMap { } public static void renderHUDMap(DrawContext context, int x, int y) { - float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling; + float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling; int size = (int) (128 * scaling); context.drawTexture(MAP_BACKGROUND, x, y, 0, 0, size, size, size, size); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java index 88a9070e..94b05e86 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; @@ -10,8 +10,8 @@ import java.awt.*; public class DungeonMapConfigScreen extends Screen { - private int hudX = SkyblockerConfig.get().locations.dungeons.mapX; - private int hudY = SkyblockerConfig.get().locations.dungeons.mapY; + private int hudX = SkyblockerConfigManager.get().locations.dungeons.mapX; + private int hudY = SkyblockerConfigManager.get().locations.dungeons.mapY; private final Screen parent; protected DungeonMapConfigScreen() { @@ -33,7 +33,7 @@ public class DungeonMapConfigScreen extends Screen { @Override public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) { - float scaling = SkyblockerConfig.get().locations.dungeons.mapScaling; + float scaling = SkyblockerConfigManager.get().locations.dungeons.mapScaling; int size = (int) (128 * scaling); if (RenderHelper.pointIsInArea(mouseX, mouseY, hudX, hudY, hudX + size, hudY + size) && button == 0) { hudX = (int) Math.max(Math.min(mouseX - (size >> 1), this.width - size), 0); @@ -54,9 +54,9 @@ public class DungeonMapConfigScreen extends Screen { @Override public void close() { - SkyblockerConfig.get().locations.dungeons.mapX = hudX; - SkyblockerConfig.get().locations.dungeons.mapY = hudY; - SkyblockerConfig.save(); + SkyblockerConfigManager.get().locations.dungeons.mapX = hudX; + SkyblockerConfigManager.get().locations.dungeons.mapY = hudY; + SkyblockerConfigManager.save(); this.client.setScreen(parent); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java index e5d8a720..2df8192d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/LividColor.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.scheduler.MessageScheduler; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; @@ -12,7 +12,7 @@ public class LividColor { public static void init() { ClientReceiveMessageEvents.GAME.register((message, overlay) -> { - if (SkyblockerConfig.get().locations.dungeons.lividColor.enableLividColor && message.getString().equals("[BOSS] Livid: I respect you for making it to here, but I'll be your undoing.")) { + if (SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColor && message.getString().equals("[BOSS] Livid: I respect you for making it to here, but I'll be your undoing.")) { tenTicks = 8; } }); @@ -21,15 +21,15 @@ public class LividColor { public static void update() { MinecraftClient client = MinecraftClient.getInstance(); if (tenTicks != 0) { - if (SkyblockerConfig.get().locations.dungeons.lividColor.enableLividColor && Utils.isInDungeons() && client.world != null) { + if (SkyblockerConfigManager.get().locations.dungeons.lividColor.enableLividColor && Utils.isInDungeons() && client.world != null) { if (tenTicks == 1) { - MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfig.get().locations.dungeons.lividColor.lividColorText.replace("[color]", "red")); + MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfigManager.get().locations.dungeons.lividColor.lividColorText.replace("[color]", "red")); tenTicks = 0; return; } String key = client.world.getBlockState(new BlockPos(5, 110, 42)).getBlock().getTranslationKey(); if (key.startsWith("block.minecraft.") && key.endsWith("wool") && !key.endsWith("red_wool")) { - MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfig.get().locations.dungeons.lividColor.lividColorText.replace("[color]", key.substring(16, key.length() - 5))); + MessageScheduler.INSTANCE.sendMessageAfterCooldown(SkyblockerConfigManager.get().locations.dungeons.lividColor.lividColorText.replace("[color]", key.substring(16, key.length() - 5))); tenTicks = 0; return; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java index 91de7a1d..b9fba7be 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/OldLever.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import net.minecraft.block.Block; import net.minecraft.block.enums.BlockFace; import net.minecraft.util.math.Direction; @@ -14,7 +14,7 @@ public class OldLever { protected static final VoxelShape WEST_SHAPE = Block.createCuboidShape(10.0D, 3.0D, 5.0D, 16.0D, 13.0D, 11.0D); public static VoxelShape getShape(BlockFace face, Direction direction) { - if (!SkyblockerConfig.get().general.hitbox.oldLeverHitbox) + if (!SkyblockerConfigManager.get().general.hitbox.oldLeverHitbox) return null; if (face == BlockFace.FLOOR) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java index 8d8a840a..288a8b5a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Reparty.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; @@ -43,7 +43,7 @@ public class Reparty extends ChatPatternListener { @Override public ChatFilterResult state() { - return (SkyblockerConfig.get().general.acceptReparty || this.repartying) ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + return (SkyblockerConfigManager.get().general.acceptReparty || this.repartying) ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java index 9f522942..05ed4d94 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/ThreeWeirdos.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; @@ -17,7 +17,7 @@ public class ThreeWeirdos extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.dungeons.solveThreeWeirdos ? null : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.dungeons.solveThreeWeirdos ? null : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java index a97b6752..21493da7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/TicTacToe.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import me.xmrvizzy.skyblocker.utils.tictactoe.TicTacToeUtils; @@ -126,7 +126,7 @@ public class TicTacToe { private static void solutionRenderer(WorldRenderContext context) { try { - if (SkyblockerConfig.get().locations.dungeons.solveTicTacToe && nextBestMoveToMake != null) { + if (SkyblockerConfigManager.get().locations.dungeons.solveTicTacToe && nextBestMoveToMake != null) { RenderHelper.renderOutline(context, nextBestMoveToMake, RED_COLOR_COMPONENTS, 5); } } catch (Exception e) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java index 8497041b..b1e51aa6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/Trivia.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.skyblock.FairySouls; @@ -24,7 +24,7 @@ public class Trivia extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.dungeons.solveTrivia ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.dungeons.solveTrivia ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java index ac389d34..4e4e9565 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/DungeonSecrets.java @@ -11,7 +11,7 @@ import it.unimi.dsi.fastutil.objects.Object2ByteMap; import it.unimi.dsi.fastutil.objects.Object2ByteOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectIntPair; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -133,7 +133,7 @@ public class DungeonSecrets { * Use {@link #isRoomsLoaded()} to check for completion of loading. */ public static void init() { - if (SkyblockerConfig.get().locations.dungeons.secretWaypoints.noInitSecretWaypoints) { + if (SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.noInitSecretWaypoints) { return; } // Execute with MinecraftClient as executor since we need to wait for MinecraftClient#resourceManager to be set @@ -248,7 +248,7 @@ public class DungeonSecrets { */ @SuppressWarnings("JavadocReference") private static void update() { - if (!SkyblockerConfig.get().locations.dungeons.secretWaypoints.enableSecretWaypoints) { + if (!SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.enableSecretWaypoints) { return; } if (!Utils.isInDungeons()) { @@ -430,12 +430,12 @@ public class DungeonSecrets { } /** - * Checks if the player is in a dungeon and {@link me.xmrvizzy.skyblocker.config.SkyblockerConfig.Dungeons#secretWaypoints Secret Waypoints} is enabled. + * Checks if the player is in a dungeon and {@link me.xmrvizzy.skyblocker.config.SkyblockerConfigManager.Dungeons#secretWaypoints Secret Waypoints} is enabled. * * @return whether dungeon secrets should be processed */ private static boolean shouldProcess() { - return SkyblockerConfig.get().locations.dungeons.secretWaypoints.enableSecretWaypoints && Utils.isInDungeons(); + return SkyblockerConfigManager.get().locations.dungeons.secretWaypoints.enableSecretWaypoints && Utils.isInDungeons(); } /** diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java index 13ea400a..73ac1883 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/secrets/SecretWaypoint.java @@ -2,8 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon.secrets; import com.google.gson.JsonObject; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.minecraft.client.MinecraftClient; @@ -93,10 +93,10 @@ public class SecretWaypoint { FAIRYSOUL(secretWaypoints -> secretWaypoints.enableFairySoulWaypoints, 255, 85, 255), STONK(secretWaypoints -> secretWaypoints.enableStonkWaypoints, 146, 52, 235), DEFAULT(secretWaypoints -> secretWaypoints.enableDefaultWaypoints, 190, 255, 252); - private final Predicate enabledPredicate; + private final Predicate enabledPredicate; private final float[] colorComponents; - Category(Predicate enabledPredicate, int... intColorComponents) { + Category(Predicate enabledPredicate, int... intColorComponents) { this.enabledPredicate = enabledPredicate; colorComponents = new float[intColorComponents.length]; for (int i = 0; i < intColorComponents.length; i++) { @@ -136,7 +136,7 @@ public class SecretWaypoint { } boolean isEnabled() { - return enabledPredicate.test(SkyblockerConfig.get().locations.dungeons.secretWaypoints); + return enabledPredicate.test(SkyblockerConfigManager.get().locations.dungeons.secretWaypoints); } } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java index 7aac04b5..787d696e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; import net.minecraft.item.Item; @@ -28,7 +28,7 @@ public class ColorTerminal extends ContainerSolver { @Override protected boolean isEnabled() { targetColor = null; - return SkyblockerConfig.get().locations.dungeons.terminals.solveColor; + return SkyblockerConfigManager.get().locations.dungeons.terminals.solveColor; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java index 01437919..afb07b4b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/OrderTerminal.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; import net.minecraft.item.ItemStack; @@ -24,7 +24,7 @@ public class OrderTerminal extends ContainerSolver { protected boolean isEnabled() { orderedSlots = null; currentNum = 0; - return SkyblockerConfig.get().locations.dungeons.terminals.solveOrder; + return SkyblockerConfigManager.get().locations.dungeons.terminals.solveOrder; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java index 988b570e..fa9fa324 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/StartsWithTerminal.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dungeon.terminal; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; import net.minecraft.item.ItemStack; @@ -16,7 +16,7 @@ public class StartsWithTerminal extends ContainerSolver { @Override protected boolean isEnabled() { - return SkyblockerConfig.get().locations.dungeons.terminals.solveStartsWith; + return SkyblockerConfigManager.get().locations.dungeons.terminals.solveStartsWith; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java index 3563741c..3d8292a5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHud.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; import it.unimi.dsi.fastutil.ints.IntIntPair; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; @@ -46,19 +46,19 @@ public class DwarvenHud { .executes(Scheduler.queueOpenScreenCommand(DwarvenHudConfigScreen::new)))))); HudRenderCallback.EVENT.register((context, tickDelta) -> { - if (!SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled + if (!SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabled || client.options.playerListKey.isPressed() || client.player == null || commissionList.isEmpty()) { return; } - render(HudCommsWidget.INSTANCE, context, SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x, - SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y, commissionList); + render(HudCommsWidget.INSTANCE, context, SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x, + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y, commissionList); }); } public static IntIntPair getDimForConfig(List commissions) { - return switch (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) { + return switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) { case SIMPLE -> { HudCommsWidget.INSTANCE_CFG.updateData(commissions, false); yield IntIntPair.of( @@ -77,7 +77,7 @@ public class DwarvenHud { public static void render(HudCommsWidget hcw, DrawContext context, int hudX, int hudY, List commissions) { - switch (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.style) { + switch (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style) { case SIMPLE -> renderSimple(hcw, context, hudX, hudY, commissions); case FANCY -> renderFancy(hcw, context, hudX, hudY, commissions); case CLASSIC -> renderClassic(context, hudX, hudY, commissions); @@ -85,7 +85,7 @@ public class DwarvenHud { } public static void renderClassic(DrawContext context, int hudX, int hudY, List commissions) { - if (SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground) { + if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground) { context.fill(hudX, hudY, hudX + 200, hudY + (20 * commissions.size()), 0x64000000); } @@ -108,7 +108,7 @@ public class DwarvenHud { hcw.setX(hudX); hcw.setY(hudY); hcw.render(context, - SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground); } public static void renderFancy(HudCommsWidget hcw, DrawContext context, int hudX, int hudY, List commissions) { @@ -117,12 +117,12 @@ public class DwarvenHud { hcw.setX(hudX); hcw.setY(hudY); hcw.render(context, - SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enableBackground); + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enableBackground); } public static void update() { commissionList = new ArrayList<>(); - if (client.player == null || client.getNetworkHandler() == null || !SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.enabled) + if (client.player == null || client.getNetworkHandler() == null || !SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.enabled) return; client.getNetworkHandler().getPlayerList().forEach(playerListEntry -> { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java index ee7c71a2..6e5784e3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java @@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; import it.unimi.dsi.fastutil.ints.IntIntPair; import me.shedaniel.autoconfig.AutoConfig; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud.Commission; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -17,8 +17,8 @@ public class DwarvenHudConfigScreen extends Screen { private static final List CFG_COMMS = List.of(new DwarvenHud.Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%")); - private int hudX = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x; - private int hudY = SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y; + private int hudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x; + private int hudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y; private final Screen parent; protected DwarvenHudConfigScreen() { @@ -60,9 +60,9 @@ public class DwarvenHudConfigScreen extends Screen { @Override public void close() { - SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.x = hudX; - SkyblockerConfig.get().locations.dwarvenMines.dwarvenHud.y = hudY; - SkyblockerConfig.save(); + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = hudX; + SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = hudY; + SkyblockerConfigManager.save(); client.setScreen(parent); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java index 5e284452..d5c18545 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Fetchur.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; @@ -19,7 +19,7 @@ public class Fetchur extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.dwarvenMines.solveFetchur ? ChatFilterResult.FILTER : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java index 96ccdaf2..90a0e30f 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dwarven/Puzzler.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.dwarven; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.block.Blocks; @@ -18,7 +18,7 @@ public class Puzzler extends ChatPatternListener { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().locations.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS; + return SkyblockerConfigManager.get().locations.dwarvenMines.solvePuzzler ? null : ChatFilterResult.PASS; } @Override diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java index 84ef5698..1eef9722 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java @@ -2,8 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.experiment; import com.google.common.collect.ImmutableMap; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; @@ -53,7 +53,7 @@ public class ChronomatronSolver extends ExperimentSolver { } @Override - protected boolean isEnabled(ConfigModel.Experiments experimentsConfig) { + protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { return experimentsConfig.enableChronomatronSolver; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java index aaf25577..9e25fa2a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.experiment; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.screen.Screen; @@ -37,10 +37,10 @@ public abstract class ExperimentSolver extends ContainerSolver { @Override protected final boolean isEnabled() { - return isEnabled(SkyblockerConfig.get().general.experiments); + return isEnabled(SkyblockerConfigManager.get().general.experiments); } - protected abstract boolean isEnabled(ConfigModel.Experiments experimentsConfig); + protected abstract boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig); @Override protected void start(GenericContainerScreen screen) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java index 0ac15dfc..40f1ab1b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.experiment; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; @@ -28,7 +28,7 @@ public class SuperpairsSolver extends ExperimentSolver { } @Override - protected boolean isEnabled(ConfigModel.Experiments experimentsConfig) { + protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { return experimentsConfig.enableSuperpairsSolver; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java index 6527231f..166fb8a9 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.experiment; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; @@ -28,7 +28,7 @@ public class UltrasequencerSolver extends ExperimentSolver { } @Override - protected boolean isEnabled(ConfigModel.Experiments experimentsConfig) { + protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { return experimentsConfig.enableUltrasequencerSolver; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java index 97e5e8dd..addb1b05 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AbilityFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class AbilityFilter extends SimpleChatFilter { @@ -10,6 +10,6 @@ public class AbilityFilter extends SimpleChatFilter { @Override protected ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideAbility; + return SkyblockerConfigManager.get().messages.hideAbility; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java index 23caa180..e0493389 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AdFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Constants; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; @@ -34,6 +34,6 @@ public class AdFilter extends ChatPatternListener { @Override protected ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideAds; + return SkyblockerConfigManager.get().messages.hideAds; } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java index 15c1ce6a..02e8867c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AoteFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class AoteFilter extends SimpleChatFilter { @@ -10,6 +10,6 @@ public class AoteFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideAOTE; + return SkyblockerConfigManager.get().messages.hideAOTE; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java index 8c9ce9f6..65811a8a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/AutopetFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.utils.chat.ChatPatternListener; import net.minecraft.client.MinecraftClient; @@ -16,7 +16,7 @@ public class AutopetFilter extends ChatPatternListener { @Override public boolean onMatch(Text _message, Matcher matcher) { - if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) { + if (SkyblockerConfigManager.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) { Objects.requireNonNull(MinecraftClient.getInstance().player).sendMessage( Text.literal( _message.getString().replace("§a§lVIEW RULE", "") @@ -27,9 +27,9 @@ public class AutopetFilter extends ChatPatternListener { @Override public ChatFilterResult state() { - if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) + if (SkyblockerConfigManager.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) return ChatFilterResult.FILTER; else - return SkyblockerConfig.get().messages.hideAutopet; + return SkyblockerConfigManager.get().messages.hideAutopet; } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java index 4a714e6d..d884bf37 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ComboFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class ComboFilter extends SimpleChatFilter { @@ -11,6 +11,6 @@ public class ComboFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideCombo; + return SkyblockerConfigManager.get().messages.hideCombo; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java index 652d47c7..938b1aaa 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/HealFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class HealFilter extends SimpleChatFilter { @@ -10,6 +10,6 @@ public class HealFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideHeal; + return SkyblockerConfigManager.get().messages.hideHeal; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java index d7748313..2cc89185 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ImplosionFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class ImplosionFilter extends SimpleChatFilter { @@ -10,6 +10,6 @@ public class ImplosionFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideImplosion; + return SkyblockerConfigManager.get().messages.hideImplosion; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java index 9f6138f0..9627dc13 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/MoltenWaveFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class MoltenWaveFilter extends SimpleChatFilter { @@ -10,6 +10,6 @@ public class MoltenWaveFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideMoltenWave; + return SkyblockerConfigManager.get().messages.hideMoltenWave; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java index 85be9e2a..418e0f27 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/ShowOffFilter.java @@ -2,7 +2,7 @@ package me.xmrvizzy.skyblocker.skyblock.filters; import me.xmrvizzy.skyblocker.utils.Constants; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; public class ShowOffFilter extends SimpleChatFilter { private static final String[] SHOW_TYPES = { "is holding", "is wearing", "is friends with a", "has" }; @@ -13,6 +13,6 @@ public class ShowOffFilter extends SimpleChatFilter { @Override protected ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideShowOff; + return SkyblockerConfigManager.get().messages.hideShowOff; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java index 1961d78a..2035facb 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/filters/TeleportPadFilter.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.filters; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.chat.ChatFilterResult; public class TeleportPadFilter extends SimpleChatFilter { @@ -11,6 +11,6 @@ public class TeleportPadFilter extends SimpleChatFilter { @Override public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideTeleportPad; + return SkyblockerConfigManager.get().messages.hideTeleportPad; } } \ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java index 7c4ed423..88df1b40 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorDyeColors.java @@ -4,7 +4,7 @@ import com.mojang.brigadier.Command; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.StringArgumentType; import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -46,19 +46,19 @@ public class CustomArmorDyeColors { String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; if (itemUuid != null) { - Object2IntOpenHashMap customDyeColors = SkyblockerConfig.get().general.customDyeColors; + Object2IntOpenHashMap customDyeColors = SkyblockerConfigManager.get().general.customDyeColors; if (hex == null) { if (customDyeColors.containsKey(itemUuid)) { customDyeColors.removeInt(itemUuid); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customDyeColors.removed")); } else { source.sendFeedback(Text.translatable("skyblocker.customDyeColors.neverHad")); } } else { customDyeColors.put(itemUuid, Integer.decode("0x" + hex.replace("#", "")).intValue()); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customDyeColors.added")); } } else { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java index 443ad509..c7de9320 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java @@ -7,7 +7,7 @@ import com.mojang.brigadier.suggestion.SuggestionProvider; import dev.isxander.yacl3.config.ConfigEntry; import it.unimi.dsi.fastutil.Pair; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.SkyblockEvents; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; @@ -102,12 +102,12 @@ public class CustomArmorTrims { String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; if (itemUuid != null) { - Object2ObjectOpenHashMap customArmorTrims = SkyblockerConfig.get().general.customArmorTrims; + Object2ObjectOpenHashMap customArmorTrims = SkyblockerConfigManager.get().general.customArmorTrims; if (material == null && pattern == null) { if (customArmorTrims.containsKey(itemUuid)) { customArmorTrims.remove(itemUuid); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customArmorTrims.removed")); } else { source.sendFeedback(Text.translatable("skyblocker.customArmorTrims.neverHad")); @@ -122,7 +122,7 @@ public class CustomArmorTrims { } customArmorTrims.put(itemUuid, trimId); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customArmorTrims.added")); } } else { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java index 8c160456..76312461 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomItemNames.java @@ -3,7 +3,7 @@ package me.xmrvizzy.skyblocker.skyblock.item; import com.mojang.brigadier.Command; import com.mojang.brigadier.CommandDispatcher; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -40,13 +40,13 @@ public class CustomItemNames { String itemUuid = extraAttributes.contains("uuid") ? extraAttributes.getString("uuid") : null; if (itemUuid != null) { - Object2ObjectOpenHashMap customItemNames = SkyblockerConfig.get().general.customItemNames; + Object2ObjectOpenHashMap customItemNames = SkyblockerConfigManager.get().general.customItemNames; if (text == null) { if (customItemNames.containsKey(itemUuid)) { //Remove custom item name when the text argument isn't passed customItemNames.remove(itemUuid); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customItemNames.removed")); } else { source.sendFeedback(Text.translatable("skyblocker.customItemNames.neverHad")); @@ -59,7 +59,7 @@ public class CustomItemNames { ((MutableText) text).setStyle(currentStyle.withItalic((currentStyle.isItalic() ? true : false))); customItemNames.put(itemUuid, text); - SkyblockerConfig.save(); + SkyblockerConfigManager.save(); source.sendFeedback(Text.translatable("skyblocker.customItemNames.added")); } } else { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java index f04e7029..16a4c596 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/PriceInfoTooltip.java @@ -3,8 +3,8 @@ package me.xmrvizzy.skyblocker.skyblock.item; import com.google.gson.Gson; import com.google.gson.JsonObject; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Http; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; @@ -63,7 +63,7 @@ public class PriceInfoTooltip { int count = stack.getCount(); boolean bazaarOpened = lines.stream().anyMatch(each -> each.getString().contains("Buy price:") || each.getString().contains("Sell price:")); - if (SkyblockerConfig.get().general.itemTooltip.enableNPCPrice) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableNPCPrice) { if (npcPricesJson == null) { nullWarning(); } else if (npcPricesJson.has(internalID)) { @@ -73,7 +73,7 @@ public class PriceInfoTooltip { } } - if (SkyblockerConfig.get().general.itemTooltip.enableMotesPrice && Utils.isInTheRift()) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableMotesPrice && Utils.isInTheRift()) { if (motesPricesJson == null) { nullWarning(); } else if (motesPricesJson.has(internalID)) { @@ -85,7 +85,7 @@ public class PriceInfoTooltip { boolean bazaarExist = false; - if (SkyblockerConfig.get().general.itemTooltip.enableBazaarPrice && !bazaarOpened) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableBazaarPrice && !bazaarOpened) { if (bazaarPricesJson == null) { nullWarning(); } else if (bazaarPricesJson.has(name)) { @@ -106,7 +106,7 @@ public class PriceInfoTooltip { // bazaarOpened & bazaarExist check for lbin, because Skytils keeps some bazaar item data in lbin api boolean lbinExist = false; - if (SkyblockerConfig.get().general.itemTooltip.enableLowestBIN && !bazaarOpened && !bazaarExist) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableLowestBIN && !bazaarOpened && !bazaarExist) { if (lowestPricesJson == null) { nullWarning(); } else if (lowestPricesJson.has(name)) { @@ -117,7 +117,7 @@ public class PriceInfoTooltip { } } - if (SkyblockerConfig.get().general.itemTooltip.enableAvgBIN) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableAvgBIN) { if (threeDayAvgPricesJson == null || oneDayAvgPricesJson == null) { nullWarning(); } else { @@ -148,10 +148,10 @@ public class PriceInfoTooltip { } if (!neuName.isEmpty() && lbinExist) { - ConfigModel.Average type = SkyblockerConfig.get().general.itemTooltip.avg; + SkyblockerConfig.Average type = SkyblockerConfigManager.get().general.itemTooltip.avg; // "No data" line because of API not keeping old data, it causes NullPointerException - if (type == ConfigModel.Average.ONE_DAY || type == ConfigModel.Average.BOTH) { + if (type == SkyblockerConfig.Average.ONE_DAY || type == SkyblockerConfig.Average.BOTH) { lines.add( Text.literal(String.format("%-19s", "1 Day Avg. Price:")) .formatted(Formatting.GOLD) @@ -161,7 +161,7 @@ public class PriceInfoTooltip { ) ); } - if (type == ConfigModel.Average.THREE_DAY || type == ConfigModel.Average.BOTH) { + if (type == SkyblockerConfig.Average.THREE_DAY || type == SkyblockerConfig.Average.BOTH) { lines.add( Text.literal(String.format("%-19s", "3 Day Avg. Price:")) .formatted(Formatting.GOLD) @@ -175,7 +175,7 @@ public class PriceInfoTooltip { } } - if (SkyblockerConfig.get().general.itemTooltip.enableMuseumDate && !bazaarOpened) { + if (SkyblockerConfigManager.get().general.itemTooltip.enableMuseumDate && !bazaarOpened) { if (isMuseumJson == null) { nullWarning(); } else { @@ -332,7 +332,7 @@ public class PriceInfoTooltip { } private static Text getMotesMessage(int price, int count) { - float motesMultiplier = SkyblockerConfig.get().locations.rift.mcGrubberStacks * 0.05f + 1; + float motesMultiplier = SkyblockerConfigManager.get().locations.rift.mcGrubberStacks * 0.05f + 1; // Calculate the total price int totalPrice = price * count; @@ -363,33 +363,33 @@ public class PriceInfoTooltip { } List> futureList = new ArrayList<>(); - if (SkyblockerConfig.get().general.itemTooltip.enableAvgBIN) { - ConfigModel.Average type = SkyblockerConfig.get().general.itemTooltip.avg; + if (SkyblockerConfigManager.get().general.itemTooltip.enableAvgBIN) { + SkyblockerConfig.Average type = SkyblockerConfigManager.get().general.itemTooltip.avg; - if (type == ConfigModel.Average.BOTH || oneDayAvgPricesJson == null || threeDayAvgPricesJson == null || minute % 5 == 0) { + if (type == SkyblockerConfig.Average.BOTH || oneDayAvgPricesJson == null || threeDayAvgPricesJson == null || minute % 5 == 0) { futureList.add(CompletableFuture.runAsync(() -> { oneDayAvgPricesJson = downloadPrices("1 day avg"); threeDayAvgPricesJson = downloadPrices("3 day avg"); })); - } else if (type == ConfigModel.Average.ONE_DAY) { + } else if (type == SkyblockerConfig.Average.ONE_DAY) { futureList.add(CompletableFuture.runAsync(() -> oneDayAvgPricesJson = downloadPrices("1 day avg"))); - } else if (type == ConfigModel.Average.THREE_DAY) { + } else if (type == SkyblockerConfig.Average.THREE_DAY) { futureList.add(CompletableFuture.runAsync(() -> threeDayAvgPricesJson = downloadPrices("3 day avg"))); } } - if (SkyblockerConfig.get().general.itemTooltip.enableLowestBIN || SkyblockerConfig.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator) + if (SkyblockerConfigManager.get().general.itemTooltip.enableLowestBIN || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator) futureList.add(CompletableFuture.runAsync(() -> lowestPricesJson = downloadPrices("lowest bins"))); - if (SkyblockerConfig.get().general.itemTooltip.enableBazaarPrice || SkyblockerConfig.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator) + if (SkyblockerConfigManager.get().general.itemTooltip.enableBazaarPrice || SkyblockerConfigManager.get().locations.dungeons.dungeonChestProfit.enableProfitCalculator) futureList.add(CompletableFuture.runAsync(() -> bazaarPricesJson = downloadPrices("bazaar"))); - if (SkyblockerConfig.get().general.itemTooltip.enableNPCPrice && npcPricesJson == null) + if (SkyblockerConfigManager.get().general.itemTooltip.enableNPCPrice && npcPricesJson == null) futureList.add(CompletableFuture.runAsync(() -> npcPricesJson = downloadPrices("npc"))); - if (SkyblockerConfig.get().general.itemTooltip.enableMuseumDate && isMuseumJson == null) + if (SkyblockerConfigManager.get().general.itemTooltip.enableMuseumDate && isMuseumJson == null) futureList.add(CompletableFuture.runAsync(() -> isMuseumJson = downloadPrices("museum"))); - if (SkyblockerConfig.get().general.itemTooltip.enableMotesPrice && motesPricesJson == null) + if (SkyblockerConfigManager.get().general.itemTooltip.enableMotesPrice && motesPricesJson == null) futureList.add(CompletableFuture.runAsync(() -> motesPricesJson = downloadPrices("motes"))); minute++; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java index 833a6917..aa933da4 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/quicknav/QuickNav.java @@ -2,8 +2,8 @@ package me.xmrvizzy.skyblocker.skyblock.quicknav; import com.mojang.brigadier.exceptions.CommandSyntaxException; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.fabricmc.fabric.api.client.screen.v1.Screens; @@ -26,7 +26,7 @@ public class QuickNav { public static void init() { ScreenEvents.AFTER_INIT.register((client, screen, scaledWidth, scaledHeight) -> { - if (Utils.isOnSkyblock() && SkyblockerConfig.get().quickNav.enableQuickNav && screen instanceof HandledScreen && client.player != null && !client.player.isCreative()) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().quickNav.enableQuickNav && screen instanceof HandledScreen && client.player != null && !client.player.isCreative()) { String screenTitle = screen.getTitle().getString().trim(); List buttons = QuickNav.init(screenTitle); for (QuickNavButton button : buttons) Screens.getButtons(screen).add(button); @@ -36,7 +36,7 @@ public class QuickNav { public static List init(String screenTitle) { List buttons = new ArrayList<>(); - ConfigModel.QuickNav data = SkyblockerConfig.get().quickNav; + SkyblockerConfig.QuickNav 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)); @@ -56,8 +56,8 @@ public class QuickNav { return buttons; } - private static QuickNavButton parseButton(ConfigModel.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException { - ConfigModel.ItemData itemData = buttonInfo.item; + private static QuickNavButton parseButton(SkyblockerConfig.QuickNavItem buttonInfo, String screenTitle, int id) throws CommandSyntaxException { + SkyblockerConfig.ItemData itemData = buttonInfo.item; String nbtString = "{id:\"minecraft:" + itemData.itemName.toLowerCase(Locale.ROOT) + "\",Count:1"; if (itemData.nbt.length() > 2) nbtString += "," + itemData.nbt; nbtString += "}"; diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java index 11f879b9..5548484e 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/EffigyWaypoints.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; @@ -34,7 +34,7 @@ public class EffigyWaypoints { private static final List unBrokenEffigies = new ArrayList<>(); protected static void updateEffigies() { - if (!SkyblockerConfig.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return; + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) return; unBrokenEffigies.clear(); try { @@ -63,10 +63,10 @@ public class EffigyWaypoints { } protected static void render(WorldRenderContext context) { - if (SkyblockerConfig.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) { + if (SkyblockerConfigManager.get().slayer.vampireSlayer.enableEffigyWaypoints && Utils.getLocation().contains("Stillgore Château")) { for (BlockPos effigy : unBrokenEffigies) { float[] colorComponents = DyeColor.RED.getColorComponents(); - if (SkyblockerConfig.get().slayer.vampireSlayer.compactEffigyWaypoints) { + if (SkyblockerConfigManager.get().slayer.vampireSlayer.compactEffigyWaypoints) { RenderHelper.renderFilledThroughWallsWithBeaconBeam(context, effigy.down(6), colorComponents, 0.5F); } else { RenderHelper.renderFilledThroughWallsWithBeaconBeam(context, effigy, colorComponents, 0.5F); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java index b547ebb5..78fe8f6c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/HealingMelonIndicator.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import me.xmrvizzy.skyblocker.utils.render.title.Title; @@ -13,12 +13,12 @@ public class HealingMelonIndicator { private static final Title title = new Title("skyblocker.rift.healNow", Formatting.DARK_RED); public static void updateHealth() { - if (!SkyblockerConfig.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHealingMelonIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château")) { TitleContainer.removeTitle(title); return; } ClientPlayerEntity player = MinecraftClient.getInstance().player; - if (player != null && player.getHealth() <= SkyblockerConfig.get().slayer.vampireSlayer.healingMelonHealthThreshold * 2F) { + if (player != null && player.getHealth() <= SkyblockerConfigManager.get().slayer.vampireSlayer.healingMelonHealthThreshold * 2F) { RenderHelper.displayInTitleContainerAndPlaySound(title); } else { TitleContainer.removeTitle(title); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java index 16ab250a..1fca4559 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/ManiaIndicator.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.SlayerUtils; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -17,7 +17,7 @@ public class ManiaIndicator { private static final Title title = new Title("skyblocker.rift.mania", Formatting.RED); protected static void updateMania() { - if (!SkyblockerConfig.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableManiaIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java index d59745d8..3063f63c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/MirrorverseWaypoints.java @@ -4,7 +4,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; @@ -71,7 +71,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() && SkyblockerConfig.get().locations.rift.mirrorverseWaypoints) { + if (Utils.isInTheRift() && SkyblockerConfigManager.get().locations.rift.mirrorverseWaypoints) { for (BlockPos pos : LAVA_PATH_WAYPOINTS) { RenderHelper.renderFilledIfVisible(wrc, pos, COLOR_COMPONENTS, 0.5f); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java index 1d969514..ff7298a3 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/StakeIndicator.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.SlayerUtils; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -13,7 +13,7 @@ public class StakeIndicator { private static final Title title = new Title("skyblocker.rift.stakeNow", Formatting.RED); protected static void updateStake() { - if (!SkyblockerConfig.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableSteakStakeIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !Utils.getLocation().contains("Stillgore Château") || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java index 4b11fcb0..f3a35869 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TheRift.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; @@ -13,9 +13,9 @@ public class TheRift { public static void init() { WorldRenderEvents.AFTER_TRANSLUCENT.register(MirrorverseWaypoints::render); WorldRenderEvents.AFTER_TRANSLUCENT.register(EffigyWaypoints::render); - Scheduler.INSTANCE.scheduleCyclic(EffigyWaypoints::updateEffigies, SkyblockerConfig.get().slayer.vampireSlayer.effigyUpdateFrequency); - Scheduler.INSTANCE.scheduleCyclic(TwinClawsIndicator::updateIce, SkyblockerConfig.get().slayer.vampireSlayer.holyIceUpdateFrequency); - Scheduler.INSTANCE.scheduleCyclic(ManiaIndicator::updateMania, SkyblockerConfig.get().slayer.vampireSlayer.maniaUpdateFrequency); - Scheduler.INSTANCE.scheduleCyclic(StakeIndicator::updateStake, SkyblockerConfig.get().slayer.vampireSlayer.steakStakeUpdateFrequency); + Scheduler.INSTANCE.scheduleCyclic(EffigyWaypoints::updateEffigies, SkyblockerConfigManager.get().slayer.vampireSlayer.effigyUpdateFrequency); + Scheduler.INSTANCE.scheduleCyclic(TwinClawsIndicator::updateIce, SkyblockerConfigManager.get().slayer.vampireSlayer.holyIceUpdateFrequency); + Scheduler.INSTANCE.scheduleCyclic(ManiaIndicator::updateMania, SkyblockerConfigManager.get().slayer.vampireSlayer.maniaUpdateFrequency); + Scheduler.INSTANCE.scheduleCyclic(StakeIndicator::updateStake, SkyblockerConfigManager.get().slayer.vampireSlayer.steakStakeUpdateFrequency); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java index 6e6fad2d..2bd84106 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/rift/TwinClawsIndicator.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.rift; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.SlayerUtils; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -15,7 +15,7 @@ public class TwinClawsIndicator { private static boolean scheduled = false; protected static void updateIce() { - if (!SkyblockerConfig.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { + if (!SkyblockerConfigManager.get().slayer.vampireSlayer.enableHolyIceIndicator || !Utils.isOnSkyblock() || !Utils.isInTheRift() || !(Utils.getLocation().contains("Stillgore Château")) || !SlayerUtils.isInSlayer()) { TitleContainer.removeTitle(title); return; } @@ -32,7 +32,7 @@ public class TwinClawsIndicator { Scheduler.INSTANCE.schedule(() -> { RenderHelper.displayInTitleContainerAndPlaySound(title); scheduled = false; - }, SkyblockerConfig.get().slayer.vampireSlayer.holyIceIndicatorTickDelay); + }, SkyblockerConfigManager.get().slayer.vampireSlayer.holyIceIndicatorTickDelay); } } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java index 14bc1db4..e9309706 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/shortcut/Shortcuts.java @@ -6,7 +6,7 @@ import com.mojang.brigadier.Command; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.StringArgumentType; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; @@ -161,14 +161,14 @@ public class Shortcuts { } dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(literal("help").executes(context -> { FabricClientCommandSource source = context.getSource(); - String status = SkyblockerConfig.get().general.shortcuts.enableShortcuts && SkyblockerConfig.get().general.shortcuts.enableCommandShortcuts ? "§a§l (Enabled)" : "§c§l (Disabled)"; + String status = SkyblockerConfigManager.get().general.shortcuts.enableShortcuts && SkyblockerConfigManager.get().general.shortcuts.enableCommandShortcuts ? "§a§l (Enabled)" : "§c§l (Disabled)"; source.sendFeedback(Text.of("§e§lSkyblocker §fCommand Shortcuts" + status)); if (!isShortcutsLoaded()) { source.sendFeedback(Text.translatable("skyblocker.shortcuts.notLoaded")); } else for (Map.Entry command : commands.entrySet()) { source.sendFeedback(Text.of("§7" + command.getKey() + " §f→ §7" + command.getValue())); } - status = SkyblockerConfig.get().general.shortcuts.enableShortcuts && SkyblockerConfig.get().general.shortcuts.enableCommandArgShortcuts ? "§a§l (Enabled)" : "§c§l (Disabled)"; + status = SkyblockerConfigManager.get().general.shortcuts.enableShortcuts && SkyblockerConfigManager.get().general.shortcuts.enableCommandArgShortcuts ? "§a§l (Enabled)" : "§c§l (Disabled)"; source.sendFeedback(Text.of("§e§lSkyblocker §fCommand Argument Shortcuts" + status)); if (!isShortcutsLoaded()) { source.sendFeedback(Text.translatable("skyblocker.shortcuts.notLoaded")); @@ -185,16 +185,16 @@ public class Shortcuts { } private static String modifyCommand(String command) { - if (SkyblockerConfig.get().general.shortcuts.enableShortcuts) { + if (SkyblockerConfigManager.get().general.shortcuts.enableShortcuts) { if (!isShortcutsLoaded()) { LOGGER.warn("[Skyblocker] Shortcuts not loaded yet, skipping shortcut for command: {}", command); return command; } command = '/' + command; - if (SkyblockerConfig.get().general.shortcuts.enableCommandShortcuts) { + if (SkyblockerConfigManager.get().general.shortcuts.enableCommandShortcuts) { command = commands.getOrDefault(command, command); } - if (SkyblockerConfig.get().general.shortcuts.enableCommandArgShortcuts) { + if (SkyblockerConfigManager.get().general.shortcuts.enableCommandArgShortcuts) { String[] messageArgs = command.split(" "); for (int i = 0; i < messageArgs.length; i++) { messageArgs[i] = commandArgs.getOrDefault(messageArgs[i], messageArgs[i]); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java index a3d7e5c5..84af889c 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/special/SpecialEffects.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.special; import com.mojang.blaze3d.systems.RenderSystem; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; import net.minecraft.client.MinecraftClient; @@ -45,7 +45,7 @@ public class SpecialEffects { private static void displayRareDropEffect(Text message, boolean overlay) { //We don't check if we're in dungeons because that check doesn't work in m7 which defeats the point of this //It might also allow it to work with Croesus - if (Utils.isOnSkyblock() && SkyblockerConfig.get().general.specialEffects.rareDungeonDropEffects) { + if (Utils.isOnSkyblock() && SkyblockerConfigManager.get().general.specialEffects.rareDungeonDropEffects) { try { String stringForm = message.getString(); Matcher matcher = DROP_PATTERN.matcher(stringForm); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java index dd420fcf..994317f8 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/spidersden/Relics.java @@ -6,8 +6,8 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.mojang.brigadier.CommandDispatcher; import me.xmrvizzy.skyblocker.SkyblockerMod; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.PosUtils; import me.xmrvizzy.skyblocker.utils.Utils; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; @@ -116,7 +116,7 @@ public class Relics { } private static void render(WorldRenderContext context) { - ConfigModel.Relics config = SkyblockerConfig.get().locations.spidersDen.relics; + SkyblockerConfig.Relics config = SkyblockerConfigManager.get().locations.spidersDen.relics; if (config.enableRelicsHelper && relicsLoaded.isDone() && Utils.getLocationRaw().equals("combat_1")) { for (BlockPos fairySoulPos : relics) { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java index 42089e9e..c230548b 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/util/ScreenConst.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.tabhud.util; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; public class ScreenConst { public static final int WIDGET_PAD = 5; @@ -8,6 +8,6 @@ public class ScreenConst { private static final int SCREEN_PAD_BASE = 20; public static int getScreenPad() { - return (int) ((1f/((float)SkyblockerConfig.get().general.tabHud.tabHudScale/100f) * SCREEN_PAD_BASE)); + return (int) ((1f/((float)SkyblockerConfigManager.get().general.tabHud.tabHudScale/100f) * SCREEN_PAD_BASE)); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java index 068c9c5e..241cb2a2 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/PlayerListWidget.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.skyblock.tabhud.widget; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.PlayerComponent; @@ -51,7 +51,7 @@ public class PlayerListWidget extends Widget { list.add(PlayerListMgr.getRaw(i)); } - if (SkyblockerConfig.get().general.tabHud.nameSorting == ConfigModel.NameSorting.ALPHABETICAL) { + if (SkyblockerConfigManager.get().general.tabHud.nameSorting == SkyblockerConfig.NameSorting.ALPHABETICAL) { list.sort(Comparator.comparing(o -> o.getProfile().getName().toLowerCase())); } diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java index bca67b70..97d31981 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/Widget.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import com.mojang.blaze3d.systems.RenderSystem; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.skyblock.tabhud.util.PlayerListMgr; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.Component; import me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; @@ -130,7 +130,7 @@ public abstract class Widget { RenderSystem.enableDepthTest(); ms.push(); - float scale = SkyblockerConfig.get().general.tabHud.tabHudScale / 100f; + float scale = SkyblockerConfigManager.get().general.tabHud.tabHudScale / 100f; ms.scale(scale, scale, 1); // move above other UI elements diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java index 4318a77d..cea8f6f0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/tabhud/widget/component/PlayerComponent.java @@ -1,6 +1,6 @@ package me.xmrvizzy.skyblocker.skyblock.tabhud.widget.component; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.PlayerSkinDrawer; import net.minecraft.client.network.PlayerListEntry; @@ -20,7 +20,7 @@ public class PlayerComponent extends Component { public PlayerComponent(PlayerListEntry ple) { - boolean plainNames = SkyblockerConfig.get().general.tabHud.plainPlayerNames; + boolean plainNames = SkyblockerConfigManager.get().general.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/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java b/src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java index 5360741d..39d91bba 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/discord/DiscordRPCManager.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.utils.discord; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.SkyblockEvents; import me.xmrvizzy.skyblocker.utils.Utils; import meteordevelopment.discordipc.DiscordIPC; @@ -34,15 +34,15 @@ public class DiscordRPCManager { } /** - * Checks the {@link SkyblockerConfig.RichPresence#customMessage custom message}, updates {@link #cycleCount} if enabled, and updates rich presence. + * Checks the {@link SkyblockerConfigManager.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 (SkyblockerConfig.get().richPresence.customMessage.isEmpty()) { - SkyblockerConfig.get().richPresence.customMessage = "Playing Skyblock"; - SkyblockerConfig.save(); + if (SkyblockerConfigManager.get().richPresence.customMessage.isEmpty()) { + SkyblockerConfigManager.get().richPresence.customMessage = "Playing Skyblock"; + SkyblockerConfigManager.save(); } - if (SkyblockerConfig.get().richPresence.cycleMode) cycleCount = (cycleCount + 1) % 3; + if (SkyblockerConfigManager.get().richPresence.cycleMode) cycleCount = (cycleCount + 1) % 3; initAndUpdatePresence(); } @@ -58,21 +58,21 @@ public class DiscordRPCManager { *

* When the {@link #updateTask previous update} does not exist or {@link CompletableFuture#isDone() has completed}: *

- * Connects to discord if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled}, + * Connects to discord if {@link SkyblockerConfigManager.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 SkyblockerConfig.RichPresence#enableRichPresence rich presence is enabled} + * Updates the presence if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is enabled} * and the player {@link Utils#isOnSkyblock() is on Skyblock}. - * Stops the connection if {@link SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled} + * Stops the connection if {@link SkyblockerConfigManager.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 SkyblockerConfig.RichPresence#enableRichPresence rich presence is disabled}. + * if {@link SkyblockerConfigManager.RichPresence#enableRichPresence rich presence is disabled}. */ private static void initAndUpdatePresence(boolean initialization) { if (updateTask == null || updateTask.isDone()) { updateTask = CompletableFuture.runAsync(() -> { - if (SkyblockerConfig.get().richPresence.enableRichPresence && Utils.isOnSkyblock()) { + if (SkyblockerConfigManager.get().richPresence.enableRichPresence && Utils.isOnSkyblock()) { if (!DiscordIPC.isConnected()) { if (DiscordIPC.start(934607927837356052L, null)) { LOGGER.info("Discord RPC started successfully"); @@ -96,20 +96,20 @@ public class DiscordRPCManager { RichPresence presence = new RichPresence(); presence.setLargeImage("skyblocker-default", null); presence.setStart(startTimeStamp); - presence.setDetails(SkyblockerConfig.get().richPresence.customMessage); + presence.setDetails(SkyblockerConfigManager.get().richPresence.customMessage); presence.setState(getInfo()); return presence; } public static String getInfo() { String info = null; - if (!SkyblockerConfig.get().richPresence.cycleMode) { - switch (SkyblockerConfig.get().richPresence.info) { + if (!SkyblockerConfigManager.get().richPresence.cycleMode) { + switch (SkyblockerConfigManager.get().richPresence.info) { case BITS -> info = "Bits: " + DECIMAL_FORMAT.format(Utils.getBits()); case PURSE -> info = "Purse: " + DECIMAL_FORMAT.format(Utils.getPurse()); case LOCATION -> info = Utils.getLocation(); } - } else if (SkyblockerConfig.get().richPresence.cycleMode) { + } else if (SkyblockerConfigManager.get().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/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java index 5044b814..a55965dc 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainer.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.utils.render.title; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; @@ -82,7 +82,7 @@ public class TitleContainer { } private static void render(DrawContext context, float tickDelta) { - render(context, titles, SkyblockerConfig.get().general.titleContainer.x, SkyblockerConfig.get().general.titleContainer.y, tickDelta); + render(context, titles, SkyblockerConfigManager.get().general.titleContainer.x, SkyblockerConfigManager.get().general.titleContainer.y, tickDelta); } protected static void render(DrawContext context, Set titles, int xPos, int yPos, float tickDelta) { @@ -90,11 +90,11 @@ public class TitleContainer { TextRenderer textRenderer = client.textRenderer; // Calculate Scale to use - float scale = 3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F); + float scale = 3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F); // Grab direction and alignment values - ConfigModel.Direction direction = SkyblockerConfig.get().general.titleContainer.direction; - ConfigModel.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment; + SkyblockerConfig.Direction direction = SkyblockerConfigManager.get().general.titleContainer.direction; + SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.titleContainer.alignment; // x/y refer to the starting position for the text // y always starts at yPos float x = 0; @@ -106,8 +106,8 @@ public class TitleContainer { width += textRenderer.getWidth(title.getText()) * scale + 10; } - if (alignment == ConfigModel.Alignment.MIDDLE) { - if (direction == ConfigModel.Direction.HORIZONTAL) { + if (alignment == SkyblockerConfig.Alignment.MIDDLE) { + if (direction == SkyblockerConfig.Direction.HORIZONTAL) { //If middle aligned horizontally, start the xPosition at half of the width to the left. x = xPos - (width / 2); } else { @@ -115,7 +115,7 @@ public class TitleContainer { x = xPos; } } - if (alignment == ConfigModel.Alignment.LEFT || alignment == ConfigModel.Alignment.RIGHT) { + if (alignment == SkyblockerConfig.Alignment.LEFT || alignment == SkyblockerConfig.Alignment.RIGHT) { //If left or right aligned, start at xPos, we will shift each text later x = xPos; } @@ -124,14 +124,14 @@ public class TitleContainer { //Calculate which x the text should use float xToUse; - if (direction == ConfigModel.Direction.HORIZONTAL) { - xToUse = alignment == ConfigModel.Alignment.RIGHT ? + if (direction == SkyblockerConfig.Direction.HORIZONTAL) { + xToUse = alignment == SkyblockerConfig.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 == ConfigModel.Alignment.MIDDLE ? + xToUse = alignment == SkyblockerConfig.Alignment.MIDDLE ? x - (textRenderer.getWidth(title.getText()) * scale) / 2 : //if middle aligned we need the text position to be aligned in the middle. - alignment == ConfigModel.Alignment.RIGHT ? + alignment == SkyblockerConfig.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 +156,13 @@ public class TitleContainer { context.getMatrices().pop(); //Calculate the x and y positions for the next title - if (direction == ConfigModel.Direction.HORIZONTAL) { - if (alignment == ConfigModel.Alignment.MIDDLE || alignment == ConfigModel.Alignment.LEFT) { + if (direction == SkyblockerConfig.Direction.HORIZONTAL) { + if (alignment == SkyblockerConfig.Alignment.MIDDLE || alignment == SkyblockerConfig.Alignment.LEFT) { //Move to the right if middle or left aligned x += textRenderer.getWidth(title.getText()) * scale + 10; } - if (alignment == ConfigModel.Alignment.RIGHT) { + if (alignment == SkyblockerConfig.Alignment.RIGHT) { //Move to the left if right aligned x -= textRenderer.getWidth(title.getText()) * scale + 10; } diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java index d8e3b43c..caf9fbf0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/title/TitleContainerConfigScreen.java @@ -1,7 +1,7 @@ package me.xmrvizzy.skyblocker.utils.render.title; -import me.xmrvizzy.skyblocker.config.ConfigModel; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; import me.xmrvizzy.skyblocker.utils.render.RenderHelper; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; @@ -18,8 +18,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 = SkyblockerConfig.get().general.titleContainer.x; - private float hudY = SkyblockerConfig.get().general.titleContainer.y; + private float hudX = SkyblockerConfigManager.get().general.titleContainer.x; + private float hudY = SkyblockerConfigManager.get().general.titleContainer.y; private final Screen parent; protected TitleContainerConfigScreen() { @@ -36,8 +36,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); - ConfigModel.Direction direction = SkyblockerConfig.get().general.titleContainer.direction; - ConfigModel.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment; + SkyblockerConfig.Direction direction = SkyblockerConfigManager.get().general.titleContainer.direction; + SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.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()); @@ -56,7 +56,7 @@ public class TitleContainerConfigScreen extends Screen { } private Pair<Vector2f, Vector2f> getSelectionBoundingBox() { - ConfigModel.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment; + SkyblockerConfig.Alignment alignment = SkyblockerConfigManager.get().general.titleContainer.alignment; float midWidth = getSelectionWidth() / 2F; float x1 = 0; @@ -81,15 +81,15 @@ public class TitleContainerConfigScreen extends Screen { } private float getSelectionHeight() { - float scale = (3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F)); - return SkyblockerConfig.get().general.titleContainer.direction == ConfigModel.Direction.HORIZONTAL ? + float scale = (3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F)); + return SkyblockerConfigManager.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ? (textRenderer.fontHeight * scale) : (textRenderer.fontHeight + 10F) * 3F * scale; } private float getSelectionWidth() { - float scale = (3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F)); - return SkyblockerConfig.get().general.titleContainer.direction == ConfigModel.Direction.HORIZONTAL ? + float scale = (3F * (SkyblockerConfigManager.get().general.titleContainer.titleContainerScale / 100F)); + return SkyblockerConfigManager.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ? (textRenderer.getWidth("Test1") + 10 + textRenderer.getWidth("Test23") + 10 + textRenderer.getWidth("Testing1234")) * scale : textRenderer.getWidth("Testing1234") * scale; } @@ -98,7 +98,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 = SkyblockerConfig.get().general.titleContainer.alignment; + var alignment = SkyblockerConfigManager.get().general.titleContainer.alignment; Pair<Vector2f, Vector2f> boundingBox = getSelectionBoundingBox(); float x1 = boundingBox.getLeft().getX(); @@ -129,42 +129,42 @@ public class TitleContainerConfigScreen extends Screen { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { if (keyCode == GLFW.GLFW_KEY_Q) { - ConfigModel.Alignment current = SkyblockerConfig.get().general.titleContainer.alignment; - SkyblockerConfig.get().general.titleContainer.alignment = switch (current) { - case LEFT -> ConfigModel.Alignment.MIDDLE; - case MIDDLE -> ConfigModel.Alignment.RIGHT; - case RIGHT -> ConfigModel.Alignment.LEFT; + 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; }; } if (keyCode == GLFW.GLFW_KEY_E) { - ConfigModel.Alignment current = SkyblockerConfig.get().general.titleContainer.alignment; - SkyblockerConfig.get().general.titleContainer.alignment = switch (current) { - case LEFT -> ConfigModel.Alignment.RIGHT; - case MIDDLE -> ConfigModel.Alignment.LEFT; - case RIGHT -> ConfigModel.Alignment.MIDDLE; + 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; }; } if (keyCode == GLFW.GLFW_KEY_R) { - ConfigModel.Direction current = SkyblockerConfig.get().general.titleContainer.direction; - SkyblockerConfig.get().general.titleContainer.direction = switch (current) { - case HORIZONTAL -> ConfigModel.Direction.VERTICAL; - case VERTICAL -> ConfigModel.Direction.HORIZONTAL; + 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; }; } if (keyCode == GLFW.GLFW_KEY_EQUAL) { - SkyblockerConfig.get().general.titleContainer.titleContainerScale += 10; + SkyblockerConfigManager.get().general.titleContainer.titleContainerScale += 10; } if (keyCode == GLFW.GLFW_KEY_MINUS) { - SkyblockerConfig.get().general.titleContainer.titleContainerScale -= 10; + SkyblockerConfigManager.get().general.titleContainer.titleContainerScale -= 10; } return super.keyPressed(keyCode, scanCode, modifiers); } @Override public void close() { - SkyblockerConfig.get().general.titleContainer.x = (int) hudX; - SkyblockerConfig.get().general.titleContainer.y = (int) hudY; - SkyblockerConfig.save(); + SkyblockerConfigManager.get().general.titleContainer.x = (int) hudX; + SkyblockerConfigManager.get().general.titleContainer.y = (int) hudY; + SkyblockerConfigManager.save(); this.client.setScreen(parent); } } -- cgit