diff options
| author | Yasin <a.piri@hotmail.de> | 2024-05-08 00:07:04 +0200 |
|---|---|---|
| committer | Yasin <a.piri@hotmail.de> | 2024-05-08 00:07:04 +0200 |
| commit | 15bf2503e0147aeb06ebae2922ecede237983d5c (patch) | |
| tree | 827bb279c18a6394959008a661290c94d3d0e7a7 /src/main/java/de/hysky/skyblocker/config/configs | |
| parent | 9807bacfb9b2d7ef6a84e158ec21efea343128a7 (diff) | |
| download | Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.tar.gz Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.tar.bz2 Skyblocker-15bf2503e0147aeb06ebae2922ecede237983d5c.zip | |
debloat SkyblockerConfig.java + translate change
removed text.autoconfig. prefix
new way is skyblocker.option.
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config/configs')
12 files changed, 1409 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java new file mode 100644 index 00000000..8dd93aee --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/CrimsonIsleConfig.java @@ -0,0 +1,35 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.waypoint.Waypoint; +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class CrimsonIsleConfig { + @SerialEntry + public Kuudra kuudra = new Kuudra(); + + public static class Kuudra { + @SerialEntry + public boolean supplyWaypoints = true; + + @SerialEntry + public boolean fuelWaypoints = true; + + @SerialEntry + public Waypoint.Type suppliesAndFuelWaypointType = Waypoint.Type.WAYPOINT; + + @SerialEntry + public boolean ballistaBuildWaypoints = true; + + @SerialEntry + public boolean safeSpotWaypoints = true; + + @SerialEntry + public boolean pearlWaypoints = true; + + @SerialEntry + public boolean noArrowPoisonWarning = true; + + @SerialEntry + public int arrowPoisonThreshold = 32; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java new file mode 100644 index 00000000..4bf90435 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java @@ -0,0 +1,292 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.waypoint.Waypoint; +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import net.minecraft.util.Formatting; + +public class DungeonsConfig { + @SerialEntry + public boolean fancyPartyFinder = true; + + @SerialEntry + public boolean croesusHelper = true; + + @SerialEntry + public boolean playerSecretsTracker = false; + + @SerialEntry + public boolean starredMobGlow = false; + + @SerialEntry + public boolean starredMobBoundingBoxes = true; + + @SerialEntry + public boolean allowDroppingProtectedItems = false; + + @SerialEntry + public boolean acceptReparty = true; + + @SerialEntry + public DungeonMap dungeonMap = new DungeonMap(); + + @SerialEntry + public PuzzleSolver puzzleSolver = new PuzzleSolver(); + + @SerialEntry + public TheProfessor theProfessor = new TheProfessor(); + + @SerialEntry + public Livid livid = new Livid(); + + @SerialEntry + public Terminals terminals = new Terminals(); + + @SerialEntry + public SecretWaypoints secretWaypoints = new SecretWaypoints(); + + @SerialEntry + public MimicMessage mimicMessage = new MimicMessage(); + + @SerialEntry + public DoorHighlight doorHighlight = new DoorHighlight(); + + @SerialEntry + public DungeonScore dungeonScore = new DungeonScore(); + + @SerialEntry + public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit(); + + public static class DungeonMap { + @SerialEntry + public boolean enableMap = true; + + @SerialEntry + public float mapScaling = 1f; + + @SerialEntry + public int mapX = 2; + + @SerialEntry + public int mapY = 2; + } + + public static class PuzzleSolver { + @SerialEntry + public boolean solveTicTacToe = true; + + @SerialEntry + public boolean solveThreeWeirdos = true; + + @SerialEntry + public boolean creeperSolver = true; + + @SerialEntry + public boolean solveWaterboard = true; + + @SerialEntry + public boolean blazeSolver = true; + + @SerialEntry + public boolean solveBoulder = true; + + @SerialEntry + public boolean solveIceFill = true; + + @SerialEntry + public boolean solveSilverfish = true; + + @SerialEntry + public boolean solveTrivia = true; + } + + public static class TheProfessor { + @SerialEntry + public boolean fireFreezeStaffTimer = true; + + @SerialEntry + public boolean floor3GuardianHealthDisplay = true; + } + + public static class Livid { + @SerialEntry + public boolean enableLividColorGlow = true; + + @SerialEntry + public boolean enableLividColorText = true; + + @SerialEntry + public boolean enableLividColorTitle = true; + + @SerialEntry + public String lividColorText = "The livid color is [color]"; + } + + public static class Terminals { + @SerialEntry + public boolean solveColor = true; + + @SerialEntry + public boolean solveOrder = true; + + @SerialEntry + public boolean solveStartsWith = true; + } + + public static class SecretWaypoints { + @SerialEntry + public boolean enableRoomMatching = true; + + @SerialEntry + public boolean enableSecretWaypoints = true; + + @SerialEntry + public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT; + + @SerialEntry + public boolean showSecretText = true; + + @SerialEntry + public boolean enableEntranceWaypoints = true; + + @SerialEntry + public boolean enableSuperboomWaypoints = true; + + @SerialEntry + public boolean enableChestWaypoints = true; + + @SerialEntry + public boolean enableItemWaypoints = true; + + @SerialEntry + public boolean enableBatWaypoints = true; + + @SerialEntry + public boolean enableWitherWaypoints = true; + + @SerialEntry + public boolean enableLeverWaypoints = true; + + @SerialEntry + public boolean enableFairySoulWaypoints = true; + + @SerialEntry + public boolean enableStonkWaypoints = true; + + @SerialEntry + public boolean enableAotvWaypoints = true; + + @SerialEntry + public boolean enablePearlWaypoints = true; + + @SerialEntry + public boolean enableDefaultWaypoints = true; + } + + public static class MimicMessage { + @SerialEntry + public boolean sendMimicMessage = true; + + @SerialEntry + public String mimicMessage = "Mimic dead!"; + } + + public static class DoorHighlight { + @SerialEntry + public boolean enableDoorHighlight = true; + + @SerialEntry + public Type doorHighlightType = Type.OUTLINED_HIGHLIGHT; + + public enum Type { + HIGHLIGHT, + OUTLINED_HIGHLIGHT, + OUTLINE; + + @Override + public String toString() { + return switch (this) { + case HIGHLIGHT -> "Highlight"; + case OUTLINED_HIGHLIGHT -> "Outlined Highlight"; + case OUTLINE -> "Outline"; + }; + } + } + } + + public static class DungeonScore { + @SerialEntry + public boolean enableDungeonScore270Message = false; + + @SerialEntry + public boolean enableDungeonScore270Title = false; + + @SerialEntry + public boolean enableDungeonScore270Sound = false; + + @SerialEntry + public String dungeonScore270Message = "270 Score Reached!"; + + @SerialEntry + public boolean enableDungeonScore300Message = true; + + @SerialEntry + public boolean enableDungeonScore300Title = true; + + @SerialEntry + public boolean enableDungeonScore300Sound = true; + + @SerialEntry + public String dungeonScore300Message = "300 Score Reached!"; + + @SerialEntry + public boolean enableDungeonCryptsMessage = true; + + @SerialEntry + public int dungeonCryptsMessageThreshold = 250; + + @SerialEntry + public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!"; + + @SerialEntry + public boolean enableScoreHUD = true; + + @SerialEntry + public int scoreX = 29; + + @SerialEntry + public int scoreY = 134; + + @SerialEntry + public float scoreScaling = 1f; + } + + public static class DungeonChestProfit { + @SerialEntry + public boolean enableProfitCalculator = true; + + @SerialEntry + public boolean includeKismet = false; + + @SerialEntry + public boolean includeEssence = true; + + @SerialEntry + public boolean croesusProfit = true; + + @SerialEntry + public int neutralThreshold = 1000; + + @SerialEntry + public Formatting neutralColor = Formatting.DARK_GRAY; + + @SerialEntry + public Formatting profitColor = Formatting.DARK_GREEN; + + @SerialEntry + public Formatting lossColor = Formatting.RED; + + @SerialEntry + public Formatting incompleteColor = Formatting.BLUE; + } + +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java new file mode 100644 index 00000000..b2faf005 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/FarmingConfig.java @@ -0,0 +1,37 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class FarmingConfig { + + @SerialEntry + public Garden garden = new Garden(); + + public static class Garden { + @SerialEntry + public FarmingHud farmingHud = new FarmingHud(); + + @SerialEntry + public boolean dicerTitlePrevent = true; + + @SerialEntry + public boolean visitorHelper = true; + + @SerialEntry + public boolean lockMouseTool = false; + + @SerialEntry + public boolean lockMouseGroundOnly = false; + } + + public static class FarmingHud { + @SerialEntry + public boolean enableHud = true; + + @SerialEntry + public int x; + + @SerialEntry + public int y; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java new file mode 100644 index 00000000..f4e65e36 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/GeneralConfig.java @@ -0,0 +1,220 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.skyblock.item.CustomArmorAnimatedDyes; +import de.hysky.skyblocker.skyblock.item.CustomArmorTrims; +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; +import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; + +import java.util.ArrayList; +import java.util.List; + +public class GeneralConfig { + @SerialEntry + public boolean enableTips = true; + + @SerialEntry + public boolean hideEmptyTooltips = true; + + @SerialEntry + public Shortcuts shortcuts = new Shortcuts(); + + @SerialEntry + public QuiverWarning quiverWarning = new QuiverWarning(); + + @SerialEntry + public ItemList itemList = new ItemList(); + + @SerialEntry + public ItemTooltip itemTooltip = new ItemTooltip(); + + @SerialEntry + public ItemInfoDisplay itemInfoDisplay = new ItemInfoDisplay(); + + @SerialEntry + public ItemProtection itemProtection = new ItemProtection(); + + @SerialEntry + public WikiLookup wikiLookup = new WikiLookup(); + + @SerialEntry + public SpecialEffects specialEffects = new SpecialEffects(); + + @SerialEntry + public Hitbox hitbox = new Hitbox(); + + @SerialEntry + public List<Integer> lockedSlots = new ArrayList<>(); + + //maybe put this 5 somewhere else + @SerialEntry + public ObjectOpenHashSet<String> protectedItems = new ObjectOpenHashSet<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, Text> customItemNames = new Object2ObjectOpenHashMap<>(); + + @SerialEntry + public Object2IntOpenHashMap<String> customDyeColors = new Object2IntOpenHashMap<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, CustomArmorTrims.ArmorTrimId> customArmorTrims = new Object2ObjectOpenHashMap<>(); + + @SerialEntry + public Object2ObjectOpenHashMap<String, CustomArmorAnimatedDyes.AnimatedDye> customAnimatedDyes = new Object2ObjectOpenHashMap<>(); + + public static class Shortcuts { + @SerialEntry + public boolean enableShortcuts = true; + + @SerialEntry + public boolean enableCommandShortcuts = true; + + @SerialEntry + public boolean enableCommandArgShortcuts = true; + } + + + public static class QuiverWarning { + @SerialEntry + public boolean enableQuiverWarning = true; + + @SerialEntry + public boolean enableQuiverWarningInDungeons = true; + + @SerialEntry + public boolean enableQuiverWarningAfterDungeon = true; + } + + public static class ItemList { + @SerialEntry + public boolean enableItemList = true; + } + + public static class ItemTooltip { + @SerialEntry + public boolean enableNPCPrice = true; + + @SerialEntry + public boolean enableMotesPrice = true; + + @SerialEntry + public boolean enableAvgBIN = true; + + @SerialEntry + public Average avg = Average.THREE_DAY; + + @SerialEntry + public boolean enableLowestBIN = true; + + @SerialEntry + public boolean enableBazaarPrice = true; + + @SerialEntry + public boolean enableObtainedDate = true; + + @SerialEntry + public boolean enableMuseumInfo = true; + + @SerialEntry + public boolean enableExoticTooltip = true; + + @SerialEntry + public boolean enableAccessoriesHelper = true; + + @SerialEntry + public boolean dungeonQuality = true; + } + + public enum Average { + ONE_DAY, THREE_DAY, BOTH; + + @Override + public String toString() { + return I18n.translate("skyblocker.option.general.itemTooltip.avg." + name()); + } + } + + public static class ItemInfoDisplay { + @SerialEntry + public boolean attributeShardInfo = true; + + @SerialEntry + public boolean itemRarityBackgrounds = false; + + @SerialEntry + public RarityBackgroundStyle itemRarityBackgroundStyle = RarityBackgroundStyle.CIRCULAR; + + @SerialEntry + public float itemRarityBackgroundsOpacity = 1f; + } + + public enum RarityBackgroundStyle { + CIRCULAR(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), + SQUARE(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); + + public final Identifier tex; + + RarityBackgroundStyle(Identifier tex) { + this.tex = tex; + } + + @Override + public String toString() { + return switch (this) { + case CIRCULAR -> "Circular"; + case SQUARE -> "Square"; + }; + } + } + + public static class ItemProtection { + @SerialEntry + public SlotLockStyle slotLockStyle = SlotLockStyle.FANCY; + } + + public enum SlotLockStyle { + CLASSIC(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/slot_lock.png")), + FANCY(new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/fancy_slot_lock.png")); + + public final Identifier tex; + + SlotLockStyle(Identifier tex) { + this.tex = tex; + } + + @Override + public String toString() { + return switch (this) { + case CLASSIC -> "Classic"; + case FANCY -> "FANCY"; + }; + } + } + + public static class WikiLookup { + @SerialEntry + public boolean enableWikiLookup = true; + + @SerialEntry + public boolean officialWiki = true; + } + + public static class SpecialEffects { + @SerialEntry + public boolean rareDungeonDropEffects = true; + } + + public static class Hitbox { + @SerialEntry + public boolean oldFarmlandHitbox = false; + + @SerialEntry + public boolean oldLeverHitbox = false; + } + +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java new file mode 100644 index 00000000..2abff6ac --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java @@ -0,0 +1,65 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class HelperConfig { + + @SerialEntry + public boolean enableNewYearCakesHelper = true; + + @SerialEntry + public MythologicalRitual mythologicalRitual = new MythologicalRitual(); + + @SerialEntry + public Experiments experiments = new Experiments(); + + @SerialEntry + public Fishing fishing = new Fishing(); + + @SerialEntry + public FairySouls fairySouls = new FairySouls(); + + public static class MythologicalRitual { + @SerialEntry + public boolean enableMythologicalRitualHelper = true; + } + + public static class Experiments { + @SerialEntry + public boolean enableChronomatronSolver = true; + + @SerialEntry + public boolean enableSuperpairsSolver = true; + + @SerialEntry + public boolean enableUltrasequencerSolver = true; + } + + public static class Fishing { + @SerialEntry + public boolean enableFishingHelper = true; + + @SerialEntry + public boolean enableFishingTimer = false; + + @SerialEntry + public boolean changeTimerColor = true; + + @SerialEntry + public float fishingTimerScale = 1f; + + @SerialEntry + public boolean hideOtherPlayersRods = false; + } + + public static class FairySouls { + @SerialEntry + public boolean enableFairySoulsHelper = false; + + @SerialEntry + public boolean highlightFoundSouls = true; + + @SerialEntry + public boolean highlightOnlyNearbySouls = false; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java new file mode 100644 index 00000000..8fdf1422 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MessagesConfig.java @@ -0,0 +1,61 @@ +package de.hysky.skyblocker.config.configs; + +import de.hysky.skyblocker.utils.chat.ChatFilterResult; +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class MessagesConfig { + @SerialEntry + public ChatFilterResult hideAbility = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideHeal = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAOTE = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideImplosion = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAds = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideCombo = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideShowOff = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideMimicKill = ChatFilterResult.PASS; + + @SerialEntry + public ChatFilterResult hideDeath = ChatFilterResult.PASS; + + @SerialEntry + public boolean hideMana = false; + + @SerialEntry + public ChatFilterResult hideDicer = ChatFilterResult.PASS; + + @SerialEntry + public ChatRuleConfig chatRuleConfig = new ChatRuleConfig(); + + public static class ChatRuleConfig { + @SerialEntry + public int announcementLength = 60; + @SerialEntry + public int announcementScale = 3; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java new file mode 100644 index 00000000..0964a7f8 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiningConfig.java @@ -0,0 +1,100 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class MiningConfig { + @SerialEntry + public boolean enableDrillFuel = true; + + @SerialEntry + public DwarvenMines dwarvenMines = new DwarvenMines(); + + @SerialEntry + public DwarvenHud dwarvenHud = new DwarvenHud(); + + @SerialEntry + public CrystalHollows crystalHollows = new CrystalHollows(); + + @SerialEntry + public CrystalsHud crystalsHud = new CrystalsHud(); + + @SerialEntry + public CrystalsWaypoints crystalsWaypoints = new CrystalsWaypoints(); + + public static class DwarvenMines { + @SerialEntry + public boolean solveFetchur = true; + + @SerialEntry + public boolean solvePuzzler = true; + } + + public static class DwarvenHud { + @SerialEntry + public boolean enabledCommissions = true; + + @SerialEntry + public boolean enabledPowder = true; + + @SerialEntry + public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 10; + + @SerialEntry + public int powderX = 10; + + @SerialEntry + public int powderY = 70; + } + + public static class CrystalHollows { + @SerialEntry + public boolean metalDetectorHelper = true; + } + + public static class CrystalsHud { + @SerialEntry + public boolean enabled = true; + + @SerialEntry + public boolean showLocations = true; + + @SerialEntry + public int locationSize = 8; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 130; + + @SerialEntry + public float mapScaling = 1f; + } + + public static class CrystalsWaypoints { + @SerialEntry + public boolean enabled = true; + + @SerialEntry + public boolean findInChat = true; + } + + public enum DwarvenHudStyle { + SIMPLE, FANCY, CLASSIC; + + @Override + public String toString() { + return switch (this) { + case SIMPLE -> "Simple"; + case FANCY -> "Fancy"; + case CLASSIC -> "Classic"; + }; + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java new file mode 100644 index 00000000..de321431 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/MiscConfig.java @@ -0,0 +1,35 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; +import net.minecraft.client.resource.language.I18n; + +public class MiscConfig { + @SerialEntry + public boolean hideStatusEffectOverlay = false; + + @SerialEntry + public RichPresence richPresence = new RichPresence(); + + public static class RichPresence { + @SerialEntry + public boolean enableRichPresence = false; + + @SerialEntry + public Info info = Info.LOCATION; + + @SerialEntry + public boolean cycleMode = false; + + @SerialEntry + public String customMessage = "Playing Skyblock"; + } + + public enum Info { + PURSE, BITS, LOCATION; + + @Override + public String toString() { + return I18n.translate("skyblocker.option.richPresence.info." + name()); + } + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java new file mode 100644 index 00000000..5bc1c4b7 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/OtherLocationsConfig.java @@ -0,0 +1,79 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class OtherLocationsConfig { + + @SerialEntry + public Barn barn = new Barn(); + + @SerialEntry + public Rift rift = new Rift(); + + @SerialEntry + public TheEnd end = new TheEnd(); + + @SerialEntry + public SpidersDen spidersDen = new SpidersDen(); + + public static class Barn { + @SerialEntry + public boolean solveHungryHiker = true; + + @SerialEntry + public boolean solveTreasureHunter = true; + } + + public static class Rift { + @SerialEntry + public boolean mirrorverseWaypoints = true; + + @SerialEntry + public boolean blobbercystGlow = true; + + @SerialEntry + public boolean enigmaSoulWaypoints = false; + + @SerialEntry + public boolean highlightFoundEnigmaSouls = true; + + @SerialEntry + public int mcGrubberStacks = 0; + } + + public static class TheEnd { + @SerialEntry + public boolean enableEnderNodeHelper = true; + + @SerialEntry + public boolean hudEnabled = true; + + @SerialEntry + public boolean zealotKillsEnabled = true; + + @SerialEntry + public boolean protectorLocationEnabled = true; + + @SerialEntry + public boolean waypoint = true; + + @SerialEntry + public int x = 10; + + @SerialEntry + public int y = 10; + } + + public static class SpidersDen { + @SerialEntry + public Relics relics = new Relics(); + } + + public static class Relics { + @SerialEntry + public boolean enableRelicsHelper = false; + + @SerialEntry + public boolean highlightFoundRelics = true; + } +} diff --git a/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java new file mode 100644 index 00000000..6927be08 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/configs/QuickNavConfig.java @@ -0,0 +1,181 @@ +package de.hysky.skyblocker.config.configs; + +import dev.isxander.yacl3.config.v2.api.SerialEntry; + +public class QuickNavConfig { + @SerialEntry + public boolean enableQuickNav = true; + + @SerialEntry + public QuickNavItem button1 = new QuickNavItem(true, new ItemData("diamond_sword"), "Your Skills", "/skills"); + + @SerialEntry + public QuickNavItem button2 = new QuickNavItem(true, new ItemData("painting"), "Collections", "/collection"); + + /* REGEX Explanation + * "Pets" : simple match on letters + * "(?: \\(\\d+\\/\\d+\\))?" : optional match on the non-capturing group for the page in the format " ($number/$number)" + */ + @SerialEntry + public QuickNavItem button3 = new QuickNavItem(true, new ItemData("bone"), "Pets(:? \\(\\d+\\/\\d+\\))?", "/pets"); + + /* REGEX Explanation + * "Wardrobe" : simple match on letters + * " \\([12]\\/2\\)" : match on the page either " (1/2)" or " (2/2)" + */ + @SerialEntry + public QuickNavItem button4 = new QuickNavItem(true, + new ItemData("leather_chestplate", 1, "tag:{display:{color:8991416}}"), "Wardrobe \\([12]/2\\)", + "/wardrobe"); + + @SerialEntry + public QuickNavItem button5 = new QuickNavItem(true, new ItemData("player_head", 1, + |
