diff options
12 files changed, 264 insertions, 15 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/ChatConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/ChatConfig.java index 425cd9d07..9833cf182 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/ChatConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/ChatConfig.java @@ -164,5 +164,6 @@ public class ChatConfig { @Expose @ConfigOption(name = "Translator", desc = "Click on a message to translate it into English. Use /shcopytranslation to get the translation from English. Translation is not guaranteed to be 100% accurate.") @ConfigEditorBoolean + @FeatureToggle public boolean translator = false; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java index 472a0a50d..3dccd1b3c 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java @@ -68,12 +68,14 @@ public class FishingConfig { @ConfigOption(name = "Fillet Tooltip", desc = "Show fillet value of trophy fish in tooltip.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean trophyFilletTooltip = true; @Expose @ConfigOption(name = "Odger Waypoint", desc = "Show the Odger waypoint when trophy fishes are in the inventory and no lava rod in hand.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean odgerLocation = true; @ConfigOption(name = "Thunder Spark", desc = "") @@ -84,6 +86,7 @@ public class FishingConfig { @ConfigOption(name = "Thunder Spark Highlight", desc = "Highlight Thunder Sparks after killing a Thunder") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean thunderSparkHighlight = false; @Expose @@ -103,6 +106,7 @@ public class FishingConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean barnTimer = true; @Expose @@ -115,6 +119,7 @@ public class FishingConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean barnTimerCrystalHollows = true; @Expose @@ -152,6 +157,7 @@ public class FishingConfig { @Expose @ConfigOption(name = "Enable", desc = "Hide the Chum/Chumcap Bucket name tags for other players.") @ConfigEditorBoolean + @FeatureToggle public Property<Boolean> enabled = Property.of(true); @Expose @@ -175,6 +181,7 @@ public class FishingConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show the fished item name above the item when fishing.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -190,6 +197,7 @@ public class FishingConfig { desc = "Counts how many sharks have been caught." ) @ConfigEditorBoolean + @FeatureToggle public boolean sharkFishCounter = false; @Expose @@ -198,10 +206,12 @@ public class FishingConfig { @Expose @ConfigOption(name = "Shorten Fishing Message", desc = "Shortens the chat message that says what type of sea creature you have fished.") @ConfigEditorBoolean + @FeatureToggle public boolean shortenFishingMessage = false; @Expose @ConfigOption(name = "Compact Double Hook", desc = "Adds Double Hook to the sea creature chat message instead of in a previous line.") @ConfigEditorBoolean + @FeatureToggle public boolean compactDoubleHook = true; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java index 403aed763..1d13f5441 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.commands.Commands; import at.hannibal2.skyhanni.config.core.config.Position; import at.hannibal2.skyhanni.features.garden.inventory.GardenPlotIcon; @@ -26,6 +27,7 @@ public class GardenConfig { @ConfigOption(name = "Copper Price", desc = "Show copper to coin prices inside the SkyMart inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean skyMartCopperPrice = true; @Expose @@ -53,6 +55,7 @@ public class GardenConfig { "and a number for how many visitors are already waiting.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean visitorTimerEnabled = true; @Expose @@ -82,6 +85,7 @@ public class GardenConfig { @ConfigOption(name = "Items Needed", desc = "Show all items needed for the visitors.") @ConfigEditorBoolean @ConfigAccordionId(id = 3) + @FeatureToggle public boolean visitorNeedsDisplay = true; @Expose @@ -110,6 +114,7 @@ public class GardenConfig { @ConfigOption(name = "Item Preview", desc = "Show the base type for the required items next to new visitors. §cNote that some visitors may require any crop.") @ConfigEditorBoolean @ConfigAccordionId(id = 3) + @FeatureToggle public boolean visitorItemPreview = true; @Expose @@ -122,6 +127,7 @@ public class GardenConfig { @ConfigOption(name = "Visitor Price", desc = "Show the bazaar price of the items required for the visitors, like in NEU.") @ConfigEditorBoolean @ConfigAccordionId(id = 4) + @FeatureToggle public boolean visitorShowPrice = false; @Expose @@ -134,18 +140,21 @@ public class GardenConfig { @ConfigOption(name = "Copper Price", desc = "Show the price per copper inside the visitor gui.") @ConfigEditorBoolean @ConfigAccordionId(id = 4) + @FeatureToggle public boolean visitorCopperPrice = true; @Expose @ConfigOption(name = "Copper Time", desc = "Show the time required per copper inside the visitor gui.") @ConfigEditorBoolean @ConfigAccordionId(id = 4) + @FeatureToggle public boolean visitorCopperTime = false; @Expose @ConfigOption(name = "Garden Exp Price", desc = "Show the price per garden experience inside the visitor gui.") @ConfigEditorBoolean @ConfigAccordionId(id = 4) + @FeatureToggle public boolean visitorExperiencePrice = false; @Expose @@ -159,16 +168,19 @@ public class GardenConfig { @Expose @ConfigOption(name = "Notify in Chat", desc = "Send a Chat message once you talk to a visitor with reward.") @ConfigEditorBoolean + @FeatureToggle public boolean notifyInChat = true; @Expose @ConfigOption(name = "Show over Name", desc = "Show the reward name above the visitor name.") @ConfigEditorBoolean + @FeatureToggle public boolean showOverName = true; @Expose @ConfigOption(name = "Prevent Refusing", desc = "Prevent the refusal of a visitor with reward.") @ConfigEditorBoolean + @FeatureToggle public boolean preventRefusing = true; @Expose @@ -206,12 +218,14 @@ public class GardenConfig { @ConfigOption(name = "Notification Chat", desc = "Show in chat when a new visitor is visiting your island.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean visitorNotificationChat = true; @Expose @ConfigOption(name = "Notification Title", desc = "Show a title when a new visitor is visiting your island.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean visitorNotificationTitle = true; @Expose @@ -224,18 +238,21 @@ public class GardenConfig { @ConfigOption(name = "Colored Name", desc = "Show the visitor name in the color of the rarity.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean visitorColoredName = true; @Expose @ConfigOption(name = "Hypixel Message", desc = "Hide the chat message from Hypixel that a new visitor has arrived at your garden.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean visitorHypixelArrivedMessage = true; @Expose @ConfigOption(name = "Hide Chat", desc = "Hide chat messages from the visitors in garden. (Except Beth and Spaceman)") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean visitorHideChat = true; @Expose @@ -251,6 +268,7 @@ public class GardenConfig { desc = "Tallies up statistic about visitors and the rewards you have received from them." ) @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -312,24 +330,28 @@ public class GardenConfig { @ConfigOption(name = "Crop Milestone", desc = "Show the number of crop milestones in the inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean numberCropMilestone = true; @Expose @ConfigOption(name = "Average Milestone", desc = "Show the average crop milestone in the crop milestone inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean numberAverageCropMilestone = true; @Expose @ConfigOption(name = "Crop Upgrades", desc = "Show the number of upgrades in the crop upgrades inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean numberCropUpgrades = true; @Expose @ConfigOption(name = "Composter Upgrades", desc = "Show the number of upgrades in the composter upgrades inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean numberComposterUpgrades = true; @Expose @@ -345,6 +367,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 6) + @FeatureToggle public boolean cropMilestoneProgress = true; @Expose @@ -428,6 +451,7 @@ public class GardenConfig { desc = "Lists all crops and their ETA till next milestone. Sorts for best crop for getting garden or SkyBlock levels.") @ConfigEditorBoolean @ConfigAccordionId(id = 7) + @FeatureToggle public boolean cropMilestoneBestDisplay = true; // TODO moulconfig runnable support @@ -496,6 +520,7 @@ public class GardenConfig { desc = "Show the progress and ETA for mushroom crops when farming other crops because of the mushroom cow perk.") @ConfigEditorBoolean @ConfigAccordionId(id = 15) + @FeatureToggle public boolean cropMilestoneMushroomPetPerkEnabled = true; @Expose @@ -529,6 +554,7 @@ public class GardenConfig { @ConfigOption(name = "Enabled", desc = "Use custom keybinds while holding a farming tool or daedalus axe in the hand. §cOnly updates after scrolling in the hotbar.") @ConfigEditorBoolean @ConfigAccordionId(id = 8) + @FeatureToggle public boolean keyBindEnabled = false; @ConfigOption(name = "Disable All", desc = "Disable all keys.") @@ -616,9 +642,11 @@ public class GardenConfig { public boolean optimalSpeed = false; @Expose - @ConfigOption(name = "Enabled", desc = "Show the optimal speed for your current tool in the hand.\n(Thanks MelonKingDE for the default values).") + @ConfigOption(name = "Enabled", desc = "Show the optimal speed for your current tool in the hand.\n" + + "(Thanks MelonKingDE for the default values).") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean optimalSpeedEnabled = true; @Expose @@ -631,6 +659,7 @@ public class GardenConfig { @ConfigOption(name = "Rancher Boots", desc = "Allows you to set the optimal speed in the rancher boots overlay by clicking on the presets.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean optimalSpeedSignEnabled = true; @Expose @@ -728,6 +757,7 @@ public class GardenConfig { @ConfigOption(name = "Display", desc = "Show the current garden level and progress to the next level.") @ConfigEditorBoolean @ConfigAccordionId(id = 10) + @FeatureToggle public boolean gardenLevelDisplay = true; @Expose @@ -744,6 +774,7 @@ public class GardenConfig { "See §ehttps://elitebot.dev/info §7for more info.") @ConfigEditorBoolean @ConfigAccordionId(id = 11) + @FeatureToggle public boolean eliteFarmingWeightDisplay = true; @Expose @@ -796,12 +827,14 @@ public class GardenConfig { @ConfigOption(name = "Rng Drop Counter", desc = "Count RNG drops for Melon Dicer and Pumpkin Dicer.") @ConfigEditorBoolean @ConfigAccordionId(id = 12) + @FeatureToggle public boolean dicerCounterDisplay = true; @Expose @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when dropping a RNG Dicer drop.") @ConfigEditorBoolean @ConfigAccordionId(id = 12) + @FeatureToggle public boolean dicerCounterHideChat = false; @Expose @@ -818,6 +851,7 @@ public class GardenConfig { "Supports Bountiful, Mushroom Cow Perk and Dicer drops. Thier toggles are below.") @ConfigEditorBoolean @ConfigAccordionId(id = 13) + @FeatureToggle public boolean moneyPerHourDisplay = true; // TODO moulconfig runnable support @@ -937,6 +971,7 @@ public class GardenConfig { @ConfigOption(name = "Show Jacob's Contest", desc = "Show the current or next Jacob's farming contest time and crops.") @ConfigEditorBoolean @ConfigAccordionId(id = 14) + @FeatureToggle public boolean nextJacobContestDisplay = true; @Expose @@ -998,12 +1033,14 @@ public class GardenConfig { @ConfigOption(name = "Show Counter", desc = "Count all §9Cropie§7, §5Squash §7and §6Fermento §7dropped.") @ConfigEditorBoolean @ConfigAccordionId(id = 18) + @FeatureToggle public boolean farmingArmorDropsEnabled = true; @Expose @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when receiving a farming armor drop.") @ConfigEditorBoolean @ConfigAccordionId(id = 18) + @FeatureToggle public boolean farmingArmorDropsHideChat = false; @Expose @@ -1022,6 +1059,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 16) + @FeatureToggle public boolean anitaMedalProfitEnabled = true; @Expose @@ -1030,6 +1068,7 @@ public class GardenConfig { desc = "Show current tier and cost to max out in the item tooltip.") @ConfigEditorBoolean @ConfigAccordionId(id = 16) + @FeatureToggle public boolean extraFarmingFortune = true; @Expose @@ -1047,6 +1086,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 17) + @FeatureToggle public boolean composterOverlay = true; @Expose @@ -1068,6 +1108,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 17) + @FeatureToggle public boolean composterDisplayEnabled = true; @Expose @@ -1095,6 +1136,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 17) + @FeatureToggle public boolean composterUpgradePrice = true; @Expose @@ -1113,6 +1155,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 17) + @FeatureToggle public boolean composterHighLightUpgrade = true; @Expose @@ -1122,6 +1165,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 17) + @FeatureToggle public boolean composterInventoryNumbers = true; @Expose @@ -1134,6 +1178,7 @@ public class GardenConfig { @ConfigOption(name = "Enable", desc = "Show a notification when organic matter or fuel runs low in your composter.") @ConfigEditorBoolean @ConfigAccordionId(id = 21) + @FeatureToggle public boolean composterNotifyLowEnabled = true; @Expose @@ -1180,6 +1225,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 22) + @FeatureToggle public boolean farmingFortuneDisplay = true; @Expose @@ -1211,6 +1257,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 20) + @FeatureToggle public boolean compactToolTooltips = false; @Expose @@ -1240,6 +1287,7 @@ public class GardenConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 20) + @FeatureToggle public boolean cropMilestoneTotalProgress = true; @Expose @@ -1252,6 +1300,7 @@ public class GardenConfig { @Expose @ConfigOption(name = "Enable", desc = "Displays yaw and pitch while holding a farming tool. Automatically fades out if there is no movement.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -1312,6 +1361,7 @@ public class GardenConfig { @Expose @ConfigOption(name = "Enable", desc = "Show the start waypoint for your farm with the currently holding tool.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; } @@ -1325,6 +1375,7 @@ public class GardenConfig { @Expose @ConfigOption(name = "Enable", desc = "Enable icon replacement in the Configure Plots menu.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @ConfigOption(name = "Hard Reset", desc = "Reset every slot to it's original item.") @@ -1338,27 +1389,32 @@ public class GardenConfig { @Expose @ConfigOption(name = "Plot Price", desc = "Show the price of the plot in coins when inside the Configure Plots inventory.") @ConfigEditorBoolean + @FeatureToggle public boolean plotPrice = true; @Expose @ConfigOption(name = "Desk in Menu", desc = "Show a Desk button in the SkyBlock Menu. Opens the /desk command on click.") @ConfigEditorBoolean + @FeatureToggle public boolean deskInSkyBlockMenu = true; @Expose @ConfigOption(name = "Fungi Cutter Warning", desc = "Warn when breaking mushroom with the wrong Fungi Cutter mode.") @ConfigEditorBoolean + @FeatureToggle public boolean fungiCutterWarn = true; @Expose @ConfigOption(name = "Burrowing Spores", desc = "Show a notification when a Burrowing Spores spawns during farming mushrooms.") @ConfigEditorBoolean + @FeatureToggle public boolean burrowingSporesNotification = true; @Expose @ConfigOption(name = "Wild Strawberry", desc = "Show a notification when a Wild Strawberry Dye drops during farming.") @ConfigEditorBoolean + @FeatureToggle public boolean wildStrawberryDyeNotification = true; @Expose @@ -1367,6 +1423,7 @@ public class GardenConfig { desc = "Show the minimum needed Farming Fortune for reaching each medal in Jacob's Farming Contest inventory." ) @ConfigEditorBoolean + @FeatureToggle public boolean farmingFortuneForContest = true; @Expose @@ -1378,6 +1435,7 @@ public class GardenConfig { desc = "Show the time and missing FF for every crop inside Jacob's Farming Contest inventory." ) @ConfigEditorBoolean + @FeatureToggle public boolean jacobContextTimes = true; @Expose @@ -1389,6 +1447,7 @@ public class GardenConfig { desc = "Show the average Blocks Per Second and blocks clicked at the end of a Jacob Farming Contest in chat." ) @ConfigEditorBoolean + @FeatureToggle public boolean jacobContestSummary = true; @Expose @@ -1402,5 +1461,6 @@ public class GardenConfig { @Expose @ConfigOption(name = "Enable Plot Borders", desc = "Enable the use of F3 + G hotkey to show Garden plot borders. Similar to how later minecraft version render chunk borders.") @ConfigEditorBoolean + @FeatureToggle public boolean plotBorders = true; }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GhostCounterConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/GhostCounterConfig.java index 4e41b0dbc..da971dd6c 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/GhostCounterConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/GhostCounterConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import at.hannibal2.skyhanni.features.misc.ghostcounter.GhostFormatting; import at.hannibal2.skyhanni.features.misc.ghostcounter.GhostUtil; @@ -15,6 +16,7 @@ public class GhostCounterConfig { @Expose @ConfigOption(name = "Enabled", desc = "Enable ghost counter.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java index 4ddf71101..571a9a15b 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.*; @@ -18,6 +19,7 @@ public class InventoryConfig { @ConfigOption(name = "Enabled", desc = "Hide items that are not clickable in the current inventory: ah, bz, accessory bag, etc.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean hideNotClickableItems = false; @Expose @@ -53,18 +55,21 @@ public class InventoryConfig { @ConfigOption(name = "Floor Names", desc = "Show the floor names in the catacombs rng meter inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean rngMeterFloorName = false; @Expose @ConfigOption(name = "No Drop", desc = "Highlight floors without a drop selected in the catacombs rng meter inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean rngMeterNoDrop = false; @Expose @ConfigOption(name = "Selected Drop", desc = "Highlight the selected drop in the catacombs or slayer rng meter inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean rngMeterSelectedDrop = false; @ConfigOption(name = "Stats Tuning", desc = "") @@ -75,24 +80,28 @@ public class InventoryConfig { @ConfigOption(name = "Selected Stats", desc = "Show the tuning stats in the Thaumaturgy inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean statsTuningSelectedStats = true; @Expose @ConfigOption(name = "Tuning Points", desc = "Show the amount of selected tuning points in the stats tuning inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean statsTuningPoints = true; @Expose @ConfigOption(name = "Selected Template", desc = "Highlight the selected template in the stats tuning inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean statsTuningSelectedTemplate = true; @Expose @ConfigOption(name = "Template Stats", desc = "Show the type of stats for the tuning point templates.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean statsTuningTemplateStats = true; @Expose @@ -104,18 +113,21 @@ public class InventoryConfig { @ConfigOption(name = "Unclaimed Rewards", desc = "Highlight contests with unclaimed rewards in the jacob inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 3) + @FeatureToggle public boolean jacobFarmingContestHighlightRewards = true; @Expose @ConfigOption(name = "Duplicate Hider", desc = "Hides duplicate farming contests in the inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 3) + @FeatureToggle public boolean jacobFarmingContestHideDuplicates = true; @Expose @ConfigOption(name = "Contest Time", desc = "Adds the real time format to the contest description.") @ConfigEditorBoolean @ConfigAccordionId(id = 3) + @FeatureToggle public boolean jacobFarmingContestRealTime = true; @Expose @@ -128,6 +140,7 @@ public class InventoryConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show contained items inside a sack inventory.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -196,6 +209,7 @@ public class InventoryConfig { @Expose @ConfigOption(name = "Enabled", desc = "Enabled estimated value of chest") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -216,6 +230,7 @@ public class InventoryConfig { @Expose @ConfigOption(name = "Highlight slot", desc = "Highlight slot where the item is when you hover over it in the display.") @ConfigEditorBoolean + @FeatureToggle public boolean enableHighlight = true; @Expose @@ -286,35 +301,41 @@ public class InventoryConfig { @Expose @ConfigOption(name = "Sack Name", desc = "Show an abbreviation of the sack name.") @ConfigEditorBoolean + @FeatureToggle public boolean displaySackName = false; @Expose @ConfigOption(name = "Anvil Combine Helper", desc = "Suggests the same item in the inventory when trying to combine two items in the anvil.") @ConfigEditorBoolean + @FeatureToggle public boolean anvilCombineHelper = false; @Expose @ConfigOption(name = "Item Stars", desc = "Show a compact star count in the item name for all items.") @ConfigEditorBoolean + @FeatureToggle public boolean itemStars = false; @Expose @ConfigOption(name = "Highlight Depleted Bonzo's Masks", desc = "Highlights used Bonzo's Masks with a background.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightDepletedBonzosMasks = false; @Expose @ConfigOption(name = "Missing Tasks", desc = "Highlight missing tasks in the SkyBlock level guide inventory.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightMissingSkyBlockLevelGuide = true; @Expose @ConfigOption(name = "Highlight Auctions", desc = "Highlight own items that are sold in green and that are expired in red.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightAuctions = true; diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java index e4fc4f186..4b245db4d 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java @@ -1,18 +1,15 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; -import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; -import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; -import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.annotations.*; public class ItemAbilityConfig { @Expose @ConfigOption(name = "Ability Cooldown", desc = "Show the cooldown of item abilities.") @ConfigEditorBoolean + @FeatureToggle public boolean itemAbilityCooldown = false; @Expose diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java index 17abf034a..dd2debc75 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java @@ -1,19 +1,16 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; -import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; -import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; -import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.annotations.*; public class MinionsConfig { @Expose @ConfigOption(name = "Name Display", desc = "Show the minion name and tier over the minion.") @ConfigEditorBoolean + @FeatureToggle public boolean nameDisplay = true; @Expose @@ -29,6 +26,7 @@ public class MinionsConfig { @ConfigOption(name = "Last Minion Display", desc = "Marks the location of the last clicked minion, even through walls.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean lastClickedMinionDisplay = false; @Expose @@ -61,6 +59,7 @@ public class MinionsConfig { @ConfigOption(name = "Emptied Time Display", desc = "Show the time when the hopper in the minion was last emptied.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean emptiedTimeDisplay = false; @Expose @@ -87,5 +86,6 @@ public class MinionsConfig { @Expose @ConfigOption(name = "Hide Mob Nametag", desc = "Hiding the nametag of mobs close to minions.") @ConfigEditorBoolean + @FeatureToggle public boolean hideMobsNametagNearby = false; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java index 1f6745f6c..5b6c7f66c 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MiscConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.*; @@ -21,6 +22,7 @@ public class MiscConfig { @ConfigOption(name = "Pet Display", desc = "Show the currently active pet.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean petDisplay = false; @Expose @@ -34,6 +36,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show the full pet exp and the progress to level 100 (ignoring rarity) when hovering over an pet while pressing shift key.") @ConfigEditorBoolean + @FeatureToggle public boolean petDisplay = true; @Expose @@ -56,6 +59,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Real Time", desc = "Display the current computer time, a handy feature when playing in full-screen mode.") @ConfigEditorBoolean + @FeatureToggle public boolean realTime = false; @Expose @@ -64,6 +68,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Winter Time", desc = "While on the Winter Island, show a timer until Jerry's Workshop closes.") @ConfigEditorBoolean + @FeatureToggle public boolean winterTime = true; @Expose @@ -100,6 +105,7 @@ public class MiscConfig { @ConfigOption(name = "Hide Damage Splash", desc = "Hide all damage splashes anywhere in SkyBlock.") @ConfigEditorBoolean @ConfigAccordionId(id = 4) + @FeatureToggle public boolean hideDamageSplash = false; @Expose @@ -111,12 +117,14 @@ public class MiscConfig { @ConfigOption(name = "Non God Pot Effects", desc = "Display the active potion effects that are not part of the god pot.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean nonGodPotEffectDisplay = false; @Expose @ConfigOption(name = "Show Mixins", desc = "Include god pot mixins in the non god pot effects display.") @ConfigEditorBoolean @ConfigAccordionId(id = 5) + @FeatureToggle public boolean nonGodPotEffectShowMixins = false; @Expose @@ -131,6 +139,7 @@ public class MiscConfig { @ConfigOption(name = "Crimson Isle Reputation", desc = "Enable features around Reputation features in the Crimson Isle.") @ConfigEditorBoolean @ConfigAccordionId(id = 6) + @FeatureToggle public boolean crimsonIsleReputationHelper = true; @Expose @@ -164,6 +173,7 @@ public class MiscConfig { @ConfigOption(name = "Tia Relay Waypoint", desc = "Show the next relay waypoint for Tia the Fairy, where maintenance for the abiphone network needs to be done.") @ConfigEditorBoolean @ConfigAccordionId(id = 7) + @FeatureToggle public boolean tiaRelayNextWaypoint = true; @Expose @@ -176,12 +186,14 @@ public class MiscConfig { @ConfigOption(name = "Tia Relay Helper", desc = "Helps with solving the sound puzzle.") @ConfigEditorBoolean @ConfigAccordionId(id = 7) + @FeatureToggle public boolean tiaRelayHelper = true; @Expose @ConfigOption(name = "Tia Relay Mute", desc = "Mutes the sound when close to the relay.") @ConfigEditorBoolean @ConfigAccordionId(id = 7) + @FeatureToggle public boolean tiaRelayMute = true; @Expose @@ -193,6 +205,7 @@ public class MiscConfig { @ConfigOption(name = "Tps Display", desc = "Show the TPS of the current server, like in Soopy.") @ConfigEditorBoolean @ConfigAccordionId(id = 8) + @FeatureToggle public boolean tpsDisplayEnabled = false; @Expose @@ -207,42 +220,49 @@ public class MiscConfig { @ConfigOption(name = "Blaze Particles", desc = "Hide blaze particles.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideBlazeParticles = false; @Expose @ConfigOption(name = "Enderman Particles", desc = "Hide enderman particles.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideEndermanParticles = false; @Expose @ConfigOption(name = "Fireball Particles", desc = "Hide fireball particles.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideFireballParticles = true; @Expose @ConfigOption(name = "Fire Particles", desc = "Hide particles from the fire block.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideFireBlockParticles = true; @Expose @ConfigOption(name = "Smoke Particles", desc = "Hide smoke particles.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideSmokeParticles = false; @Expose @ConfigOption(name = "Far Particles", desc = "Hide particles that are more than 40 blocks away.") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideFarParticles = true; @Expose @ConfigOption(name = "Close Redstone Particles", desc = "Hide redstone particles around the player (appear for some potion effects).") @ConfigEditorBoolean @ConfigAccordionId(id = 9) + @FeatureToggle public boolean hideCloseRedstoneparticles = true; @Expose @@ -254,12 +274,14 @@ public class MiscConfig { @ConfigOption(name = "Enabled", desc = "Show the cooldown until the next time you can lay an egg with the Chicken Head.") @ConfigEditorBoolean @ConfigAccordionId(id = 10) + @FeatureToggle public boolean chickenHeadTimerDisplay = false; @Expose @ConfigOption(name = "Hide Chat", desc = "Hide the 'You laid an egg!' chat message.") @ConfigEditorBoolean @ConfigAccordionId(id = 10) + @FeatureToggle public boolean chickenHeadTimerHideChat = true; @Expose @@ -274,6 +296,7 @@ public class MiscConfig { @ConfigOption(name = "Enable Estimated Price", desc = "Displays an estimated item value for the item you hover over.") @ConfigEditorBoolean @ConfigAccordionId(id = 11) + @FeatureToggle public boolean estimatedIemValueEnabled = false; @Expose @@ -309,6 +332,7 @@ public class MiscConfig { @ConfigOption(name = "Show Armor Value", desc = "Show the value of the full armor in the wardrobe inventory.") @ConfigEditorBoolean @ConfigAccordionId(id = 11) + @FeatureToggle public boolean estimatedIemValueArmor = true; @Expose @@ -324,6 +348,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Enable Discord RPC", desc = "Details about your SkyBlock session displayed through Discord.") @ConfigEditorBoolean + @FeatureToggle public Property<Boolean> enabled = Property.of(false); @Expose @@ -399,6 +424,7 @@ public class MiscConfig { @ConfigOption(name = "Trapper Solver", desc = "Assists you in finding Trevor's mobs. §eNote: May not always work as expected. " + "§cWill not help you to find rabbits or sheep in the Oasis!") @ConfigEditorBoolean + @FeatureToggle public boolean trapperSolver = true; @Expose @@ -409,6 +435,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Warp to Trapper", desc = "Warp to Trevor's Den. Works only inside the Farming Islands.") @ConfigEditorBoolean + @FeatureToggle public boolean warpToTrapper = false; @Expose @@ -419,6 +446,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Trapper Cooldown", desc = "Change the color of Trevor and adds a cooldown over his head.") @ConfigEditorBoolean + @FeatureToggle public boolean trapperTalkCooldown = true; } @@ -432,11 +460,13 @@ public class MiscConfig { @Expose @ConfigOption(name = "Compact Name", desc = "Hide the 'Warp to' and 'No Destination' texts over teleport pads.") @ConfigEditorBoolean + @FeatureToggle public boolean compactName = false; @Expose @ConfigOption(name = "Inventory Numbers", desc = "Show the number of the teleport pads inside the 'Change Destination' inventory as stack size.") @ConfigEditorBoolean + @FeatureToggle public boolean inventoryNumbers = false; } @@ -450,16 +480,19 @@ public class MiscConfig { @Expose @ConfigOption(name = "Show Materials", desc = "Show materials needed for contributing to the City Project.") @ConfigEditorBoolean + @FeatureToggle public boolean showMaterials = true; @Expose @ConfigOption(name = "Show Ready", desc = "Mark contributions that are ready to participate.") @ConfigEditorBoolean + @FeatureToggle public boolean showReady = true; @Expose @ConfigOption(name = "Daily Reminder", desc = "Remind every 24 hours to participate.") @ConfigEditorBoolean + @FeatureToggle public boolean dailyReminder = true; @Expose @@ -476,31 +509,35 @@ public class MiscConfig { @Expose @ConfigOption(name = "Warps", desc = "Tab complete the warp-point names when typing §e/warp <TAB>§7.") @ConfigEditorBoolean + @FeatureToggle public boolean warps = true; @Expose @ConfigOption(name = "Island Players", desc = "Tab complete other players on the same island.") - @ConfigEditorBoolean public boolean islandPlayers = true; @Expose @ConfigOption(name = "Friends", desc = "Tab complete friends from your friends list.") @ConfigEditorBoolean + @FeatureToggle public boolean friends = true; @Expose @ConfigOption(name = "Only Best Friends", desc = "Only Tab Complete best friends.") @ConfigEditorBoolean + @FeatureToggle public boolean onlyBestFriends = false; @Expose @ConfigOption(name = "Party", desc = "Tab complete party members.") @ConfigEditorBoolean + @FeatureToggle public boolean party = true; @Expose @ConfigOption(name = "VIP Visits", desc = "Tab complete the visit to special users with cake souls on it.") @ConfigEditorBoolean + @FeatureToggle public boolean vipVisits = true; } @@ -514,11 +551,13 @@ public class MiscConfig { @Expose @ConfigOption(name = "Show in Overlay", desc = "Show the number of Pocket Sack-In-A-Sack applied on a sack icon as an overlay.") @ConfigEditorBoolean + @FeatureToggle public boolean showOverlay = false; @Expose @ConfigOption(name = "Replace In Lore", desc = "Replace how text is displayed in lore.\nShow §eis stitched with 2/3...\n§7Instead of §eis stitched with two...") @ConfigEditorBoolean + @FeatureToggle public boolean replaceLore = true; } @@ -532,6 +571,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Enabled", desc = "Adding a mod list, allowing to quickly switch between different mod menus.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -562,6 +602,7 @@ public class MiscConfig { "§eIce calculations are an estimate but are relatively accurate." ) @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -625,6 +666,7 @@ public class MiscConfig { "Also tracks drops from Endermen." ) @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -699,6 +741,7 @@ public class MiscConfig { @Expose @ConfigOption(name = "Enable", desc = "Show bestiary data overlay in the bestiary menu.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -744,11 +787,13 @@ public class MiscConfig { @Expose @ConfigOption(name = "Highlight Commission Mobs", desc = "Highlight Mobs that are part of active commissions.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightCommissionMobs = false; @Expose @ConfigOption(name = "King Talisman Helper", desc = "Show kings you have not talked to yet, and when the next missing king will appear.") @ConfigEditorBoolean + @FeatureToggle public boolean kingTalismanHelper = false; @Expose @@ -757,12 +802,14 @@ public class MiscConfig { @Expose @ConfigOption(name = "Names in Core", desc = "Show the names of the 4 areas while in the center of crystal hollows.") @ConfigEditorBoolean + @FeatureToggle public boolean crystalHollowsNamesInCore = false; } @Expose @ConfigOption(name = "Exp Bottles", desc = "Hides all the experience orbs lying on the ground.") @ConfigEditorBoolean + @FeatureToggle public boolean hideExpBottles = false; @Expose @@ -771,41 +818,49 @@ public class MiscConfig { @Expose @ConfigOption(name = "Brewing Stand Overlay", desc = "Display the Item names directly inside the Brewing Stand.") @ConfigEditorBoolean + @FeatureToggle public boolean brewingStandOverlay = true; @Expose @ConfigOption(name = "Red Scoreboard Numbers", desc = "Hide the red scoreboard numbers at the right side of the screen.") @ConfigEditorBoolean + @FeatureToggle public boolean hideScoreboardNumbers = false; @Expose @ConfigOption(name = "Hide Piggy", desc = "Replacing 'Piggy' with 'Purse' in the Scoreboard.") @ConfigEditorBoolean + @FeatureToggle public boolean hidePiggyScoreboard = true; @Expose @ConfigOption(name = "Explosions Hider", desc = "Hide explosions.") @ConfigEditorBoolean + @FeatureToggle public boolean hideExplosions = false; @Expose @ConfigOption(name = "CH Join", desc = "Helps buy a Pass for accessing the Crystal Hollows if needed.") @ConfigEditorBoolean + @FeatureToggle public boolean crystalHollowsJoin = true; @Expose @ConfigOption(name = "Fire Overlay Hider", desc = "Hide the fire overlay (Like in Skytils).") @ConfigEditorBoolean + @FeatureToggle public boolean hideFireOverlay = false; @Expose @ConfigOption(name = "Paste Into Signs", desc = "Allows you to paste the clipboard into signs when you press Ctrl + V.") @ConfigEditorBoolean + @FeatureToggle public boolean pasteIntoSigns = true; @Expose @ConfigOption(name = "Movement Speed", desc = "Show the player movement speed in blocks per second.") @ConfigEditorBoolean + @FeatureToggle public boolean playerMovementSpeed = false; @Expose @@ -814,41 +869,49 @@ public class MiscConfig { @Expose @ConfigOption(name = "Pet Candy Used", desc = "Show the number of pet candies used on a pet.") @ConfigEditorBoolean + @FeatureToggle public boolean petCandyUsed = true; @Expose @ConfigOption(name = "Server Restart Title", desc = "Show a title with seconds remaining until the server restarts after a Game Update or Scheduled Restart.") @ConfigEditorBoolean + @FeatureToggle public boolean serverRestartTitle = true; @Expose @ConfigOption(name = "Piece Of Wizard Portal", desc = "Restore the Earned By lore line on bought Piece Of Wizard Portal.") @ConfigEditorBoolean + @FeatureToggle public boolean restorePieceOfWizardPortalLore = true; @Expose @ConfigOption(name = "Patcher Coords Waypoint", desc = "Highlight the coordinates sent by Patcher.") @ConfigEditorBoolean + @FeatureToggle public boolean patcherSendCoordWaypoint = false; @Expose @ConfigOption(name = "Harp Keybinds", desc = "In Melody's Harp, press buttons with your number row on the keyboard instead of clicking.") @ConfigEditorBoolean + @FeatureToggle public boolean harpKeybinds = false; @Expose @ConfigOption(name = "Harp Numbers", desc = "In Melody's Harp, show buttons as stack size (intended to be used with Harp Keybinds).") @ConfigEditorBoolean + @FeatureToggle public boolean harpNumbers = false; @Expose @ConfigOption(name = "Account Upgrade Reminder", desc = "Remind you to claim account upgrades when complete.") @ConfigEditorBoolean + @FeatureToggle public boolean accountUpgradeReminder = true; @Expose @ConfigOption(name = "Config Button", desc = "Add a button to the pause menu to configure SkyHanni.") @ConfigEditorBoolean + @FeatureToggle public boolean configButtonOnPause = true; @Expose diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java index 68d79b7a4..d81c176a9 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; import io.github.moulberry.moulconfig.annotations.ConfigEditorAccordion; @@ -17,24 +18,28 @@ public class MobsConfig { @ConfigOption(name = "Area Boss", desc = "Highlight Golden Ghoul, Old Wolf, Voidling Extremist and Millenia-Aged Blaze.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean areaBossHighlight = true; @Expose @ConfigOption(name = "Arachne Keeper", desc = "Highlight the Arachne Keeper in the Spider's Den in purple color.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean arachneKeeperHighlight = true; @Expose @ConfigOption(name = "Corleone", desc = "Highlight Boss Corleone in the Crystal Hollows.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean corleoneHighlighter = true; @Expose @ConfigOption(name = "Zealot", desc = "Highlight Zealots and Bruisers in The End.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean zealotBruiserHighlighter = false; @Expose @@ -44,18 +49,21 @@ public class MobsConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean specialZealotHighlighter = true; @Expose @ConfigOption(name = "Corrupted Mob", desc = "Highlight corrupted mobs in purple color.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean corruptedMobHighlight = false; @Expose @ConfigOption(name = "Arachne Boss", desc = "Highlight the arachne boss in red and mini bosses in orange.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean arachneBossHighlighter = true; @Expose @@ -71,15 +79,18 @@ public class MobsConfig { ) @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean areaBossRespawnTimer = false; @Expose @ConfigOption(name = "Enderman TP Hider", desc = "Stops the Enderman Teleportation animation.") @ConfigEditorBoolean + @FeatureToggle public boolean endermanTeleportationHider = true; @Expose @ConfigOption(name = "Arachne Minis Hider", desc = "Hides the nametag above arachne minis.") @ConfigEditorBoolean + @FeatureToggle public boolean hideNameTagArachneMinis = true; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java index 11cefd38e..03fd18cb7 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/RiftConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.*; @@ -17,6 +18,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show the remaining rift time, max time, percentage, and extra time changes.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -43,6 +45,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Crux Talisman Display", desc = "Display progress of the Crux Talisman on screen.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -69,6 +72,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Click on Enigma Souls in Rift Guides to highlight their location.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -96,6 +100,7 @@ public class RiftConfig { @ConfigOption(name = "Shy Crux Warning", desc = "Shows a warning when a Shy Crux is going to steal your time. " + "Useful if you play without volume.") @ConfigEditorBoolean + @FeatureToggle public boolean shyWarning = true; @ConfigOption(name = "Larvas", desc = "") @@ -108,6 +113,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Highlight", desc = "Highlight §cLarvas on trees §7while holding a §eLarva Hook §7in the hand.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = true; @Expose @@ -128,6 +134,7 @@ public class RiftConfig { @ConfigOption(name = "Highlight", desc = "Highlight the small §cOdonatas §7flying around the trees while holding a " + "§eEmpty Odonata Bottle §7in the hand.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = true; @Expose @@ -155,16 +162,19 @@ public class RiftConfig { @Expose @ConfigOption(name = "Hacking Solver", desc = "Highlights the correct button to click in the hacking inventory.") @ConfigEditorBoolean + @FeatureToggle public boolean solver = true; @Expose @ConfigOption(name = "Color Guide", desc = "Tells you which colour to pick.") @ConfigEditorBoolean + @FeatureToggle public boolean colour = true; @Expose @ConfigOption(name = "Terminal Waypoints", desc = "While wearing the helmet, waypoints will appear at each terminal location.") @ConfigEditorBoolean + @FeatureToggle public boolean waypoints = true; } } @@ -179,6 +189,7 @@ public class RiftConfig { @ConfigOption(name = "Agaricus Cap", desc = "Counts down the time until §eAgaricus Cap (Mushroom) " + "§7changes color from brown to red and is breakable.") @ConfigEditorBoolean + @FeatureToggle public boolean agaricusCap = true; @ConfigOption(name = "Volt Crux", desc = "") @@ -191,11 +202,13 @@ public class RiftConfig { @Expose @ConfigOption(name = "Volt Warning", desc = "Shows a warning while a volt is discharging lightning.") @ConfigEditorBoolean + @FeatureToggle public boolean voltWarning = true; @Expose @ConfigOption(name = "Volt Range Highlighter", desc = "Shows the area in which a Volt might strike lightning.") @ConfigEditorBoolean + @FeatureToggle public boolean voltRange = true; @Expose @@ -206,6 +219,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Volt mood color", desc = "Change the color of the volt enemy depending on their mood.") @ConfigEditorBoolean + @FeatureToggle public boolean voltMoodMeter = false; } @@ -219,6 +233,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show Wilted Berberis helper.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -251,6 +266,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Helps solving the lava maze in the mirror verse by showing the correct way.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -271,6 +287,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Hide others players", desc = "Hide other players while doing the lava maze.") @ConfigEditorBoolean + @FeatureToggle public boolean hidePlayers = false; } @@ -285,6 +302,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Helps solving the upside down parkour in the mirror verse by showing the correct way.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -310,6 +328,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Hide others players", desc = "Hide other players while doing the upside down parkour.") @ConfigEditorBoolean + @FeatureToggle public boolean hidePlayers = false; } @@ -324,6 +343,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Helps to solve the dance room in the mirror verse by showing multiple tasks at once.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -344,6 +364,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Hide Title", desc = "Hide Instructions, \"§aIt's happening!\" §7and \"§aKeep it up!\" §7titles.") @ConfigEditorBoolean + @FeatureToggle public boolean hideOriginalTitle = false; @Expose @@ -426,6 +447,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Highlights the location of the invisible Tubulator blocks (Laser Parkour).") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -451,6 +473,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Hide others players", desc = "Hide other players while doing the lava maze.") @ConfigEditorBoolean + @FeatureToggle public boolean hidePlayers = false; } } @@ -481,6 +504,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Display progress Living Metal Suit") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -502,11 +526,13 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show a line between Defense blocks and the mob and highlight the blocks.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @ConfigOption(name = "Hide Particles", desc = "Hide particles around Defense Blocks") @ConfigEditorBoolean + @FeatureToggle public boolean hideParticles = false; @Expose @@ -526,11 +552,13 @@ public class RiftConfig { @Expose @ConfigOption(name = "Living Metal", desc = "Show a moving animation between Living Metal and the next block.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @ConfigOption(name = "Hide Particles", desc = "Hide Living Metal particles.") @ConfigEditorBoolean + @FeatureToggle public boolean hideParticles = false; } @@ -546,6 +574,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Highlight Blobbercysts", desc = "Highlight Blobbercysts in Bacte fight.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightBlobbercysts = true; } @@ -566,11 +595,13 @@ public class RiftConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show locations of inactive Blood Effigy.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @ConfigOption(name = "Respawning Soon", desc = "Show effigies that are about to respawn.") @ConfigEditorBoolean + @FeatureToggle public boolean respawningSoon = false; @Expose @@ -585,6 +616,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Unknown Times", desc = "Show effigies without known time.") @ConfigEditorBoolean + @FeatureToggle public boolean unknownTime = false; } } @@ -610,6 +642,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Show Motes Price", desc = "Show the Motes NPC price in the item lore.") @ConfigEditorBoolean + @FeatureToggle public boolean showPrice = true; @Expose @@ -626,6 +659,7 @@ public class RiftConfig { @Expose @ConfigOption(name = "Inventory value", desc = "Show total Motes NPC price for the current opened inventory.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -649,11 +683,13 @@ public class RiftConfig { @Expose @ConfigOption(name = "Highlight Motes Orbs", desc = "Highlight flying Motes Orbs.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @ConfigOption(name = "Hide Particles", desc = "Hide normal motes orbs particles.") @ConfigEditorBoolean + @FeatureToggle public boolean hideParticles = false; } @@ -661,10 +697,12 @@ public class RiftConfig { @Expose @ConfigOption(name = "Highlight Guide", desc = "Highlight things to do in the Rift Guide.") @ConfigEditorBoolean + @FeatureToggle public boolean highlightGuide = true; @Expose @ConfigOption(name = "Horsezooka Hider", desc = "Hide horses while holding the Horsezooka in the hand.") @ConfigEditorBoolean + @FeatureToggle public boolean horsezookaHider = false; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/SlayerConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/SlayerConfig.java index 9678a8c32..75cda0bd1 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/SlayerConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/SlayerConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.*; @@ -24,16 +25,19 @@ public class SlayerConfig { desc = "Highlight the Enderman Slayer Yang Glyph (beacon) in red color and added an timer when he explodes. " + "Supports beacon in hand and beacon flying.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @ConfigOption(name = "Show Warning", desc = "Displays a warning mid-screen then the Enderman Slayer throws a Yang Glyph (beacon).") @ConfigEditorBoolean + @FeatureToggle public boolean showWarning = false; @Expose @ConfigOption(name = "Show Line", desc = "Draw a line starting at your crosshair to the beacon.") @ConfigEditorBoolean + @FeatureToggle public boolean showLine = false; @Expose @@ -50,6 +54,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight Nukekubi Skulls", desc = "Highlights the Enderman Slayer Nukekubi Skulls (Eyes).") @ConfigEditorBoolean + @FeatureToggle @ConfigAccordionId(id = 0) public boolean endermanHighlightNukekebi = false; @@ -63,6 +68,7 @@ public class SlayerConfig { @ConfigOption(name = "Hide Particles", desc = "Hide particles around Enderman Slayer bosses and mini bosses.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean endermanHideParticles = false; @Expose @@ -80,18 +86,21 @@ public class SlayerConfig { @ConfigOption(name = "Colored Mobs", desc = "Color the blaze slayer boss and the demons in the right hellion shield color.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean blazeColoredMobs = false; @Expose @ConfigOption(name = "Blaze Daggers", desc = "Faster and permanent display for the Blaze Slayer daggers.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean blazeDaggers = false; @Expose @ConfigOption(name = "Right Dagger", desc = "Mark the right dagger to use for blaze slayer in the dagger overlay.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean blazeMarkRightHellionShield = false; @Expose @@ -104,12 +113,14 @@ public class SlayerConfig { @ConfigOption(name = "Hide Chat", desc = "Remove the wrong blaze slayer dagger messages from chat.") @ConfigEditorBoolean @ConfigAccordionId(id = 2) + @FeatureToggle public boolean blazeHideDaggerWarning = false; @Expose @ConfigOption(name = "Fire Pits", desc = "Warning when the fire pit phase starts for the Blaze Slayer tier 3 and 4.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean firePitsWarning = false; @Expose @@ -122,6 +133,7 @@ public class SlayerConfig { @ConfigOption(name = "Clear View", desc = "Hide particles and fireballs near blaze slayer bosses and demons.") @ConfigEditorBoolean @ConfigAccordionId(id = 1) + @FeatureToggle public boolean blazeClearView = false; @Expose @@ -141,6 +153,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight your boss", desc = "Highlight your own vampire slayer boss.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = true; @Expose @@ -151,16 +164,19 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Steak Alert", desc = "Show a title when you can steak your boss.") @ConfigEditorBoolean + @FeatureToggle public boolean steakAlert = true; @Expose @ConfigOption(name = "Twinclaws Title", desc = "Send a title when Twinclaws is about to happen.\nWork on others highlighted people boss.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsTitle = true; @Expose @ConfigOption(name = "Twinclaws Sound", desc = "Play a sound when Twinclaws is about to happen.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsSound = true; } @@ -174,6 +190,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight Others people boss", desc = "Highlight others players boss.\nYou need to hit them first.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = true; @Expose @@ -184,16 +201,19 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Steak Alert", desc = "Show a title when you can steak the boss.") @ConfigEditorBoolean + @FeatureToggle public boolean steakAlert = true; @Expose @ConfigOption(name = "Twinclaws Title", desc = "Send a title when Twinclaws is about to happen.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsTitle = true; @Expose @ConfigOption(name = "Twinclaws Sound", desc = "Play a sound when Twinclaws is about to happen.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsSound = true; } @@ -206,6 +226,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight Co-op Boss", desc = "Highlight boss of your co-op member.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = true; @Expose @@ -221,16 +242,19 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Steak Alert", desc = "Show a title when you can steak the boss.") @ConfigEditorBoolean + @FeatureToggle public boolean steakAlert = true; @Expose @ConfigOption(name = "Twinclaws Title", desc = "Send a title when Twinclaws is about to happen.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsTitle = true; @Expose @ConfigOption(name = "Twinclaws Sound", desc = "Play a sound when Twinclaws is about to happen.") @ConfigEditorBoolean + @FeatureToggle public boolean twinClawsSound = true; } @@ -247,6 +271,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Low Health", desc = "Change color when the boss is below 20% health.") @ConfigEditorBoolean + @FeatureToggle public boolean changeColorWhenCanSteak = true; @Expose @@ -262,6 +287,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Draw line", desc = "Draw a line starting at your crosshair to the boss head.") @ConfigEditorBoolean + @FeatureToggle public boolean drawLine = false; @Expose @@ -284,11 +310,13 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight blood Ichor", desc = "Highlight the blood Ichor.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = false; @Expose @ConfigOption(name = "Beacon Beam", desc = "Render a beacon beam where the Blood Ichor is.") @ConfigEditorBoolean + @FeatureToggle public boolean renderBeam = true; @Expose @@ -299,6 +327,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Show lines", desc = "Draw lines that start from the head of the boss and end on the Blood Ichor.") @ConfigEditorBoolean + @FeatureToggle public boolean showLines = false; @Expose @@ -317,6 +346,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Highlight Killer Spring", desc = "Highlight the Killer Spring tower.") @ConfigEditorBoolean + @FeatureToggle public boolean highlight = false; @Expose @@ -327,6 +357,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Show lines", desc = "Draw lines that start from the head of the boss and end on the Killer Spring tower.") @ConfigEditorBoolean + @FeatureToggle public boolean showLines = false; @Expose @@ -347,6 +378,7 @@ public class SlayerConfig { @ConfigOption(name = "Enabled", desc = "Count all items you pick up while doing slayer, " + "keep track of how much you pay for starting slayers and calculating the overall profit.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -356,6 +388,7 @@ public class SlayerConfig { @ConfigOption(name = "Price in Chat", desc = "Show an extra chat message when you pick up an item. " + "(This contains name, amount and price)") @ConfigEditorBoolean + @FeatureToggle public boolean priceInChat = false; @Expose @@ -371,6 +404,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Title Warning", desc = "Show an title for expensive item pickups.") @ConfigEditorBoolean + @FeatureToggle public boolean titleWarning = false; @Expose @@ -389,6 +423,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Enabled", desc = "Show the name and price of items laying on the ground. §cOnly in slayer areas!") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose @@ -407,10 +442,11 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Enabled", desc = "Display amount of bosses needed until next rng meter drop.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = true; @Expose - @ConfigOption(name = "Warn Empty", desc = "Warn when no item is set in the rng meter.") + @ConfigOption(name = "Warn Empty", desc = "Warn when no item is set in the RNG Meter.") @ConfigEditorBoolean public boolean warnEmpty = false; @@ -434,6 +470,7 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Enabled", desc = "Send a title when your boss is about to spawn.") @ConfigEditorBoolean + @FeatureToggle public boolean enabled = false; @Expose @@ -450,20 +487,24 @@ public class SlayerConfig { @Expose @ConfigOption(name = "Miniboss Highlight", desc = "Highlight slayer miniboss in blue color.") @ConfigEditorBoolean + @FeatureToggle public boolean slayerMinibossHighlight = false; @Expose @ConfigOption(name = "Hide Mob Names", desc = "Hide the name of the mobs you need to kill in order for the Slayer boss to spawn. Exclude mobs that are damaged, corrupted, runic or semi rare.") @ConfigEditorBoolean + @FeatureToggle public boolean hideMobNames = false; @Expose @ConfigOption(name = "Quest Warning", desc = "Warning when wrong slayer quest is selected, or killing mobs for the wrong slayer.") @ConfigEditorBoolean + @FeatureToggle public boolean questWarning = true; @Expose @ConfigOption(name = "Quest Warning Title", desc = "Sends a Title when warning.") @ConfigEditorBoolean + @FeatureToggle public boolean questWarningTitle = true; } diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java index 20e8aaa45..9881c2afa 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java +++ b/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java @@ -1,5 +1,6 @@ package at.hannibal2.skyhanni.config.features; +import at.hannibal2.skyhanni.config.FeatureToggle; import at.hannibal2.skyhanni.config.core.config.Position; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.annotations.ConfigAccordionId; @@ -13,6 +14,7 @@ public class SummoningsConfig { @ConfigOption(name = "Summoning Soul Display", desc = "Show the name of dropped summoning souls laying on the ground. " + "§cNot working in dungeons if Skytils' 'Hide Non-Starred Mobs Nametags' feature is enabled!") @ConfigEditorBoolean + @FeatureToggle public boolean summoningSoulDisplay = false; @Expose @@ -24,6 +26,7 @@ public class SummoningsConfig { @ConfigOption(name = "Summoning Mob Display", desc = "Show the health of your spawned summons.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean summoningMobDisplay = false; @Expose @@ -33,11 +36,13 @@ public class SummoningsConfig { @ConfigOption(name = "Summoning Mob Nametag", desc = "Hide the nametag of your spawned summons.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean summoningMobHideNametag = false; @Expose @ConfigOption(name = "Summoning Mob Color", desc = "Marks own summons green.") @ConfigEditorBoolean @ConfigAccordionId(id = 0) + @FeatureToggle public boolean summoningMobColored = false; } |