From 65e79034527bd2f967a8c580681534435280d5f1 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Mon, 7 Aug 2023 11:49:37 +0200 Subject: renamed config classes --- .../at/hannibal2/skyhanni/config/Features.java | 56 +- .../skyhanni/config/features/Ashfang.java | 66 - .../skyhanni/config/features/AshfangConfig.java | 66 + .../hannibal2/skyhanni/config/features/Bazaar.java | 32 - .../skyhanni/config/features/BazaarConfig.java | 32 + .../hannibal2/skyhanni/config/features/Bingo.java | 82 -- .../skyhanni/config/features/BingoConfig.java | 82 ++ .../skyhanni/config/features/CommandsConfig.java | 24 + .../skyhanni/config/features/CommandsFeatures.java | 24 - .../skyhanni/config/features/Dungeon.java | 157 --- .../skyhanni/config/features/DungeonConfig.java | 157 +++ .../skyhanni/config/features/Fishing.java | 191 --- .../skyhanni/config/features/FishingConfig.java | 191 +++ .../at/hannibal2/skyhanni/config/features/GUI.java | 20 - .../skyhanni/config/features/GUIConfig.java | 20 + .../hannibal2/skyhanni/config/features/Garden.java | 1349 ------------------- .../skyhanni/config/features/GardenConfig.java | 1359 ++++++++++++++++++++ .../skyhanni/config/features/Inventory.java | 255 ---- .../skyhanni/config/features/InventoryConfig.java | 262 ++++ .../skyhanni/config/features/ItemAbilities.java | 37 - .../config/features/ItemAbilityConfig.java | 42 + .../config/features/MarkedPlayerConfig.java | 24 + .../skyhanni/config/features/MarkedPlayers.java | 24 - .../skyhanni/config/features/Minions.java | 86 -- .../skyhanni/config/features/MinionsConfig.java | 91 ++ .../hannibal2/skyhanni/config/features/Mobs.java | 85 -- .../skyhanni/config/features/MobsConfig.java | 85 ++ .../skyhanni/config/features/Summonings.java | 43 - .../skyhanni/config/features/SummoningsConfig.java | 43 + 29 files changed, 2506 insertions(+), 2479 deletions(-) delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Bazaar.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/BazaarConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Bingo.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/BingoConfig.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/CommandsConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/CommandsFeatures.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Dungeon.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/DungeonConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Fishing.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/GUI.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Garden.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilities.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayerConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayers.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Minions.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Mobs.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java delete mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/Summonings.java create mode 100644 src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java (limited to 'src/main/java/at/hannibal2/skyhanni/config') diff --git a/src/main/java/at/hannibal2/skyhanni/config/Features.java b/src/main/java/at/hannibal2/skyhanni/config/Features.java index 2f2de9fc5..d43b3fe39 100644 --- a/src/main/java/at/hannibal2/skyhanni/config/Features.java +++ b/src/main/java/at/hannibal2/skyhanni/config/Features.java @@ -2,29 +2,29 @@ package at.hannibal2.skyhanni.config; import at.hannibal2.skyhanni.SkyHanniMod; import at.hannibal2.skyhanni.config.features.About; -import at.hannibal2.skyhanni.config.features.Ashfang; -import at.hannibal2.skyhanni.config.features.Bazaar; -import at.hannibal2.skyhanni.config.features.Bingo; +import at.hannibal2.skyhanni.config.features.AshfangConfig; +import at.hannibal2.skyhanni.config.features.BazaarConfig; +import at.hannibal2.skyhanni.config.features.BingoConfig; import at.hannibal2.skyhanni.config.features.ChatConfig; -import at.hannibal2.skyhanni.config.features.CommandsFeatures; +import at.hannibal2.skyhanni.config.features.CommandsConfig; import at.hannibal2.skyhanni.config.features.DamageIndicatorConfig; import at.hannibal2.skyhanni.config.features.DevConfig; import at.hannibal2.skyhanni.config.features.DianaConfig; -import at.hannibal2.skyhanni.config.features.Dungeon; -import at.hannibal2.skyhanni.config.features.Fishing; -import at.hannibal2.skyhanni.config.features.GUI; -import at.hannibal2.skyhanni.config.features.Garden; +import at.hannibal2.skyhanni.config.features.DungeonConfig; +import at.hannibal2.skyhanni.config.features.FishingConfig; +import at.hannibal2.skyhanni.config.features.GUIConfig; +import at.hannibal2.skyhanni.config.features.GardenConfig; import at.hannibal2.skyhanni.config.features.GhostCounterConfig; -import at.hannibal2.skyhanni.config.features.Inventory; -import at.hannibal2.skyhanni.config.features.ItemAbilities; -import at.hannibal2.skyhanni.config.features.MarkedPlayers; -import at.hannibal2.skyhanni.config.features.Minions; +import at.hannibal2.skyhanni.config.features.InventoryConfig; +import at.hannibal2.skyhanni.config.features.ItemAbilityConfig; +import at.hannibal2.skyhanni.config.features.MarkedPlayerConfig; +import at.hannibal2.skyhanni.config.features.MinionsConfig; import at.hannibal2.skyhanni.config.features.MiscConfig; -import at.hannibal2.skyhanni.config.features.Mobs; +import at.hannibal2.skyhanni.config.features.MobsConfig; import at.hannibal2.skyhanni.config.features.OldHidden; import at.hannibal2.skyhanni.config.features.RiftConfig; import at.hannibal2.skyhanni.config.features.SlayerConfig; -import at.hannibal2.skyhanni.config.features.Summonings; +import at.hannibal2.skyhanni.config.features.SummoningsConfig; import com.google.gson.annotations.Expose; import io.github.moulberry.moulconfig.Config; import io.github.moulberry.moulconfig.Social; @@ -68,7 +68,7 @@ public class Features extends Config { @Expose @Category(name = "GUI Locations", desc = "Change the locations of GUI elements. (§e/sh gui§7)") - public GUI gui = new GUI(); + public GUIConfig gui = new GUIConfig(); @Expose @Category(name = "Chat", desc = "Change how the chat looks.") @@ -76,35 +76,35 @@ public class Features extends Config { @Expose @Category(name = "Dungeon", desc = "Features that change the dungeon experience in catacombs.") - public Dungeon dungeon = new Dungeon(); + public DungeonConfig dungeon = new DungeonConfig(); @Expose @Category(name = "Inventory", desc = "Changing the behavior around items and the inventory.") - public Inventory inventory = new Inventory(); + public InventoryConfig inventory = new InventoryConfig(); @Expose @Category(name = "Item Abilities", desc = "Stuff about item abilities.") - public ItemAbilities itemAbilities = new ItemAbilities(); + public ItemAbilityConfig itemAbilities = new ItemAbilityConfig(); @Expose @Category(name = "Summonings", desc = "Mobs you revive.") - public Summonings summonings = new Summonings(); + public SummoningsConfig summonings = new SummoningsConfig(); @Expose @Category(name = "Ashfang", desc = "Ashfang fight in Crimson Isle.") - public Ashfang ashfang = new Ashfang(); + public AshfangConfig ashfang = new AshfangConfig(); @Expose @Category(name = "Minion", desc = "The minions at your private island.") - public Minions minions = new Minions(); + public MinionsConfig minions = new MinionsConfig(); @Expose @Category(name = "Bazaar", desc = "Bazaar settings.") - public Bazaar bazaar = new Bazaar(); + public BazaarConfig bazaar = new BazaarConfig(); @Expose @Category(name = "Fishing", desc = "Fishing stuff.") - public Fishing fishing = new Fishing(); + public FishingConfig fishing = new FishingConfig(); @Expose @Category(name = "Damage Indicator", desc = "Better damage overview in combat with bosses of all sorts.") @@ -120,23 +120,23 @@ public class Features extends Config { @Expose @Category(name = "Commands", desc = "Enable or disable commands.") - public CommandsFeatures commands = new CommandsFeatures(); + public CommandsConfig commands = new CommandsConfig(); @Expose @Category(name = "Marked Players", desc = "Players that got marked with /shmarkplayer.") - public MarkedPlayers markedPlayers = new MarkedPlayers(); + public MarkedPlayerConfig markedPlayers = new MarkedPlayerConfig(); @Expose @Category(name = "Bingo", desc = "Features for the Bingo mode.") - public Bingo bingo = new Bingo(); + public BingoConfig bingo = new BingoConfig(); @Expose @Category(name = "Mobs", desc = "Visual help for Mobs") - public Mobs mobs = new Mobs(); + public MobsConfig mobs = new MobsConfig(); @Expose @Category(name = "Garden", desc = "Features on the Garden island.") - public Garden garden = new Garden(); + public GardenConfig garden = new GardenConfig(); @Expose @Category(name = "The Rift", desc = "Features for The Rift dimension.") diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java b/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java deleted file mode 100644 index 5b7536965..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Ashfang.java +++ /dev/null @@ -1,66 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; -import io.github.moulberry.moulconfig.annotations.ConfigOption; - -public class Ashfang { - - @Expose - @ConfigOption(name = "Freeze", desc = "Show the cooldown for how long Ashfang blocks your abilities.") - @ConfigEditorBoolean - public boolean freezeCooldown = false; - - @Expose - public Position freezeCooldownPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption(name = "Reset Time", desc = "Show the cooldown until Ashfang pulls his underlings back.") - @ConfigEditorBoolean - public boolean nextResetCooldown = false; - - @Expose - public Position nextResetCooldownPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption(name = "Gravity Orbs", desc = "Shows the Gravity Orbs more clearly.") - @ConfigEditorBoolean - public boolean gravityOrbs = false; - - @Expose - @ConfigOption(name = "Orbs Color", desc = "Color of the Ashfang Gravity Orbs.") - @ConfigEditorColour - public String gravityOrbsColor = "0:120:255:85:85"; - - @Expose - @ConfigOption(name = "Blazing Souls", desc = "Shows the Blazing Souls more clearly.") - @ConfigEditorBoolean - public boolean blazingSouls = false; - - @Expose - @ConfigOption(name = "Souls Color", desc = "Color of the Ashfang Blazing Souls.") - @ConfigEditorColour - public String blazingSoulsColor = "0:245:85:255:85"; - - @Expose - @ConfigOption(name = "Highlight Blazes", desc = "Highlight the different blazes in their respective colors.") - @ConfigEditorBoolean - public boolean highlightBlazes = false; - - @Expose - @ConfigOption(name = "Hide Particles", desc = "Hide particles around the Ashfang boss.") - @ConfigEditorBoolean - public boolean hideParticles = false; - - @Expose - @ConfigOption(name = "Hide Names", desc = "Hide the names of full health blazes around Ashfang (only useful when highlight blazes is enabled)") - @ConfigEditorBoolean - public boolean hideNames = false; - - @Expose - @ConfigOption(name = "Hide Damage", desc = "Hide damage splashes around Ashfang.") - @ConfigEditorBoolean - public boolean hideDamageSplash = false; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java new file mode 100644 index 000000000..3515b9280 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/AshfangConfig.java @@ -0,0 +1,66 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.core.config.Position; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigEditorColour; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class AshfangConfig { + + @Expose + @ConfigOption(name = "Freeze", desc = "Show the cooldown for how long Ashfang blocks your abilities.") + @ConfigEditorBoolean + public boolean freezeCooldown = false; + + @Expose + public Position freezeCooldownPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption(name = "Reset Time", desc = "Show the cooldown until Ashfang pulls his underlings back.") + @ConfigEditorBoolean + public boolean nextResetCooldown = false; + + @Expose + public Position nextResetCooldownPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption(name = "Gravity Orbs", desc = "Shows the Gravity Orbs more clearly.") + @ConfigEditorBoolean + public boolean gravityOrbs = false; + + @Expose + @ConfigOption(name = "Orbs Color", desc = "Color of the Ashfang Gravity Orbs.") + @ConfigEditorColour + public String gravityOrbsColor = "0:120:255:85:85"; + + @Expose + @ConfigOption(name = "Blazing Souls", desc = "Shows the Blazing Souls more clearly.") + @ConfigEditorBoolean + public boolean blazingSouls = false; + + @Expose + @ConfigOption(name = "Souls Color", desc = "Color of the Ashfang Blazing Souls.") + @ConfigEditorColour + public String blazingSoulsColor = "0:245:85:255:85"; + + @Expose + @ConfigOption(name = "Highlight Blazes", desc = "Highlight the different blazes in their respective colors.") + @ConfigEditorBoolean + public boolean highlightBlazes = false; + + @Expose + @ConfigOption(name = "Hide Particles", desc = "Hide particles around the Ashfang boss.") + @ConfigEditorBoolean + public boolean hideParticles = false; + + @Expose + @ConfigOption(name = "Hide Names", desc = "Hide the names of full health blazes around Ashfang (only useful when highlight blazes is enabled)") + @ConfigEditorBoolean + public boolean hideNames = false; + + @Expose + @ConfigOption(name = "Hide Damage", desc = "Hide damage splashes around Ashfang.") + @ConfigEditorBoolean + public boolean hideDamageSplash = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Bazaar.java b/src/main/java/at/hannibal2/skyhanni/config/features/Bazaar.java deleted file mode 100644 index f357e76fd..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Bazaar.java +++ /dev/null @@ -1,32 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigOption; - -public class Bazaar { - - @Expose - @ConfigOption(name = "Purchase Helper", desc = "Highlights the item you are trying to buy in the Bazaar.") - @ConfigEditorBoolean - public boolean purchaseHelper = true; - - @Expose - @ConfigOption(name = "Order Helper", desc = "Show visual hints inside the Bazaar Manage Order view when items are ready to pickup or outbid.") - @ConfigEditorBoolean - public boolean orderHelper = false; - - @Expose - @ConfigOption(name = "Best Sell Method", desc = "Show the price difference between sell instantly and sell offer.") - @ConfigEditorBoolean - public boolean bestSellMethod = false; - - @Expose - public Position bestSellMethodPos = new Position(394, 142, false, true); - - @Expose - @ConfigOption(name = "Cancelled Buy Order Clipboard", desc = "Saves missing items from cancelled buy orders to clipboard for faster re-entry.") - @ConfigEditorBoolean - public boolean cancelledBuyOrderClipboard = false; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/BazaarConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/BazaarConfig.java new file mode 100644 index 000000000..8f12ba667 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/BazaarConfig.java @@ -0,0 +1,32 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.core.config.Position; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class BazaarConfig { + + @Expose + @ConfigOption(name = "Purchase Helper", desc = "Highlights the item you are trying to buy in the Bazaar.") + @ConfigEditorBoolean + public boolean purchaseHelper = true; + + @Expose + @ConfigOption(name = "Order Helper", desc = "Show visual hints inside the Bazaar Manage Order view when items are ready to pickup or outbid.") + @ConfigEditorBoolean + public boolean orderHelper = false; + + @Expose + @ConfigOption(name = "Best Sell Method", desc = "Show the price difference between sell instantly and sell offer.") + @ConfigEditorBoolean + public boolean bestSellMethod = false; + + @Expose + public Position bestSellMethodPos = new Position(394, 142, false, true); + + @Expose + @ConfigOption(name = "Cancelled Buy Order Clipboard", desc = "Saves missing items from cancelled buy orders to clipboard for faster re-entry.") + @ConfigEditorBoolean + public boolean cancelledBuyOrderClipboard = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Bingo.java b/src/main/java/at/hannibal2/skyhanni/config/features/Bingo.java deleted file mode 100644 index 6a6979b11..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Bingo.java +++ /dev/null @@ -1,82 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.Accordion; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigOption; -import io.github.moulberry.moulconfig.observer.Property; - -public class Bingo { - - @Expose - @ConfigOption(name = "Bingo Card", desc = "") - @Accordion - public BingoCard bingoCard = new BingoCard(); - - public static class BingoCard { - @Expose - @ConfigOption(name = "Enable", desc = "Displays the bingo card.") - @ConfigEditorBoolean - public boolean enabled = true; - @Expose - @ConfigOption(name = "Quick Toggle", desc = "Quickly toggle the bingo card or the step helper by sneaking with SkyBlock menu in hand.") - @ConfigEditorBoolean - public boolean quickToggle = true; - - @Expose - @ConfigOption(name = "Bingo Steps", desc = "Show help with the next step in bingo instead of the bingo card. " + - "§cThis feature is in early development. Expect bugs and missing goals.") - @ConfigEditorBoolean - public boolean stepHelper = false; - - @Expose - @ConfigOption(name = "Hide Community Goals", desc = "Hide Community Goals from the Bingo Card display.") - @ConfigEditorBoolean - public Property hideCommunityGoals = Property.of(false); - - @Expose - @ConfigOption( - name = "Show Guide", - desc = "Show tips and difficulty for bingo goals inside the bingo card inventory.\n" + - "§eData from Bingo Splash Community§7, made by §cMayxo" - ) - @ConfigEditorBoolean - public boolean bingoSplashGuide = true; - - @Expose - public Position bingoCardPos = new Position(10, 10, false, true); - } - - @Expose - @ConfigOption(name = "Compact Chat Messages", desc = "") - @Accordion - public CompactChat compactChat = new CompactChat(); - - public static class CompactChat { - - @Expose - @ConfigOption(name = "Enable", desc = "Shortens chat messages about skill level ups, collection gains, " + - "new area discoveries and skyblock level up messages while on bingo.") - @ConfigEditorBoolean - public boolean enabled = true; - - @Expose - @ConfigOption(name = "Hide Border", desc = "Hide the border messages before and after the compact level up messages.") - @ConfigEditorBoolean - public boolean hideBorder = true; - - @Expose - @ConfigOption(name = "Outside Bingo", desc = "Compact the level up chat messages outside of an bingo profile as well.") - @ConfigEditorBoolean - public boolean outsideBingo = false; - } - - @Expose - @ConfigOption(name = "Minion Craft Helper", desc = "Show how many more items you need to upgrade the minion in your inventory. Especially useful for bingo.") - @ConfigEditorBoolean - public boolean minionCraftHelperEnabled = true; - - @Expose - public Position minionCraftHelperPos = new Position(10, 10, false, true); -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/BingoConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/BingoConfig.java new file mode 100644 index 000000000..e083fbcbe --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/BingoConfig.java @@ -0,0 +1,82 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.core.config.Position; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.Accordion; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.observer.Property; + +public class BingoConfig { + + @Expose + @ConfigOption(name = "Bingo Card", desc = "") + @Accordion + public BingoCard bingoCard = new BingoCard(); + + public static class BingoCard { + @Expose + @ConfigOption(name = "Enable", desc = "Displays the bingo card.") + @ConfigEditorBoolean + public boolean enabled = true; + @Expose + @ConfigOption(name = "Quick Toggle", desc = "Quickly toggle the bingo card or the step helper by sneaking with SkyBlock menu in hand.") + @ConfigEditorBoolean + public boolean quickToggle = true; + + @Expose + @ConfigOption(name = "Bingo Steps", desc = "Show help with the next step in bingo instead of the bingo card. " + + "§cThis feature is in early development. Expect bugs and missing goals.") + @ConfigEditorBoolean + public boolean stepHelper = false; + + @Expose + @ConfigOption(name = "Hide Community Goals", desc = "Hide Community Goals from the Bingo Card display.") + @ConfigEditorBoolean + public Property hideCommunityGoals = Property.of(false); + + @Expose + @ConfigOption( + name = "Show Guide", + desc = "Show tips and difficulty for bingo goals inside the bingo card inventory.\n" + + "§eData from Bingo Splash Community§7, made by §cMayxo" + ) + @ConfigEditorBoolean + public boolean bingoSplashGuide = true; + + @Expose + public Position bingoCardPos = new Position(10, 10, false, true); + } + + @Expose + @ConfigOption(name = "Compact Chat Messages", desc = "") + @Accordion + public CompactChat compactChat = new CompactChat(); + + public static class CompactChat { + + @Expose + @ConfigOption(name = "Enable", desc = "Shortens chat messages about skill level ups, collection gains, " + + "new area discoveries and skyblock level up messages while on bingo.") + @ConfigEditorBoolean + public boolean enabled = true; + + @Expose + @ConfigOption(name = "Hide Border", desc = "Hide the border messages before and after the compact level up messages.") + @ConfigEditorBoolean + public boolean hideBorder = true; + + @Expose + @ConfigOption(name = "Outside Bingo", desc = "Compact the level up chat messages outside of an bingo profile as well.") + @ConfigEditorBoolean + public boolean outsideBingo = false; + } + + @Expose + @ConfigOption(name = "Minion Craft Helper", desc = "Show how many more items you need to upgrade the minion in your inventory. Especially useful for bingo.") + @ConfigEditorBoolean + public boolean minionCraftHelperEnabled = true; + + @Expose + public Position minionCraftHelperPos = new Position(10, 10, false, true); +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/CommandsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/CommandsConfig.java new file mode 100644 index 000000000..dd0668743 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/CommandsConfig.java @@ -0,0 +1,24 @@ +package at.hannibal2.skyhanni.config.features; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +public class CommandsConfig { + + @Expose + @ConfigOption(name = "Fandom Wiki", desc = "Use Fandom wiki (§ehypixel-skyblock.fandom.com§7) instead of the Hypixel wiki (§ewiki.hypixel.net§7).") + @ConfigEditorBoolean + public boolean useFandomWiki = false; + + @Expose + @ConfigOption(name = "Party transfer", desc = "Allows §e/pt §7as alias for §e/party transfer§7.\n" + + "§7SkyBlock command §e/pt §7to check the play time still works.") + @ConfigEditorBoolean + public boolean usePartyTransferAlias = true; + + @Expose + @ConfigOption(name = "Replace Warp Is", desc = "Replaces §e/warp is §7with §e/is§7. Idk why. Ask §cKaeso") + @ConfigEditorBoolean + public boolean replaceWarpIs = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/CommandsFeatures.java b/src/main/java/at/hannibal2/skyhanni/config/features/CommandsFeatures.java deleted file mode 100644 index c5be4a03b..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/CommandsFeatures.java +++ /dev/null @@ -1,24 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigOption; - -public class CommandsFeatures { - - @Expose - @ConfigOption(name = "Fandom Wiki", desc = "Use Fandom wiki (§ehypixel-skyblock.fandom.com§7) instead of the Hypixel wiki (§ewiki.hypixel.net§7).") - @ConfigEditorBoolean - public boolean useFandomWiki = false; - - @Expose - @ConfigOption(name = "Party transfer", desc = "Allows §e/pt §7as alias for §e/party transfer§7.\n" + - "§7SkyBlock command §e/pt §7to check the play time still works.") - @ConfigEditorBoolean - public boolean usePartyTransferAlias = true; - - @Expose - @ConfigOption(name = "Replace Warp Is", desc = "Replaces §e/warp is §7with §e/is§7. Idk why. Ask §cKaeso") - @ConfigEditorBoolean - public boolean replaceWarpIs = false; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Dungeon.java b/src/main/java/at/hannibal2/skyhanni/config/features/Dungeon.java deleted file mode 100644 index b3021a63f..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Dungeon.java +++ /dev/null @@ -1,157 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -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.ConfigOption; - -public class Dungeon { - - @Expose - @ConfigOption(name = "Clicked Blocks", desc = "Highlight levers, chests, and wither essence when clicked in dungeons.") - @ConfigEditorBoolean - public boolean highlightClickedBlocks = false; - - @Expose - @ConfigOption(name = "Milestones Display", desc = "Show the current milestone in dungeons.") - @ConfigEditorBoolean - public boolean showMilestonesDisplay = false; - - @Expose - public Position showMileStonesDisplayPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption(name = "Death Counter Display", desc = "Display the total amount of deaths in the current dungeon.") - @ConfigEditorBoolean - public boolean deathCounterDisplay = false; - - @Expose - public Position deathCounterPos = new Position(10, 10, false, true); - - @ConfigOption(name = "Clean End", desc = "") - @ConfigEditorAccordion(id = 2) - public boolean cleanEnd = false; - - @Expose - @ConfigOption(name = "Clean Ending", desc = "After the last dungeon boss has died, all entities and " + - "particles are no longer displayed and the music stops playing, but the loot chests are still displayed.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean cleanEndToggle = false; - - @Expose - @ConfigOption(name = "Ignore Guardians", desc = "Ignore F3 and M3 guardians from the clean end feature when " + - "sneaking. Makes it easier to kill them after the boss died already. Thanks Hypixel.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean cleanEndF3IgnoreGuardians = false; - - @Expose - @ConfigOption(name = "Boss Damage Splash", desc = "Hides damage splashes while inside the boss room (fixes a Skytils feature).") - @ConfigEditorBoolean - public boolean damageSplashBoss = false; - - @Expose - @ConfigOption(name = "Highlight Deathmites", desc = "Highlight deathmites in dungeon in red color.") - @ConfigEditorBoolean - public boolean highlightDeathmites = true; - - @ConfigOption(name = "Object Hider", desc = "Hide various things in dungeons.") - @ConfigEditorAccordion(id = 3) - public boolean objectHider = false; - - @Expose - @ConfigOption(name = "Hide Superboom TNT", desc = "Hide Superboom TNT laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideSuperboomTNT = false; - - @Expose - @ConfigOption(name = "Hide Blessings", desc = "Hide Blessings laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideBlessing = false; - - @Expose - @ConfigOption(name = "Hide Revive Stones", desc = "Hide Revive Stones laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideReviveStone = false; - - @Expose - @ConfigOption(name = "Hide Premium Flesh", desc = "Hide Premium Flesh laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hidePremiumFlesh = false; - - @Expose - @ConfigOption(name = "Hide Journal Entry", desc = "Hide Journal Entry pages laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideJournalEntry = false; - - @Expose - @ConfigOption(name = "Hide Skeleton Skull", desc = "Hide Skeleton Skulls laying around in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideSkeletonSkull = true; - - @Expose - @ConfigOption(name = "Hide Healer Orbs", desc = "Hides the damage, ability damage and defensive orbs that spawn when the healer kills mobs.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideHealerOrbs = false; - - @Expose - @ConfigOption(name = "Hide Healer Fairy", desc = "Hide the golden fairy that follows the healer in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean hideHealerFairy = false; - - @ConfigOption(name = "Message Filter", desc = "") - @ConfigEditorAccordion(id = 4) - public boolean messageFilter = false; - - @Expose - @ConfigOption(name = "Keys and Doors", desc = "Hides the chat message when picking up keys or opening doors in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 4) - public boolean messageFilterKeysAndDoors = false; - - @ConfigOption(name = "Dungeon Copilot", desc = "") - @ConfigEditorAccordion(id = 5) - public boolean dungeonCopilot = false; - - @Expose - @ConfigOption(name = "Copilot Enabled", desc = "Suggests what to do next in dungeons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean copilotEnabled = false; - - @Expose - public Position copilotPos = new Position(10, 10, false, true); - - @ConfigOption(name = "Party Finder", desc = "") - @ConfigEditorAccordion(id = 6) - public boolean partyFinder = false; - - @Expose - @ConfigOption(name = "Colored Class Level", desc = "Color class levels in party finder.") - @ConfigAccordionId(id = 6) - @ConfigEditorBoolean - public boolean partyFinderColoredClassLevel = true; - - @Expose - @ConfigOption(name = "Moving Skeleton Skulls", desc = "Highlight Skeleton Skulls when combining into an " + - "orange Skeletor (not useful when combined with feature Hide Skeleton Skull).") - @ConfigEditorBoolean - public boolean highlightSkeletonSkull = true; - - @Expose - @ConfigOption(name = "Croesus Chest", desc = "Adds a visual highlight to the Croesus inventory that " + - "shows unopened chests.") - @ConfigEditorBoolean - public boolean croesusUnopenedChestTracker = true; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/DungeonConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/DungeonConfig.java new file mode 100644 index 000000000..3e086812e --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/DungeonConfig.java @@ -0,0 +1,157 @@ +package at.hannibal2.skyhanni.config.features; + +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.ConfigOption; + +public class DungeonConfig { + + @Expose + @ConfigOption(name = "Clicked Blocks", desc = "Highlight levers, chests, and wither essence when clicked in dungeons.") + @ConfigEditorBoolean + public boolean highlightClickedBlocks = false; + + @Expose + @ConfigOption(name = "Milestones Display", desc = "Show the current milestone in dungeons.") + @ConfigEditorBoolean + public boolean showMilestonesDisplay = false; + + @Expose + public Position showMileStonesDisplayPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption(name = "Death Counter Display", desc = "Display the total amount of deaths in the current dungeon.") + @ConfigEditorBoolean + public boolean deathCounterDisplay = false; + + @Expose + public Position deathCounterPos = new Position(10, 10, false, true); + + @ConfigOption(name = "Clean End", desc = "") + @ConfigEditorAccordion(id = 2) + public boolean cleanEnd = false; + + @Expose + @ConfigOption(name = "Clean Ending", desc = "After the last dungeon boss has died, all entities and " + + "particles are no longer displayed and the music stops playing, but the loot chests are still displayed.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean cleanEndToggle = false; + + @Expose + @ConfigOption(name = "Ignore Guardians", desc = "Ignore F3 and M3 guardians from the clean end feature when " + + "sneaking. Makes it easier to kill them after the boss died already. Thanks Hypixel.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean cleanEndF3IgnoreGuardians = false; + + @Expose + @ConfigOption(name = "Boss Damage Splash", desc = "Hides damage splashes while inside the boss room (fixes a Skytils feature).") + @ConfigEditorBoolean + public boolean damageSplashBoss = false; + + @Expose + @ConfigOption(name = "Highlight Deathmites", desc = "Highlight deathmites in dungeon in red color.") + @ConfigEditorBoolean + public boolean highlightDeathmites = true; + + @ConfigOption(name = "Object Hider", desc = "Hide various things in dungeons.") + @ConfigEditorAccordion(id = 3) + public boolean objectHider = false; + + @Expose + @ConfigOption(name = "Hide Superboom TNT", desc = "Hide Superboom TNT laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideSuperboomTNT = false; + + @Expose + @ConfigOption(name = "Hide Blessings", desc = "Hide Blessings laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideBlessing = false; + + @Expose + @ConfigOption(name = "Hide Revive Stones", desc = "Hide Revive Stones laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideReviveStone = false; + + @Expose + @ConfigOption(name = "Hide Premium Flesh", desc = "Hide Premium Flesh laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hidePremiumFlesh = false; + + @Expose + @ConfigOption(name = "Hide Journal Entry", desc = "Hide Journal Entry pages laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideJournalEntry = false; + + @Expose + @ConfigOption(name = "Hide Skeleton Skull", desc = "Hide Skeleton Skulls laying around in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideSkeletonSkull = true; + + @Expose + @ConfigOption(name = "Hide Healer Orbs", desc = "Hides the damage, ability damage and defensive orbs that spawn when the healer kills mobs.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideHealerOrbs = false; + + @Expose + @ConfigOption(name = "Hide Healer Fairy", desc = "Hide the golden fairy that follows the healer in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean hideHealerFairy = false; + + @ConfigOption(name = "Message Filter", desc = "") + @ConfigEditorAccordion(id = 4) + public boolean messageFilter = false; + + @Expose + @ConfigOption(name = "Keys and Doors", desc = "Hides the chat message when picking up keys or opening doors in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean messageFilterKeysAndDoors = false; + + @ConfigOption(name = "Dungeon Copilot", desc = "") + @ConfigEditorAccordion(id = 5) + public boolean dungeonCopilot = false; + + @Expose + @ConfigOption(name = "Copilot Enabled", desc = "Suggests what to do next in dungeons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean copilotEnabled = false; + + @Expose + public Position copilotPos = new Position(10, 10, false, true); + + @ConfigOption(name = "Party Finder", desc = "") + @ConfigEditorAccordion(id = 6) + public boolean partyFinder = false; + + @Expose + @ConfigOption(name = "Colored Class Level", desc = "Color class levels in party finder.") + @ConfigAccordionId(id = 6) + @ConfigEditorBoolean + public boolean partyFinderColoredClassLevel = true; + + @Expose + @ConfigOption(name = "Moving Skeleton Skulls", desc = "Highlight Skeleton Skulls when combining into an " + + "orange Skeletor (not useful when combined with feature Hide Skeleton Skull).") + @ConfigEditorBoolean + public boolean highlightSkeletonSkull = true; + + @Expose + @ConfigOption(name = "Croesus Chest", desc = "Adds a visual highlight to the Croesus inventory that " + + "shows unopened chests.") + @ConfigEditorBoolean + public boolean croesusUnopenedChestTracker = true; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Fishing.java b/src/main/java/at/hannibal2/skyhanni/config/features/Fishing.java deleted file mode 100644 index 8ff337693..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Fishing.java +++ /dev/null @@ -1,191 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.Accordion; -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.ConfigEditorSlider; -import io.github.moulberry.moulconfig.annotations.ConfigOption; -import io.github.moulberry.moulconfig.observer.Property; - -public class Fishing { - - @ConfigOption(name = "Trophy Fishing", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean trophyFishing = false; - - @Expose - @ConfigOption( - name = "Trophy Counter", - desc = "Counts Trophy messages from chat and tells you how many you have found." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyCounter = false; - - @Expose - @ConfigOption( - name = "Trophy Counter Design", - desc = "§fStyle 1: §72. §6§lGOLD §5Moldfin\n" + - "§fStyle 2: §bYou caught a §5Moldfin §6§lGOLD§b. §7(2)\n" + - "§fStyle 3: §bYou caught your 2nd §6§lGOLD §5Moldfin§b." - ) - @ConfigEditorDropdown(values = {"Style 1", "Style 2", "Style 3"}) - @ConfigAccordionId(id = 0) - public int trophyDesign = 0; - - @Expose - @ConfigOption(name = "Hide Repeated Catches", desc = "Delete past catches of the same trophy fish from chat.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyFishDuplicateHider = false; - - @Expose - @ConfigOption(name = "Show total amount", desc = "Show total amount of all rarities at the end of the chat message.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyFishTotalAmount = false; - - @Expose - @ConfigOption(name = "Trophy Fish Info", desc = "Show information and stats about a trophy fish when hovering over a catch message in chat.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyFishTooltip = true; - - @Expose - @ConfigOption(name = "Bronze Duplicates", desc = "Hide duplicate messages for bronze trophy fishes from chat.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyFishBronzeHider = false; - - @Expose - @ConfigOption(name = "Silver Duplicates", desc = "Hide duplicate messages for silver trophy fishes from chat.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean trophyFishSilverHider = false; - - @Expose - @ConfigOption(name = "Fillet Tooltip", desc = "Show fillet value of trophy fish in tooltip.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - 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) - public boolean odgerLocation = true; - - @ConfigOption(name = "Thunder Spark", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean thunderSpark = false; - - @Expose - @ConfigOption(name = "Thunder Spark Highlight", desc = "Highlight Thunder Sparks after killing a Thunder") - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - public boolean thunderSparkHighlight = false; - - @Expose - @ConfigOption(name = "Thunder Spark Color", desc = "Color of the Thunder Sparks") - @ConfigEditorColour - @ConfigAccordionId(id = 1) - public String thunderSparkColor = "0:255:255:255:255"; - - @ConfigOption(name = "Barn Fishing Timer", desc = "") - @ConfigEditorAccordion(id = 2) - public boolean barnTimer_ = false; - - @Expose - @ConfigOption( - name = "Barn Fishing Timer", - desc = "Show the time and amount of sea creatures while fishing on the barn via hub." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean barnTimer = true; - - @Expose - public Position barnTimerPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption( - name = "Worm Fishing", - desc = "Show the barn fishing timer even for worms or other sea creatures in the crystal hollows." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean barnTimerCrystalHollows = true; - - @Expose - @ConfigOption(name = "Fishing Timer Alert", desc = "Change the amount of time in seconds until the timer dings.") - @ConfigEditorSlider( - minValue = 240, - maxValue = 360, - minStep = 10 - ) - @ConfigAccordionId(id = 2) - public int barnTimerAlertTime = 330; - - @Expose - @ConfigOption(name = "Chum/Chumcap Bucket Hider", desc = "") - @Accordion - public ChumBucketHider chumBucketHider = new ChumBucketHider(); - - public static class ChumBucketHider { - - @Expose - @ConfigOption(name = "Enable", desc = "Hide the Chum/Chumcap Bucket name tags for other players.") - @ConfigEditorBoolean - public Property enabled = Property.of(true); - - @Expose - @ConfigOption(name = "Hide Bucket", desc = "Hide the Chum/Chumcap Bucket.") - @ConfigEditorBoolean - public Property hideBucket = Property.of(false); - - @Expose - @ConfigOption(name = "Hide Own", desc = "Hides your own Chum/Chumcap Bucket.") - @ConfigEditorBoolean - public Property hideOwn = Property.of(false); - } - - @Expose - @ConfigOption(name = "Fished Item Name", desc = "") - @Accordion - public FishedItemName fishedItemName = new FishedItemName(); - - public static class FishedItemName { - - @Expose - @ConfigOption(name = "Enabled", desc = "Show the fished item name above the item when fishing.") - @ConfigEditorBoolean - public boolean enabled = true; - - @Expose - @ConfigOption(name = "Show Bait", desc = "Also show the name of the consumed bait.") - @ConfigEditorBoolean - public boolean showBaits = false; - - } - - @Expose - @ConfigOption( - name = "Shark Fish Counter", - desc = "Counts how many sharks have been caught." - ) - @ConfigEditorBoolean - public boolean sharkFishCounter = false; - - @Expose - public Position sharkFishCounterPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption(name = "Shorten Fishing Message", desc = "Shortens the chat message that says what type of sea creature you have fished.") - @ConfigEditorBoolean - public boolean shortenFishingMessage = 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 new file mode 100644 index 000000000..b5018173c --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/FishingConfig.java @@ -0,0 +1,191 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.core.config.Position; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.Accordion; +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.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.observer.Property; + +public class FishingConfig { + + @ConfigOption(name = "Trophy Fishing", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean trophyFishing = false; + + @Expose + @ConfigOption( + name = "Trophy Counter", + desc = "Counts Trophy messages from chat and tells you how many you have found." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyCounter = false; + + @Expose + @ConfigOption( + name = "Trophy Counter Design", + desc = "§fStyle 1: §72. §6§lGOLD §5Moldfin\n" + + "§fStyle 2: §bYou caught a §5Moldfin §6§lGOLD§b. §7(2)\n" + + "§fStyle 3: §bYou caught your 2nd §6§lGOLD §5Moldfin§b." + ) + @ConfigEditorDropdown(values = {"Style 1", "Style 2", "Style 3"}) + @ConfigAccordionId(id = 0) + public int trophyDesign = 0; + + @Expose + @ConfigOption(name = "Hide Repeated Catches", desc = "Delete past catches of the same trophy fish from chat.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyFishDuplicateHider = false; + + @Expose + @ConfigOption(name = "Show total amount", desc = "Show total amount of all rarities at the end of the chat message.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyFishTotalAmount = false; + + @Expose + @ConfigOption(name = "Trophy Fish Info", desc = "Show information and stats about a trophy fish when hovering over a catch message in chat.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyFishTooltip = true; + + @Expose + @ConfigOption(name = "Bronze Duplicates", desc = "Hide duplicate messages for bronze trophy fishes from chat.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyFishBronzeHider = false; + + @Expose + @ConfigOption(name = "Silver Duplicates", desc = "Hide duplicate messages for silver trophy fishes from chat.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean trophyFishSilverHider = false; + + @Expose + @ConfigOption(name = "Fillet Tooltip", desc = "Show fillet value of trophy fish in tooltip.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + 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) + public boolean odgerLocation = true; + + @ConfigOption(name = "Thunder Spark", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean thunderSpark = false; + + @Expose + @ConfigOption(name = "Thunder Spark Highlight", desc = "Highlight Thunder Sparks after killing a Thunder") + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean thunderSparkHighlight = false; + + @Expose + @ConfigOption(name = "Thunder Spark Color", desc = "Color of the Thunder Sparks") + @ConfigEditorColour + @ConfigAccordionId(id = 1) + public String thunderSparkColor = "0:255:255:255:255"; + + @ConfigOption(name = "Barn Fishing Timer", desc = "") + @ConfigEditorAccordion(id = 2) + public boolean barnTimer_ = false; + + @Expose + @ConfigOption( + name = "Barn Fishing Timer", + desc = "Show the time and amount of sea creatures while fishing on the barn via hub." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean barnTimer = true; + + @Expose + public Position barnTimerPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption( + name = "Worm Fishing", + desc = "Show the barn fishing timer even for worms or other sea creatures in the crystal hollows." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean barnTimerCrystalHollows = true; + + @Expose + @ConfigOption(name = "Fishing Timer Alert", desc = "Change the amount of time in seconds until the timer dings.") + @ConfigEditorSlider( + minValue = 240, + maxValue = 360, + minStep = 10 + ) + @ConfigAccordionId(id = 2) + public int barnTimerAlertTime = 330; + + @Expose + @ConfigOption(name = "Chum/Chumcap Bucket Hider", desc = "") + @Accordion + public ChumBucketHider chumBucketHider = new ChumBucketHider(); + + public static class ChumBucketHider { + + @Expose + @ConfigOption(name = "Enable", desc = "Hide the Chum/Chumcap Bucket name tags for other players.") + @ConfigEditorBoolean + public Property enabled = Property.of(true); + + @Expose + @ConfigOption(name = "Hide Bucket", desc = "Hide the Chum/Chumcap Bucket.") + @ConfigEditorBoolean + public Property hideBucket = Property.of(false); + + @Expose + @ConfigOption(name = "Hide Own", desc = "Hides your own Chum/Chumcap Bucket.") + @ConfigEditorBoolean + public Property hideOwn = Property.of(false); + } + + @Expose + @ConfigOption(name = "Fished Item Name", desc = "") + @Accordion + public FishedItemName fishedItemName = new FishedItemName(); + + public static class FishedItemName { + + @Expose + @ConfigOption(name = "Enabled", desc = "Show the fished item name above the item when fishing.") + @ConfigEditorBoolean + public boolean enabled = true; + + @Expose + @ConfigOption(name = "Show Bait", desc = "Also show the name of the consumed bait.") + @ConfigEditorBoolean + public boolean showBaits = false; + + } + + @Expose + @ConfigOption( + name = "Shark Fish Counter", + desc = "Counts how many sharks have been caught." + ) + @ConfigEditorBoolean + public boolean sharkFishCounter = false; + + @Expose + public Position sharkFishCounterPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption(name = "Shorten Fishing Message", desc = "Shortens the chat message that says what type of sea creature you have fished.") + @ConfigEditorBoolean + public boolean shortenFishingMessage = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GUI.java b/src/main/java/at/hannibal2/skyhanni/config/features/GUI.java deleted file mode 100644 index e1a8f23c0..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/GUI.java +++ /dev/null @@ -1,20 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.data.GuiEditManager; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorButton; -import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind; -import io.github.moulberry.moulconfig.annotations.ConfigOption; -import org.lwjgl.input.Keyboard; - -public class GUI { - - @ConfigOption(name = "Edit GUI Locations", desc = "Change the position of SkyHanni's overlays") - @ConfigEditorButton(buttonText = "Edit") - public Runnable positions = GuiEditManager::openGuiPositionEditor; - - @Expose - @ConfigOption(name = "Open Hotkey", desc = "Press this key to open the GUI Editor.") - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) - public int keyBindOpen = Keyboard.KEY_NONE; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java new file mode 100644 index 000000000..2e02156e3 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/GUIConfig.java @@ -0,0 +1,20 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.data.GuiEditManager; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorButton; +import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import org.lwjgl.input.Keyboard; + +public class GUIConfig { + + @ConfigOption(name = "Edit GUI Locations", desc = "Change the position of SkyHanni's overlays") + @ConfigEditorButton(buttonText = "Edit") + public Runnable positions = GuiEditManager::openGuiPositionEditor; + + @Expose + @ConfigOption(name = "Open Hotkey", desc = "Press this key to open the GUI Editor.") + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) + public int keyBindOpen = Keyboard.KEY_NONE; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Garden.java b/src/main/java/at/hannibal2/skyhanni/config/features/Garden.java deleted file mode 100644 index 5244aac76..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Garden.java +++ /dev/null @@ -1,1349 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.commands.Commands; -import at.hannibal2.skyhanni.config.core.config.Position; -import at.hannibal2.skyhanni.features.garden.inventory.GardenPlotIcon; -import at.hannibal2.skyhanni.utils.LorenzUtils; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.*; -import io.github.moulberry.moulconfig.observer.Property; -import net.minecraft.client.Minecraft; -import org.lwjgl.input.Keyboard; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -@SuppressWarnings("deprecation") -public class Garden { - - @Expose - @ConfigOption(name = "SkyMart", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean skyMart = false; - - @Expose - @ConfigOption(name = "Copper Price", desc = "Show copper to coin prices inside the SkyMart inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean skyMartCopperPrice = true; - - @Expose - @ConfigOption(name = "Advanced Stats", desc = "Show the bin price and copper price for every item.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean skyMartCopperPriceAdvancedStats = false; - - @Expose - public Position skyMartCopperPricePos = new Position(211, 132, false, true); - - @Expose - @ConfigOption(name = "Visitor", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean visitor = false; - - @Expose - @ConfigOption(name = "Visitor Timer", desc = "") - @ConfigAccordionId(id = 1) - @ConfigEditorAccordion(id = 2) - public boolean visitorTimer = false; - - @Expose - @ConfigOption(name = "Visitor Timer", desc = "Timer when the next visitor will appear, " + - "and a number for how many visitors are already waiting.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean visitorTimerEnabled = true; - - @Expose - @ConfigOption(name = "Sixth Visitor Estimate", desc = "Estimate when the sixth visitor in the queue will arrive. " + - "May be inaccurate with coop members farming simultaneously.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean visitorTimerSixthVisitorEnabled = true; - - @Expose - @ConfigOption(name = "Sixth Visitor Warning", desc = "Notifies when it is believed that the sixth visitor has arrived. " + - "May be inaccurate with coop members farming simultaneously.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean visitorTimerSixthVisitorWarning = true; - - @Expose - public Position visitorTimerPos = new Position(390, 65, false, true); - - @Expose - @ConfigOption(name = "Visitor Items Needed", desc = "") - @ConfigAccordionId(id = 1) - @ConfigEditorAccordion(id = 3) - public boolean visitorNeeds = false; - - @Expose - @ConfigOption(name = "Items Needed", desc = "Show all items needed for the visitors.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean visitorNeedsDisplay = true; - - @Expose - public Position visitorNeedsPos = new Position(180, 170, false, true); - - @Expose - @ConfigOption(name = "Only when Close", desc = "Only show the needed items when close to the visitors.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean visitorNeedsOnlyWhenClose = false; - - @Expose - @ConfigOption(name = "Bazaar Alley", desc = "Show the Visitor Items List while inside the Bazaar Alley in the Hub. " + - "This helps buying the correct amount when not having a booster cookie buff active.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean visitorNeedsInBazaarAlley = true; - - @Expose - @ConfigOption(name = "Show Price", desc = "Show the coin price in the items needed list.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean visitorNeedsShowPrice = true; - - @Expose - @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) - public boolean visitorItemPreview = true; - - @Expose - @ConfigOption(name = "Visitor Inventory", desc = "") - @ConfigAccordionId(id = 1) - @ConfigEditorAccordion(id = 4) - public boolean visitorInventory = false; - - @Expose - @ConfigOption(name = "Visitor Price", desc = "Show the bazaar price of the items required for the visitors, like in NEU.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 4) - public boolean visitorShowPrice = false; - - @Expose - @ConfigOption(name = "Amount and Time", desc = "Show the exact item amount and the remaining time when farmed manually. Especially useful for ironman.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 4) - public boolean visitorExactAmountAndTime = true; - - @Expose - @ConfigOption(name = "Copper Price", desc = "Show the price per copper inside the visitor gui.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 4) - public boolean visitorCopperPrice = true; - - @Expose - @ConfigOption(name = "Copper Time", desc = "Show the time required per copper inside the visitor gui.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 4) - 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) - public boolean visitorExperiencePrice = false; - - @Expose - @ConfigOption(name = "Visitor Reward Warning", desc = "") - @ConfigAccordionId(id = 1) - @Accordion - public VisitorRewardWarning visitorRewardWarning = new VisitorRewardWarning(); - - public static class VisitorRewardWarning { - - @Expose - @ConfigOption(name = "Notify in Chat", desc = "Send a Chat message once you talk to a visitor with reward.") - @ConfigEditorBoolean - public boolean notifyInChat = true; - - @Expose - @ConfigOption(name = "Show over Name", desc = "Show the reward name above the visitor name.") - @ConfigEditorBoolean - public boolean showOverName = true; - - @Expose - @ConfigOption(name = "Prevent Refusing", desc = "Prevent the refusal of a visitor with reward.") - @ConfigEditorBoolean - public boolean preventRefusing = true; - - @Expose - @ConfigOption(name = "Bypass Key", desc = "Hold that key to bypass the Prevent Refusing feature.") - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) - public int bypassKey = Keyboard.KEY_NONE; - - - /** - * Sync up with {at.hannibal2.skyhanni.features.garden.visitor.VisitorReward} - */ - @Expose - @ConfigOption( - name = "Items", - desc = "Warn for these reward items." - ) - @ConfigEditorDraggableList( - exampleText = { - "§9Flowering Bouquet", - "§9Overgrown Grass", - "§9Green Bandana", - "§9Dedication IV", - "§9Music Rune", - "§cSpace Helmet", - } - ) - public List drops = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5)); - - - } - - @Expose - @ConfigOption(name = "Notification Chat", desc = "Show in chat when a new visitor is visiting your island.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - 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) - public boolean visitorNotificationTitle = true; - - @Expose - @ConfigOption(name = "Highlight Status", desc = "Highlight the status for visitors with a text above or with color.") - @ConfigEditorDropdown(values = {"Color Only", "Name Only", "Both", "Disabled"}) - @ConfigAccordionId(id = 1) - public int visitorHighlightStatus = 2; - - @Expose - @ConfigOption(name = "Colored Name", desc = "Show the visitor name in the color of the rarity.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - 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) - 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) - public boolean visitorHideChat = true; - - @Expose - @ConfigOption(name = "Visitor Drops Statistics Counter", desc = "") - @Accordion - public VisitorDrops visitorDropsStatistics = new VisitorDrops(); - - public static class VisitorDrops { - - @Expose - @ConfigOption( - name = "Enabled", - desc = "Tallies up statistic about visitors and the rewards you have received from them." - ) - @ConfigEditorBoolean - public boolean enabled = true; - - @Expose - @ConfigOption( - name = "Text Format", - desc = "Drag text to change the appearance of the overlay." - ) - @ConfigEditorDraggableList( - exampleText = { - "§e§lVisitor Statistics", - "§e1,636 Total", - "§a1,172§f-§9382§f-§681§f-§c1", - "§21,382 Accepted", - "§c254 Denied", - " ", - "§c62,072 Copper", - "§33.2m Farming EXP", - "§647.2m Coins Spent", - "§b23 §9Flowering Bouquet", - "§b4 §9Overgrown Grass", - "§b2 §9Green Bandana", - "§b1 §9Dedication IV", - "§b6 §9Music Rune", - "§b1 §cSpace Helmet", - " ", // If they want another empty row - "§212,735 Garden EXP", - } - ) - public List textFormat = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12)); - - - @Expose - @ConfigOption(name = "Display Numbers First", desc = "Determines whether the number or drop name displays first. " + - "§eNote: Will not update the preview above!") - @ConfigEditorBoolean - public boolean displayNumbersFirst = true; - - @Expose - @ConfigOption(name = "Display Icons", desc = "Replaces the drop names with icons. " + - "§eNote: Will not update the preview above!") - @ConfigEditorBoolean - public boolean displayIcons = false; - - @Expose - @ConfigOption(name = "Only On Barn Plot", desc = "Only shows the overlay while on the barn plot.") - @ConfigEditorBoolean - public boolean onlyOnBarn = true; - - @Expose - public Position visitorDropPos = new Position(5, 20, false, true); - } - - @Expose - @ConfigOption(name = "Numbers", desc = "") - @ConfigEditorAccordion(id = 5) - public boolean numbers = false; - - @Expose - @ConfigOption(name = "Crop Milestone", desc = "Show the number of crop milestones in the inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean numberCropMilestone = true; - - @Expose - @ConfigOption(name = "Average Milestone", desc = "Show the average crop milestone in the crop milestone inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean numberAverageCropMilestone = true; - - @Expose - @ConfigOption(name = "Crop Upgrades", desc = "Show the number of upgrades in the crop upgrades inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean numberCropUpgrades = true; - - @Expose - @ConfigOption(name = "Composter Upgrades", desc = "Show the number of upgrades in the composter upgrades inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 5) - public boolean numberComposterUpgrades = true; - - @Expose - @ConfigOption(name = "Crop Milestones", desc = "") - @ConfigEditorAccordion(id = 6) - public boolean cropMilestones = false; - - @Expose - @ConfigOption( - name = "Progress Display", - desc = "Shows the progress and ETA until the next crop milestone is reached and the current crops/minute value. " + - "§cRequires a tool with either a counter or cultivating enchantment." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 6) - public boolean cropMilestoneProgress = true; - - @Expose - @ConfigOption( - name = "Warn When Close", - desc = "Warn with title and sound when the next crop milestone upgrade happens in 5 seconds. " + - "Useful for switching to a different pet for leveling.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 6) - public boolean cropMilestoneWarnClose = false; - - @Expose - @ConfigOption( - name = "Time Format", - desc = "Change the highest time unit to show (1h30m vs 90min)") - @ConfigEditorDropdown(values = {"Year", "Day", "Hour", "Minute", "Second"}) - @ConfigAccordionId(id = 6) - public Property cropMilestoneHighestTimeFormat = Property.of(0); - - @Expose - @ConfigOption( - name = "Maxed Milestone", - desc = "Calculate the progress and ETA till maxed milestone (46) instead of next milestone.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 6) - public Property cropMilestoneBestShowMaxedNeeded = Property.of(false); - - @Expose - @ConfigOption( - name = "Milestone Text", - desc = "Drag text to change the appearance of the overlay.\n" + - "Hold a farming tool to show the overlay." - ) - @ConfigEditorDraggableList( - exampleText = { - "§6Crop Milestones", - "§7Pumpkin Tier 22", - "§e12,300§8/§e100,000", - "§7In §b12m 34s", - "§7Crops/Minute§8: §e12,345", - "§7Blocks/Second§8: §e19.85", - "§7Percentage: §e12.34%", - } - ) - @ConfigAccordionId(id = 6) - public List cropMilestoneText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5)); - - @Expose - @ConfigOption(name = "Block Broken Precision", desc = "The amount of decimals displayed in blocks/second.") - @ConfigEditorSlider( - minValue = 0, - maxValue = 6, - minStep = 1 - ) - @ConfigAccordionId(id = 6) - public int blocksBrokenPrecision = 2; - - @Expose - @ConfigOption(name = "Seconds Before Reset", desc = "How many seconds of not farming until blocks/second resets.") - @ConfigEditorSlider( - minValue = 2, - maxValue = 60, - minStep = 1 - ) - @ConfigAccordionId(id = 6) - public int blocksBrokenResetTime = 5; - - @Expose - public Position cropMilestoneProgressDisplayPos = new Position(-400, -200, false, true); - - @Expose - @ConfigOption(name = "Best Crop", desc = "") - @ConfigAccordionId(id = 6) - @ConfigEditorAccordion(id = 7) - public boolean cropMilestoneNext = false; - // TODO moulconfig runnable support - - @Expose - @ConfigOption( - name = "Best Display", - desc = "Lists all crops and their ETA till next milestone. Sorts for best crop for getting garden or SkyBlock levels.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 7) - public boolean cropMilestoneBestDisplay = true; - - // TODO moulconfig runnable support - @Expose - @ConfigOption(name = "Sort Type", desc = "Sort the crops by either garden or SkyBlock exp.") - @ConfigEditorDropdown(values = {"Garden Exp", "SkyBlock Exp"}) - @ConfigAccordionId(id = 7) - public int cropMilestoneBestType = 0; - - // TODO moulconfig runnable support - @Expose - @ConfigOption(name = "Only show top", desc = "Only show the top # crops.") - @ConfigEditorSlider( - minValue = 1, - maxValue = 10, - minStep = 1 - ) - @ConfigAccordionId(id = 7) - public int cropMilestoneShowOnlyBest = 10; - - @Expose - @ConfigOption(name = "Extend top list", desc = "Add current crop to the list if its lower ranked than the set limit by extending the list.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 7) - public boolean cropMilestoneShowCurrent = true; - - // TODO moulconfig runnable support - @Expose - @ConfigOption( - name = "Always On", - desc = "Show the Best Display always while on the garden.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 7) - public boolean cropMilestoneBestAlwaysOn = false; - - @Expose - @ConfigOption( - name = "Compact Display", - desc = "A more compact best crop time: Removing the crop name and exp, hide the # number and using a more compact time format.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 7) - public boolean cropMilestoneBestCompact = false; - - @Expose - @ConfigOption( - name = "Hide Title", - desc = "Hides the 'Best Crop Time' line entirely.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 7) - public boolean cropMilestoneBestHideTitle = false; - - - @Expose - public Position cropMilestoneNextDisplayPos = new Position(-200, -200, false, true); - - @Expose - @ConfigOption(name = "Mushroom Pet Perk", desc = "") - @ConfigAccordionId(id = 6) - @ConfigEditorAccordion(id = 15) - public boolean cropMilestoneMushroomPetPerk = false; - - // TODO moulconfig runnable support - @Expose - @ConfigOption( - name = "Display Enabled", - desc = "Show the progress and ETA for mushroom crops when farming other crops because of the mushroom cow perk.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 15) - public boolean cropMilestoneMushroomPetPerkEnabled = true; - - @Expose - @ConfigOption( - name = "Mushroom Text", - desc = "Drag text to change the appearance of the overlay.\n" + - "Hold a farming tool to show the overlay." - ) - @ConfigEditorDraggableList( - exampleText = { - "§6Mooshroom Cow Perk", - "§7Mushroom Tier 8", - "§e6,700§8/§e15,000", - "§7In §b12m 34s", - "§7Percentage: §e12.34%", - } - ) - @ConfigAccordionId(id = 15) - public List cropMilestoneMushroomPetPerkText = new ArrayList<>(Arrays.asList(0, 1, 2, 3)); - - @Expose - public Position cropMilestoneMushroomPetPerkPos = new Position(-112, -143, false, true); - - // TODO moulconfig runnable support - @Expose - @ConfigOption(name = "Custom Keybind", desc = "") - @ConfigEditorAccordion(id = 8) - public boolean keybind = false; - - @Expose - @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) - public boolean keyBindEnabled = false; - - @ConfigOption(name = "Disable All", desc = "Disable all keys.") - @ConfigEditorButton(buttonText = "Disable") - @ConfigAccordionId(id = 8) - public Runnable keyBindPresetDisable = () -> { - keyBindAttack = Keyboard.KEY_NONE; - keyBindUseItem = Keyboard.KEY_NONE; - keyBindLeft = Keyboard.KEY_NONE; - keyBindRight = Keyboard.KEY_NONE; - keyBindForward = Keyboard.KEY_NONE; - keyBindBack = Keyboard.KEY_NONE; - keyBindJump = Keyboard.KEY_NONE; - keyBindSneak = Keyboard.KEY_NONE; - - Minecraft.getMinecraft().thePlayer.closeScreen(); - }; - - @ConfigOption(name = "Set Default", desc = "Reset all keys to default.") - @ConfigEditorButton(buttonText = "Default") - @ConfigAccordionId(id = 8) - public Runnable keyBindPresetDefault = () -> { - keyBindAttack = -100; - keyBindUseItem = -99; - keyBindLeft = Keyboard.KEY_A; - keyBindRight = Keyboard.KEY_D; - keyBindForward = Keyboard.KEY_W; - keyBindBack = Keyboard.KEY_S; - keyBindJump = Keyboard.KEY_SPACE; - keyBindSneak = Keyboard.KEY_LSHIFT; - Minecraft.getMinecraft().thePlayer.closeScreen(); - }; - - @Expose - @ConfigOption(name = "Attack", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = -100) - public int keyBindAttack = -100; - - @Expose - @ConfigOption(name = "Use Item", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = -99) - public int keyBindUseItem = -99; - - @Expose - @ConfigOption(name = "Move Left", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_A) - public int keyBindLeft = Keyboard.KEY_A; - - @Expose - @ConfigOption(name = "Move Right", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_D) - public int keyBindRight = Keyboard.KEY_D; - - @Expose - @ConfigOption(name = "Move Forward", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_W) - public int keyBindForward = Keyboard.KEY_W; - - @Expose - @ConfigOption(name = "Move Back", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_S) - public int keyBindBack = Keyboard.KEY_S; - - @Expose - @ConfigOption(name = "Jump", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_SPACE) - public int keyBindJump = Keyboard.KEY_SPACE; - - @Expose - @ConfigOption(name = "Sneak", desc = "") - @ConfigAccordionId(id = 8) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT) - public int keyBindSneak = Keyboard.KEY_LSHIFT; - - @Expose - @ConfigOption(name = "Optimal Speed", desc = "") - @ConfigEditorAccordion(id = 9) - 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).") - @ConfigEditorBoolean - @ConfigAccordionId(id = 9) - public boolean optimalSpeedEnabled = true; - - @Expose - @ConfigOption(name = "Warning Title", desc = "Warn via title when you don't have the optimal speed.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 9) - public boolean optimalSpeedWarning = false; - - @Expose - @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) - public boolean optimalSpeedSignEnabled = true; - - @Expose - public Position optimalSpeedSignPosition = new Position(20, -195, false, true); - - @Expose - @ConfigOption(name = "Custom Speed", desc = "Change the exact speed for every single crop.") - @Accordion - @ConfigAccordionId(id = 9) - public CustomSpeed optimalSpeedCustom = new CustomSpeed(); - - public static class CustomSpeed { - - @Expose - @ConfigOption(name = "Wheat", desc = "Suggested farm speed:\n" + - "§e5 Blocks§7: §f✦ 93 speed\n" + - "§e4 Blocks§7: §f✦ 116 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int wheat = 93; - - @Expose - @ConfigOption(name = "Carrot", desc = "Suggested farm speed:\n" + - "§e5 Blocks§7: §f✦ 93 speed\n" + - "§e4 Blocks§7: §f✦ 116 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int carrot = 93; - - @Expose - @ConfigOption(name = "Potato", desc = "Suggested farm speed:\n" + - "§e5 Blocks§7: §f✦ 93 speed\n" + - "§e4 Blocks§7: §f✦ 116 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int potato = 93; - - @Expose - @ConfigOption(name = "Nether Wart", desc = "Suggested farm speed:\n" + - "§e5 Blocks§7: §f✦ 93 speed\n" + - "§e4 Blocks§7: §f✦ 116 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int netherWart = 93; - - @Expose - @ConfigOption(name = "Pumpkin", desc = "Suggested farm speed:\n" + - "§e3 Blocks§7: §f✦ 155 speed\n" + - "§e2 Blocks§7: §f✦ 265 §7or §f400 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int pumpkin = 155; - - @Expose - @ConfigOption(name = "Melon", desc = "Suggested farm speed:\n" + - "§e3 Blocks§7: §f✦ 155 speed\n" + - "§e2 Blocks§7: §f✦ 265 or 400 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int melon = 155; - - @Expose - @ConfigOption(name = "Cocoa Beans", desc = "Suggested farm speed:\n" + - "§e3 Blocks§7: §f✦ 155 speed\n" + - "§e4 Blocks§7: §f✦ 116 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int cocoaBeans = 155; - - // TODO does other speed settings exist? - @Expose - @ConfigOption(name = "Sugar Cane", desc = "Suggested farm speed:\n" + - "§eYaw 45§7: §f✦ 328 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int sugarCane = 328; - - @Expose - @ConfigOption(name = "Cactus", desc = "Suggested farm speed:\n" + - "§eNormal§7: §f✦ 400 speed\n" + - "§eRacing Helmet§7: §f✦ 464 speed\n" + - "§eBlack Cat§7: §f✦ 464 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 500, minStep = 1) - public int cactus = 400; - - // TODO does other speed settings exist? - @Expose - @ConfigOption(name = "Mushroom", desc = "Suggested farm speed:\n" + - "§eYaw 60§7: §f✦ 233 speed") - @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) - public int mushroom = 233; - } - - @Expose - public Position optimalSpeedPos = new Position(5, -200, false, true); - - @Expose - @ConfigOption(name = "Garden Level", desc = "") - @ConfigEditorAccordion(id = 10) - public boolean gardenLevel = false; - - @Expose - @ConfigOption(name = "Display", desc = "Show the current garden level and progress to the next level.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 10) - public boolean gardenLevelDisplay = true; - - @Expose - public Position gardenLevelPos = new Position(390, 40, false, true); - - @Expose - @ConfigOption(name = "Farming Weight", desc = "") - @ConfigEditorAccordion(id = 11) - public boolean eliteFarmingWeight = false; - - @Expose - @ConfigOption(name = "Display", desc = "Display your farming weight on screen. " + - "The calculation and api is provided by The Elite SkyBlock Farmers. " + - "See §ehttps://elitebot.dev/info §7for more info.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 11) - public boolean eliteFarmingWeightDisplay = true; - - @Expose - public Position eliteFarmingWeightPos = new Position(180, 10, false, true); - - @Expose - @ConfigOption(name = "Leaderboard Ranking", desc = "Show your position in the farming weight leaderboard. " + - "Only if your farming weight is high enough! Updates every 10 minutes.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 11) - public boolean eliteFarmingWeightLeaderboard = true; - - @Expose - @ConfigOption(name = "Overtake ETA", desc = "Show a timer estimating when you'll move up a spot in the leaderboard! " + - "Will show an ETA to rank #1000 if you're not on the leaderboard yet.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 11) - public boolean eliteFarmingWeightOvertakeETA = false; - - @Expose - @ConfigOption(name = "Always ETA", desc = "Show the Overtake ETA always, even when not farming at the moment.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 11) - public boolean eliteFarmingWeightOvertakeETAAlways = true; - - @Expose - @ConfigOption(name = "ETA Goal", desc = "Override the Overtake ETA to show when you'll reach the specified rank (if not there yet). (Default: \"10000\")") - @ConfigEditorText - @ConfigAccordionId(id = 11) - public String eliteFarmingWeightETAGoalRank = "10000"; - - @Expose - @ConfigOption(name = "Dicer Counter", desc = "") - @ConfigEditorAccordion(id = 12) - public boolean dicerCounter = false; - - @Expose - @ConfigOption(name = "Rng Drop Counter", desc = "Count RNG drops for Melon Dicer and Pumpkin Dicer.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 12) - public boolean dicerCounterDisplay = true; - - @Expose - @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when dropping a RNG Dicer drop.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 12) - public boolean dicerCounterHideChat = false; - - @Expose - public Position dicerCounterPos = new Position(16, -232, false, true); - - @Expose - @ConfigOption(name = "Money per Hour", desc = "") - @ConfigEditorAccordion(id = 13) - public boolean moneyPerHour = false; - - @Expose - @ConfigOption(name = "Show money per Hour", - desc = "Displays the money per hour YOU get with YOUR crop/minute value when selling the item to bazaar. " + - "Supports Bountiful, Mushroom Cow Perk and Dicer drops. Thier toggles are below.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourDisplay = true; - - // TODO moulconfig runnable support - @Expose - @ConfigOption(name = "Only show top", desc = "Only show the best # items.") - @ConfigEditorSlider( - minValue = 1, - maxValue = 25, - minStep = 1 - ) - @ConfigAccordionId(id = 13) - public int moneyPerHourShowOnlyBest = 5; - - @Expose - @ConfigOption(name = "Extend top list", desc = "Add current crop to the list if its lower ranked than the set limit by extending the list.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourShowCurrent = true; - - // TODO moulconfig runnable support - @Expose - @ConfigOption( - name = "Always On", - desc = "Show the money/hour Display always while on the garden.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourAlwaysOn = false; - - @Expose - @ConfigOption( - name = "Compact Mode", - desc = "Hide the item name and the position number.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourCompact = false; - - @Expose - @ConfigOption( - name = "Compact Price", - desc = "Show the price more compact.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourCompactPrice = false; - - @Expose - @ConfigOption( - name = "Use Custom", - desc = "Use the custom format below instead of classic ➜ §eSell Offer §7and other profiles ➜ §eNPC Price.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourUseCustomFormat = false; - - @Expose - @ConfigOption( - name = "Custom Format", - desc = "Set what prices to show") - @ConfigEditorDraggableList( - exampleText = { - "§eSell Offer", - "§eInstant Sell", - "§eNPC Price" - }, - requireNonEmpty = true - ) - @ConfigAccordionId(id = 13) - public List moneyPerHourCustomFormat = new ArrayList<>(Arrays.asList(0, 1, 2)); - - @Expose - @ConfigOption( - name = "Merge Seeds", - desc = "Merge the seeds price with the wheat price.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourMergeSeeds = true; - - @Expose - @ConfigOption( - name = "Include Bountiful", - desc = "Includes the coins from bountiful in the calculation.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourBountiful = true; - - @Expose - @ConfigOption( - name = "Include Mooshroom Cow", - desc = "Includes the coins you get from selling the mushrooms from your mooshroom cow pet.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourMooshroom = true; - - @Expose - @ConfigOption( - name = "Include Dicer Drops", - desc = "Includes the average coins/hr from your melon or pumpkin dicer.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourDicer = true; - - @Expose - @ConfigOption( - name = "Hide Title", - desc = "Hides the first line of 'Money Per Hour' entirely.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 13) - public boolean moneyPerHourHideTitle = false; - - @Expose - public Position moneyPerHourPos = new Position(-330, 170, false, true); - - @Expose - @ConfigOption(name = "Next Jacob's Contest", desc = "") - @ConfigEditorAccordion(id = 14) - public boolean nextJacobContest = false; - - @Expose - @ConfigOption(name = "Show Jacob's Contest", desc = "Show the current or next Jacob's farming contest time and crops.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 14) - public boolean nextJacobContestDisplay = true; - - @Expose - @ConfigOption(name = "Outside Garden", desc = "Show the timer not only in garden but everywhere in SkyBlock.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 14) - public boolean nextJacobContestEverywhere = false; - - @Expose - @ConfigOption(name = "In Other Guis", desc = "Mark the current or next farming contest crops in other farming guis as underlined.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 14) - public boolean nextJacobContestOtherGuis = false; - - @Expose - @ConfigOption(name = "Warning", desc = "Show a warning shortly before a new Jacob's contest starts.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 14) - public boolean nextJacobContestWarn = false; - - @Expose - @ConfigOption(name = "Warning Time", desc = "Set the warning time in seconds before a Jacob's contest begins.") - @ConfigEditorSlider( - minValue = 10, - maxValue = 60 * 5, - minStep = 1 - ) - @ConfigAccordionId(id = 14) - public int nextJacobContestWarnTime = 60 * 2; - - @Expose - @ConfigOption(name = "Popup Warning", desc = "Opens a popup when the warning time is reached and Minecraft is not in focus.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 14) - public boolean nextJacobContestWarnPopup = false; - - @Expose - public Position nextJacobContestPos = new Position(-200, 10, false, true); - - @Expose - @ConfigOption(name = "Farming Armor Drops", desc = "") - - @ConfigEditorAccordion(id = 18) - public boolean farmingArmorDrops = false; - - @Expose - @ConfigOption(name = "Show Counter", desc = "Count all §9Cropie§7, §5Squash §7and §6Fermento §7dropped.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 18) - public boolean farmingArmorDropsEnabled = true; - - @Expose - @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when receiving a farming armor drop.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 18) - public boolean farmingArmorDropsHideChat = false; - - @Expose - public Position farmingArmorDropsPos = new Position(16, -232, false, true); - - @Expose - @ConfigOption(name = "Anita Medal Profit", desc = "") - @ConfigEditorAccordion(id = 16) - public boolean anitaMedalProfit = false; - - @Expose - @ConfigOption( - name = "Show Prices", - desc = "Helps to identify profitable items to buy at the Anita item shop " + - "and potential profit from selling the item at the auction house." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 16) - public boolean anitaMedalProfitEnabled = true; - - @Expose - public Position anitaMedalProfitPos = new Position(206, 158, false, true); - - @Expose - @ConfigOption(name = "Composter", desc = "") - @ConfigEditorAccordion(id = 17) - public boolean composter = false; - - @Expose - @ConfigOption( - name = "Composter Overlay", - desc = "Show organic matter, fuel, and profit prices while inside the Composter Inventory." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterOverlay = true; - - @Expose - @ConfigOption(name = "Overlay Price", desc = "Toggle for bazaar 'buy order' vs 'instant buy' price in composter overlay.") - @ConfigEditorDropdown(values = {"Instant Buy", "Buy Order"}) - @ConfigAccordionId(id = 17) - public int composterOverlayPriceType = 0; - - @Expose - public Position composterOverlayOrganicMatterPos = new Position(140, 152, false, true); - - @Expose - public Position composterOverlayFuelExtrasPos = new Position(-320, 152, false, true); - - @Expose - @ConfigOption( - name = "Display Element", - desc = "Displays the compost data from the tab list as gui element." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterDisplayEnabled = true; - - @Expose - @ConfigOption( - name = "Outside Garden", - desc = "Show Time till composter is empty outside garden" - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterDisplayOutsideGarden = false; - - @Expose - @ConfigOption( - name = "Composter warning", - desc = "Warn when the composter gets close to empty, even outside garden." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterWarnAlmostClose = false; - - @Expose - @ConfigOption( - name = "Upgrade Price", - desc = "Show the price for the composter upgrade in the lore." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterUpgradePrice = true; - - @Expose - @ConfigOption( - name = "Highlight Upgrade", - desc = "Highlight Upgrades that can be bought right now." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterHighLightUpgrade = true; - - @Expose - @ConfigOption( - name = "Inventory Numbers", - desc = "Show the amount of Organic Matter, Fuel and Composts Available while inside the composter inventory." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 17) - public boolean composterInventoryNumbers = true; - - @Expose - @ConfigOption(name = "Notification When Low Composter", desc = "") - @ConfigAccordionId(id = 17) - @ConfigEditorAccordion(id = 21) - public boolean composterNotifyLow = false; - - @Expose - @ConfigOption(name = "Enable", desc = "Show a notification when organic matter or fuel runs low in your composter.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 21) - public boolean composterNotifyLowEnabled = true; - - @Expose - @ConfigOption(name = "Show Title", desc = "Send a title to notify.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 21) - public boolean composterNotifyLowTitle = false; - - @Expose - @ConfigOption(name = "Min Organic Matter", desc = "Warn when Organic Matter is below this value.") - @ConfigEditorSlider( - minValue = 1_000, - maxValue = 80_000, - minStep = 1 - ) - @ConfigAccordionId(id = 21) - public int composterNotifyLowOrganicMatter = 20_000; - - @Expose - @ConfigOption(name = "Min Fuel Cap", desc = "Warn when Fuel is below this value.") - @ConfigEditorSlider( - minValue = 500, - maxValue = 40_000, - minStep = 1 - ) - @ConfigAccordionId(id = 21) - public int composterNotifyLowFuel = 10_000; - - @Expose - public Position composterDisplayPos = new Position(-390, 10, false, true); - - @Expose - public Position composterOutsideGardenPos = new Position(-363, 13, false, true); - - @Expose - @ConfigOption(name = "Farming Fortune Display", desc = "") - @ConfigEditorAccordion(id = 22) - public boolean farmingFortune = false; - - @Expose - @ConfigOption( - name = "FF Display", - desc = "Displays the true farming fortune for the current crop, including all crop-specific and hidden bonuses." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 22) - public boolean farmingFortuneDisplay = true; - - @Expose - @ConfigOption( - name = "Show As Drop Multiplier", - desc = "Adds 100 to the displayed farming fortune so that it represents a drop multiplier rather than" + - " the chance for bonus drops. " - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 22) - public boolean farmingFortuneDropMultiplier = true; - - @ConfigOption(name = "Farming Fortune Guide", desc = "Opens a guide that breaks down your farming fortune.\n§eCommand: /ff") - @ConfigEditorButton(buttonText = "Open") - public Runnable positions = Commands::openFortuneGuide; - - @Expose - public Position farmingFortunePos = new Position(5, -180, false, true); - - @Expose - @ConfigOption(name = "Tooltip Tweaks", desc = "") - @ConfigEditorAccordion(id = 20) - public boolean tooltipTweaks = false; - - @Expose - @ConfigOption( - name = "Compact Descriptions", - desc = "Hides redundant parts of reforge descriptions, generic counter description, and Farmhand perk explanation." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 20) - public boolean compactToolTooltips = false; - - @Expose - @ConfigOption( - name = "Breakdown Hotkey", - desc = "When the keybind is pressed, show a breakdown of all fortune sources on a tool." - ) - @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT) - @ConfigAccordionId(id = 20) - public int fortuneTooltipKeybind = Keyboard.KEY_LSHIFT; - - @Expose - @ConfigOption( - name = "Tooltip Format", - desc = "Show crop-specific farming fortune in tooltip.\n" + - "§fShow: §7Crop-specific fortune indicated as §6[+196]\n" + - "§fReplace: §7Edits the total fortune to include crop-specific fortune." - ) - @ConfigEditorDropdown(values = {"Default", "Show", "Replace"}) - @ConfigAccordionId(id = 20) - public int cropTooltipFortune = 1; - - @Expose - @ConfigOption(name = "Yaw and Pitch", desc = "") - @Accordion - public YawPitchDisplay yawPitchDisplay = new YawPitchDisplay(); - - public static class YawPitchDisplay { - - @Expose - @ConfigOption(name = "Enable", desc = "Displays yaw and pitch while holding a farming tool. Automatically fades out if there is no movement.") - @ConfigEditorBoolean - public boolean enabled = false; - - @Expose - @ConfigOption(name = "Yaw Precision", desc = "Yaw precision up to specified decimal.") - @ConfigEditorSlider( - minValue = 1, - maxValue = 10, - minStep = 1 - ) - public int yawPrecision = 4; - - @Expose - @ConfigOption(name = "Pitch Precision", desc = "Pitch precision up to specified decimal.") - @ConfigEditorSlider( - minValue = 1, - maxValue = 10, - minStep = 1 - ) - public int pitchPrecision = 4; - - @Expose - @ConfigOption(name = "Display Timeout", desc = "Duration in seconds for which the overlay is being displayed after moving.") - @ConfigEditorSlider( - minValue = 1, - maxValue = 20, - minStep = 1 - ) - public int timeout = 5; - - @Expose - @ConfigOption(name = "Show Without Tool", desc = "Does not require you to hold a tool for the overlay to show.") - @ConfigEditorBoolean - public boolean showWithoutTool = false; - - @Expose - @ConfigOption(name = "Show Outside Garden", desc = "The overlay will work outside of the garden.") - @ConfigEditorBoolean - public boolean showEverywhere = false; - - @Expose - @ConfigOption(name = "Ignore Timeout", desc = "Ignore the timeout after not moving mouse.") - @ConfigEditorBoolean - public boolean showAlways = false; - - @Expose - public Position pos = new Position(445, 225, false, true); - @Expose - public Position posOutside = new Position(445, 225, false, true); - } - - @Expose - @ConfigOption(name = "Crop Start Location", desc = "") - @Accordion - public CropStartLocation cropStartLocation = new CropStartLocation(); - - public static class CropStartLocation { - - @Expose - @ConfigOption(name = "Enable", desc = "Show the start waypoint for your farm with the currently holding tool.") - @ConfigEditorBoolean - public boolean enabled = false; - - } - - @Expose - @ConfigOption(name = "Garden Plot Icon", desc = "") - @Accordion - public PlotIcon plotIcon = new PlotIcon(); - - public static class PlotIcon { - @Expose - @ConfigOption(name = "Enable", desc = "Enable icon replacement in the Configure Plots menu.") - @ConfigEditorBoolean - public boolean enabled = true; - - @ConfigOption(name = "Hard Reset", desc = "Reset every slot to it's original item.") - @ConfigEditorButton(buttonText = "Reset") - public Runnable hardReset = () -> { - GardenPlotIcon.INSTANCE.setHardReset(true); - LorenzUtils.INSTANCE.sendCommandToServer("desk"); - }; - } - - @Expose - @ConfigOption(name = "Plot Price", desc = "Show the price of the plot in coins when inside the Configure Plots inventory.") - @ConfigEditorBoolean - 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 - public boolean deskInSkyBlockMenu = true; - - - @Expose - @ConfigOption(name = "Fungi Cutter Warning", desc = "Warn when breaking mushroom with the wrong Fungi Cutter mode.") - @ConfigEditorBoolean - public boolean fungiCutterWarn = true; - - @Expose - @ConfigOption(name = "Burrowing Spores", desc = "Show a notification when a Burrowing Spores spawns during farming mushrooms.") - @ConfigEditorBoolean - public boolean burrowingSporesNotification = true; - - @Expose - @ConfigOption(name = "Wild Strawberry", desc = "Show a notification when a Wild Strawberry Dye drops during farming.") - @ConfigEditorBoolean - public boolean wildStrawberryDyeNotification = true; - - @Expose - @ConfigOption( - name = "FF for Contest", - desc = "Show the minimum needed Farming Fortune for reaching each medal in Jacob's Farming Contest inventory." - ) - @ConfigEditorBoolean - public boolean farmingFortuneForContest = true; - - @Expose - public Position farmingFortuneForContestPos = new Position(180, 156, false, true); - - @Expose - @ConfigOption( - name = "Contest Time Needed", - desc = "Show the time and missing FF for every crop inside Jacob's Farming Contest inventory." - ) - @ConfigEditorBoolean - public boolean jacobContextTimes = true; - - @Expose - public Position jacobContextTimesPos = new Position(-359, 149, false, true); - - @Expose - @ConfigOption( - name = "Contest Summary", - desc = "Show the average Blocks Per Second and blocks clicked at the end of a Jacob Farming Contest in chat." - ) - @ConfigEditorBoolean - public boolean jacobContestSummary = true; - - @Expose - @ConfigOption(name = "Always Finnegan", desc = "Forcefully set the Finnegan Farming Simulator perk to be active. This is useful if the auto mayor detection fails.") - @ConfigEditorBoolean - public boolean forcefullyEnabledAlwaysFinnegan = false; - - @Expose - public Position cropSpeedMeterPos = new Position(278, -236, false, true); -} \ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java new file mode 100644 index 000000000..a9360b814 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/GardenConfig.java @@ -0,0 +1,1359 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.commands.Commands; +import at.hannibal2.skyhanni.config.core.config.Position; +import at.hannibal2.skyhanni.features.garden.inventory.GardenPlotIcon; +import at.hannibal2.skyhanni.utils.LorenzUtils; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.Accordion; +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.ConfigEditorButton; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDraggableList; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigEditorText; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.observer.Property; +import net.minecraft.client.Minecraft; +import org.lwjgl.input.Keyboard; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +@SuppressWarnings("deprecation") +public class GardenConfig { + + @Expose + @ConfigOption(name = "SkyMart", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean skyMart = false; + + @Expose + @ConfigOption(name = "Copper Price", desc = "Show copper to coin prices inside the SkyMart inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean skyMartCopperPrice = true; + + @Expose + @ConfigOption(name = "Advanced Stats", desc = "Show the bin price and copper price for every item.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean skyMartCopperPriceAdvancedStats = false; + + @Expose + public Position skyMartCopperPricePos = new Position(211, 132, false, true); + + @Expose + @ConfigOption(name = "Visitor", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean visitor = false; + + @Expose + @ConfigOption(name = "Visitor Timer", desc = "") + @ConfigAccordionId(id = 1) + @ConfigEditorAccordion(id = 2) + public boolean visitorTimer = false; + + @Expose + @ConfigOption(name = "Visitor Timer", desc = "Timer when the next visitor will appear, " + + "and a number for how many visitors are already waiting.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean visitorTimerEnabled = true; + + @Expose + @ConfigOption(name = "Sixth Visitor Estimate", desc = "Estimate when the sixth visitor in the queue will arrive. " + + "May be inaccurate with coop members farming simultaneously.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean visitorTimerSixthVisitorEnabled = true; + + @Expose + @ConfigOption(name = "Sixth Visitor Warning", desc = "Notifies when it is believed that the sixth visitor has arrived. " + + "May be inaccurate with coop members farming simultaneously.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean visitorTimerSixthVisitorWarning = true; + + @Expose + public Position visitorTimerPos = new Position(390, 65, false, true); + + @Expose + @ConfigOption(name = "Visitor Items Needed", desc = "") + @ConfigAccordionId(id = 1) + @ConfigEditorAccordion(id = 3) + public boolean visitorNeeds = false; + + @Expose + @ConfigOption(name = "Items Needed", desc = "Show all items needed for the visitors.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean visitorNeedsDisplay = true; + + @Expose + public Position visitorNeedsPos = new Position(180, 170, false, true); + + @Expose + @ConfigOption(name = "Only when Close", desc = "Only show the needed items when close to the visitors.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean visitorNeedsOnlyWhenClose = false; + + @Expose + @ConfigOption(name = "Bazaar Alley", desc = "Show the Visitor Items List while inside the Bazaar Alley in the Hub. " + + "This helps buying the correct amount when not having a booster cookie buff active.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean visitorNeedsInBazaarAlley = true; + + @Expose + @ConfigOption(name = "Show Price", desc = "Show the coin price in the items needed list.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean visitorNeedsShowPrice = true; + + @Expose + @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) + public boolean visitorItemPreview = true; + + @Expose + @ConfigOption(name = "Visitor Inventory", desc = "") + @ConfigAccordionId(id = 1) + @ConfigEditorAccordion(id = 4) + public boolean visitorInventory = false; + + @Expose + @ConfigOption(name = "Visitor Price", desc = "Show the bazaar price of the items required for the visitors, like in NEU.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean visitorShowPrice = false; + + @Expose + @ConfigOption(name = "Amount and Time", desc = "Show the exact item amount and the remaining time when farmed manually. Especially useful for ironman.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean visitorExactAmountAndTime = true; + + @Expose + @ConfigOption(name = "Copper Price", desc = "Show the price per copper inside the visitor gui.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + public boolean visitorCopperPrice = true; + + @Expose + @ConfigOption(name = "Copper Time", desc = "Show the time required per copper inside the visitor gui.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 4) + 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) + public boolean visitorExperiencePrice = false; + + @Expose + @ConfigOption(name = "Visitor Reward Warning", desc = "") + @ConfigAccordionId(id = 1) + @Accordion + public VisitorRewardWarning visitorRewardWarning = new VisitorRewardWarning(); + + public static class VisitorRewardWarning { + + @Expose + @ConfigOption(name = "Notify in Chat", desc = "Send a Chat message once you talk to a visitor with reward.") + @ConfigEditorBoolean + public boolean notifyInChat = true; + + @Expose + @ConfigOption(name = "Show over Name", desc = "Show the reward name above the visitor name.") + @ConfigEditorBoolean + public boolean showOverName = true; + + @Expose + @ConfigOption(name = "Prevent Refusing", desc = "Prevent the refusal of a visitor with reward.") + @ConfigEditorBoolean + public boolean preventRefusing = true; + + @Expose + @ConfigOption(name = "Bypass Key", desc = "Hold that key to bypass the Prevent Refusing feature.") + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE) + public int bypassKey = Keyboard.KEY_NONE; + + + /** + * Sync up with {at.hannibal2.skyhanni.features.garden.visitor.VisitorReward} + */ + @Expose + @ConfigOption( + name = "Items", + desc = "Warn for these reward items." + ) + @ConfigEditorDraggableList( + exampleText = { + "§9Flowering Bouquet", + "§9Overgrown Grass", + "§9Green Bandana", + "§9Dedication IV", + "§9Music Rune", + "§cSpace Helmet", + } + ) + public List drops = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5)); + + + } + + @Expose + @ConfigOption(name = "Notification Chat", desc = "Show in chat when a new visitor is visiting your island.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + 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) + public boolean visitorNotificationTitle = true; + + @Expose + @ConfigOption(name = "Highlight Status", desc = "Highlight the status for visitors with a text above or with color.") + @ConfigEditorDropdown(values = {"Color Only", "Name Only", "Both", "Disabled"}) + @ConfigAccordionId(id = 1) + public int visitorHighlightStatus = 2; + + @Expose + @ConfigOption(name = "Colored Name", desc = "Show the visitor name in the color of the rarity.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + 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) + 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) + public boolean visitorHideChat = true; + + @Expose + @ConfigOption(name = "Visitor Drops Statistics Counter", desc = "") + @Accordion + public VisitorDrops visitorDropsStatistics = new VisitorDrops(); + + public static class VisitorDrops { + + @Expose + @ConfigOption( + name = "Enabled", + desc = "Tallies up statistic about visitors and the rewards you have received from them." + ) + @ConfigEditorBoolean + public boolean enabled = true; + + @Expose + @ConfigOption( + name = "Text Format", + desc = "Drag text to change the appearance of the overlay." + ) + @ConfigEditorDraggableList( + exampleText = { + "§e§lVisitor Statistics", + "§e1,636 Total", + "§a1,172§f-§9382§f-§681§f-§c1", + "§21,382 Accepted", + "§c254 Denied", + " ", + "§c62,072 Copper", + "§33.2m Farming EXP", + "§647.2m Coins Spent", + "§b23 §9Flowering Bouquet", + "§b4 §9Overgrown Grass", + "§b2 §9Green Bandana", + "§b1 §9Dedication IV", + "§b6 §9Music Rune", + "§b1 §cSpace Helmet", + " ", // If they want another empty row + "§212,735 Garden EXP", + } + ) + public List textFormat = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12)); + + + @Expose + @ConfigOption(name = "Display Numbers First", desc = "Determines whether the number or drop name displays first. " + + "§eNote: Will not update the preview above!") + @ConfigEditorBoolean + public boolean displayNumbersFirst = true; + + @Expose + @ConfigOption(name = "Display Icons", desc = "Replaces the drop names with icons. " + + "§eNote: Will not update the preview above!") + @ConfigEditorBoolean + public boolean displayIcons = false; + + @Expose + @ConfigOption(name = "Only On Barn Plot", desc = "Only shows the overlay while on the barn plot.") + @ConfigEditorBoolean + public boolean onlyOnBarn = true; + + @Expose + public Position visitorDropPos = new Position(5, 20, false, true); + } + + @Expose + @ConfigOption(name = "Numbers", desc = "") + @ConfigEditorAccordion(id = 5) + public boolean numbers = false; + + @Expose + @ConfigOption(name = "Crop Milestone", desc = "Show the number of crop milestones in the inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean numberCropMilestone = true; + + @Expose + @ConfigOption(name = "Average Milestone", desc = "Show the average crop milestone in the crop milestone inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean numberAverageCropMilestone = true; + + @Expose + @ConfigOption(name = "Crop Upgrades", desc = "Show the number of upgrades in the crop upgrades inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean numberCropUpgrades = true; + + @Expose + @ConfigOption(name = "Composter Upgrades", desc = "Show the number of upgrades in the composter upgrades inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 5) + public boolean numberComposterUpgrades = true; + + @Expose + @ConfigOption(name = "Crop Milestones", desc = "") + @ConfigEditorAccordion(id = 6) + public boolean cropMilestones = false; + + @Expose + @ConfigOption( + name = "Progress Display", + desc = "Shows the progress and ETA until the next crop milestone is reached and the current crops/minute value. " + + "§cRequires a tool with either a counter or cultivating enchantment." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean cropMilestoneProgress = true; + + @Expose + @ConfigOption( + name = "Warn When Close", + desc = "Warn with title and sound when the next crop milestone upgrade happens in 5 seconds. " + + "Useful for switching to a different pet for leveling.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public boolean cropMilestoneWarnClose = false; + + @Expose + @ConfigOption( + name = "Time Format", + desc = "Change the highest time unit to show (1h30m vs 90min)") + @ConfigEditorDropdown(values = {"Year", "Day", "Hour", "Minute", "Second"}) + @ConfigAccordionId(id = 6) + public Property cropMilestoneHighestTimeFormat = Property.of(0); + + @Expose + @ConfigOption( + name = "Maxed Milestone", + desc = "Calculate the progress and ETA till maxed milestone (46) instead of next milestone.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 6) + public Property cropMilestoneBestShowMaxedNeeded = Property.of(false); + + @Expose + @ConfigOption( + name = "Milestone Text", + desc = "Drag text to change the appearance of the overlay.\n" + + "Hold a farming tool to show the overlay." + ) + @ConfigEditorDraggableList( + exampleText = { + "§6Crop Milestones", + "§7Pumpkin Tier 22", + "§e12,300§8/§e100,000", + "§7In §b12m 34s", + "§7Crops/Minute§8: §e12,345", + "§7Blocks/Second§8: §e19.85", + "§7Percentage: §e12.34%", + } + ) + @ConfigAccordionId(id = 6) + public List cropMilestoneText = new ArrayList<>(Arrays.asList(0, 1, 2, 3, 4, 5)); + + @Expose + @ConfigOption(name = "Block Broken Precision", desc = "The amount of decimals displayed in blocks/second.") + @ConfigEditorSlider( + minValue = 0, + maxValue = 6, + minStep = 1 + ) + @ConfigAccordionId(id = 6) + public int blocksBrokenPrecision = 2; + + @Expose + @ConfigOption(name = "Seconds Before Reset", desc = "How many seconds of not farming until blocks/second resets.") + @ConfigEditorSlider( + minValue = 2, + maxValue = 60, + minStep = 1 + ) + @ConfigAccordionId(id = 6) + public int blocksBrokenResetTime = 5; + + @Expose + public Position cropMilestoneProgressDisplayPos = new Position(-400, -200, false, true); + + @Expose + @ConfigOption(name = "Best Crop", desc = "") + @ConfigAccordionId(id = 6) + @ConfigEditorAccordion(id = 7) + public boolean cropMilestoneNext = false; + // TODO moulconfig runnable support + + @Expose + @ConfigOption( + name = "Best Display", + desc = "Lists all crops and their ETA till next milestone. Sorts for best crop for getting garden or SkyBlock levels.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean cropMilestoneBestDisplay = true; + + // TODO moulconfig runnable support + @Expose + @ConfigOption(name = "Sort Type", desc = "Sort the crops by either garden or SkyBlock exp.") + @ConfigEditorDropdown(values = {"Garden Exp", "SkyBlock Exp"}) + @ConfigAccordionId(id = 7) + public int cropMilestoneBestType = 0; + + // TODO moulconfig runnable support + @Expose + @ConfigOption(name = "Only show top", desc = "Only show the top # crops.") + @ConfigEditorSlider( + minValue = 1, + maxValue = 10, + minStep = 1 + ) + @ConfigAccordionId(id = 7) + public int cropMilestoneShowOnlyBest = 10; + + @Expose + @ConfigOption(name = "Extend top list", desc = "Add current crop to the list if its lower ranked than the set limit by extending the list.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean cropMilestoneShowCurrent = true; + + // TODO moulconfig runnable support + @Expose + @ConfigOption( + name = "Always On", + desc = "Show the Best Display always while on the garden.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean cropMilestoneBestAlwaysOn = false; + + @Expose + @ConfigOption( + name = "Compact Display", + desc = "A more compact best crop time: Removing the crop name and exp, hide the # number and using a more compact time format.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean cropMilestoneBestCompact = false; + + @Expose + @ConfigOption( + name = "Hide Title", + desc = "Hides the 'Best Crop Time' line entirely.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 7) + public boolean cropMilestoneBestHideTitle = false; + + + @Expose + public Position cropMilestoneNextDisplayPos = new Position(-200, -200, false, true); + + @Expose + @ConfigOption(name = "Mushroom Pet Perk", desc = "") + @ConfigAccordionId(id = 6) + @ConfigEditorAccordion(id = 15) + public boolean cropMilestoneMushroomPetPerk = false; + + // TODO moulconfig runnable support + @Expose + @ConfigOption( + name = "Display Enabled", + desc = "Show the progress and ETA for mushroom crops when farming other crops because of the mushroom cow perk.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 15) + public boolean cropMilestoneMushroomPetPerkEnabled = true; + + @Expose + @ConfigOption( + name = "Mushroom Text", + desc = "Drag text to change the appearance of the overlay.\n" + + "Hold a farming tool to show the overlay." + ) + @ConfigEditorDraggableList( + exampleText = { + "§6Mooshroom Cow Perk", + "§7Mushroom Tier 8", + "§e6,700§8/§e15,000", + "§7In §b12m 34s", + "§7Percentage: §e12.34%", + } + ) + @ConfigAccordionId(id = 15) + public List cropMilestoneMushroomPetPerkText = new ArrayList<>(Arrays.asList(0, 1, 2, 3)); + + @Expose + public Position cropMilestoneMushroomPetPerkPos = new Position(-112, -143, false, true); + + // TODO moulconfig runnable support + @Expose + @ConfigOption(name = "Custom Keybind", desc = "") + @ConfigEditorAccordion(id = 8) + public boolean keybind = false; + + @Expose + @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) + public boolean keyBindEnabled = false; + + @ConfigOption(name = "Disable All", desc = "Disable all keys.") + @ConfigEditorButton(buttonText = "Disable") + @ConfigAccordionId(id = 8) + public Runnable keyBindPresetDisable = () -> { + keyBindAttack = Keyboard.KEY_NONE; + keyBindUseItem = Keyboard.KEY_NONE; + keyBindLeft = Keyboard.KEY_NONE; + keyBindRight = Keyboard.KEY_NONE; + keyBindForward = Keyboard.KEY_NONE; + keyBindBack = Keyboard.KEY_NONE; + keyBindJump = Keyboard.KEY_NONE; + keyBindSneak = Keyboard.KEY_NONE; + + Minecraft.getMinecraft().thePlayer.closeScreen(); + }; + + @ConfigOption(name = "Set Default", desc = "Reset all keys to default.") + @ConfigEditorButton(buttonText = "Default") + @ConfigAccordionId(id = 8) + public Runnable keyBindPresetDefault = () -> { + keyBindAttack = -100; + keyBindUseItem = -99; + keyBindLeft = Keyboard.KEY_A; + keyBindRight = Keyboard.KEY_D; + keyBindForward = Keyboard.KEY_W; + keyBindBack = Keyboard.KEY_S; + keyBindJump = Keyboard.KEY_SPACE; + keyBindSneak = Keyboard.KEY_LSHIFT; + Minecraft.getMinecraft().thePlayer.closeScreen(); + }; + + @Expose + @ConfigOption(name = "Attack", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = -100) + public int keyBindAttack = -100; + + @Expose + @ConfigOption(name = "Use Item", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = -99) + public int keyBindUseItem = -99; + + @Expose + @ConfigOption(name = "Move Left", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_A) + public int keyBindLeft = Keyboard.KEY_A; + + @Expose + @ConfigOption(name = "Move Right", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_D) + public int keyBindRight = Keyboard.KEY_D; + + @Expose + @ConfigOption(name = "Move Forward", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_W) + public int keyBindForward = Keyboard.KEY_W; + + @Expose + @ConfigOption(name = "Move Back", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_S) + public int keyBindBack = Keyboard.KEY_S; + + @Expose + @ConfigOption(name = "Jump", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_SPACE) + public int keyBindJump = Keyboard.KEY_SPACE; + + @Expose + @ConfigOption(name = "Sneak", desc = "") + @ConfigAccordionId(id = 8) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT) + public int keyBindSneak = Keyboard.KEY_LSHIFT; + + @Expose + @ConfigOption(name = "Optimal Speed", desc = "") + @ConfigEditorAccordion(id = 9) + 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).") + @ConfigEditorBoolean + @ConfigAccordionId(id = 9) + public boolean optimalSpeedEnabled = true; + + @Expose + @ConfigOption(name = "Warning Title", desc = "Warn via title when you don't have the optimal speed.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 9) + public boolean optimalSpeedWarning = false; + + @Expose + @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) + public boolean optimalSpeedSignEnabled = true; + + @Expose + public Position optimalSpeedSignPosition = new Position(20, -195, false, true); + + @Expose + @ConfigOption(name = "Custom Speed", desc = "Change the exact speed for every single crop.") + @Accordion + @ConfigAccordionId(id = 9) + public CustomSpeed optimalSpeedCustom = new CustomSpeed(); + + public static class CustomSpeed { + + @Expose + @ConfigOption(name = "Wheat", desc = "Suggested farm speed:\n" + + "§e5 Blocks§7: §f✦ 93 speed\n" + + "§e4 Blocks§7: §f✦ 116 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int wheat = 93; + + @Expose + @ConfigOption(name = "Carrot", desc = "Suggested farm speed:\n" + + "§e5 Blocks§7: §f✦ 93 speed\n" + + "§e4 Blocks§7: §f✦ 116 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int carrot = 93; + + @Expose + @ConfigOption(name = "Potato", desc = "Suggested farm speed:\n" + + "§e5 Blocks§7: §f✦ 93 speed\n" + + "§e4 Blocks§7: §f✦ 116 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int potato = 93; + + @Expose + @ConfigOption(name = "Nether Wart", desc = "Suggested farm speed:\n" + + "§e5 Blocks§7: §f✦ 93 speed\n" + + "§e4 Blocks§7: §f✦ 116 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int netherWart = 93; + + @Expose + @ConfigOption(name = "Pumpkin", desc = "Suggested farm speed:\n" + + "§e3 Blocks§7: §f✦ 155 speed\n" + + "§e2 Blocks§7: §f✦ 265 §7or §f400 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int pumpkin = 155; + + @Expose + @ConfigOption(name = "Melon", desc = "Suggested farm speed:\n" + + "§e3 Blocks§7: §f✦ 155 speed\n" + + "§e2 Blocks§7: §f✦ 265 or 400 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int melon = 155; + + @Expose + @ConfigOption(name = "Cocoa Beans", desc = "Suggested farm speed:\n" + + "§e3 Blocks§7: §f✦ 155 speed\n" + + "§e4 Blocks§7: §f✦ 116 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int cocoaBeans = 155; + + // TODO does other speed settings exist? + @Expose + @ConfigOption(name = "Sugar Cane", desc = "Suggested farm speed:\n" + + "§eYaw 45§7: §f✦ 328 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int sugarCane = 328; + + @Expose + @ConfigOption(name = "Cactus", desc = "Suggested farm speed:\n" + + "§eNormal§7: §f✦ 400 speed\n" + + "§eRacing Helmet§7: §f✦ 464 speed\n" + + "§eBlack Cat§7: §f✦ 464 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 500, minStep = 1) + public int cactus = 400; + + // TODO does other speed settings exist? + @Expose + @ConfigOption(name = "Mushroom", desc = "Suggested farm speed:\n" + + "§eYaw 60§7: §f✦ 233 speed") + @ConfigEditorSlider(minValue = 1, maxValue = 400, minStep = 1) + public int mushroom = 233; + } + + @Expose + public Position optimalSpeedPos = new Position(5, -200, false, true); + + @Expose + @ConfigOption(name = "Garden Level", desc = "") + @ConfigEditorAccordion(id = 10) + public boolean gardenLevel = false; + + @Expose + @ConfigOption(name = "Display", desc = "Show the current garden level and progress to the next level.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 10) + public boolean gardenLevelDisplay = true; + + @Expose + public Position gardenLevelPos = new Position(390, 40, false, true); + + @Expose + @ConfigOption(name = "Farming Weight", desc = "") + @ConfigEditorAccordion(id = 11) + public boolean eliteFarmingWeight = false; + + @Expose + @ConfigOption(name = "Display", desc = "Display your farming weight on screen. " + + "The calculation and api is provided by The Elite SkyBlock Farmers. " + + "See §ehttps://elitebot.dev/info §7for more info.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 11) + public boolean eliteFarmingWeightDisplay = true; + + @Expose + public Position eliteFarmingWeightPos = new Position(180, 10, false, true); + + @Expose + @ConfigOption(name = "Leaderboard Ranking", desc = "Show your position in the farming weight leaderboard. " + + "Only if your farming weight is high enough! Updates every 10 minutes.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 11) + public boolean eliteFarmingWeightLeaderboard = true; + + @Expose + @ConfigOption(name = "Overtake ETA", desc = "Show a timer estimating when you'll move up a spot in the leaderboard! " + + "Will show an ETA to rank #1000 if you're not on the leaderboard yet.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 11) + public boolean eliteFarmingWeightOvertakeETA = false; + + @Expose + @ConfigOption(name = "Always ETA", desc = "Show the Overtake ETA always, even when not farming at the moment.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 11) + public boolean eliteFarmingWeightOvertakeETAAlways = true; + + @Expose + @ConfigOption(name = "ETA Goal", desc = "Override the Overtake ETA to show when you'll reach the specified rank (if not there yet). (Default: \"10000\")") + @ConfigEditorText + @ConfigAccordionId(id = 11) + public String eliteFarmingWeightETAGoalRank = "10000"; + + @Expose + @ConfigOption(name = "Dicer Counter", desc = "") + @ConfigEditorAccordion(id = 12) + public boolean dicerCounter = false; + + @Expose + @ConfigOption(name = "Rng Drop Counter", desc = "Count RNG drops for Melon Dicer and Pumpkin Dicer.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 12) + public boolean dicerCounterDisplay = true; + + @Expose + @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when dropping a RNG Dicer drop.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 12) + public boolean dicerCounterHideChat = false; + + @Expose + public Position dicerCounterPos = new Position(16, -232, false, true); + + @Expose + @ConfigOption(name = "Money per Hour", desc = "") + @ConfigEditorAccordion(id = 13) + public boolean moneyPerHour = false; + + @Expose + @ConfigOption(name = "Show money per Hour", + desc = "Displays the money per hour YOU get with YOUR crop/minute value when selling the item to bazaar. " + + "Supports Bountiful, Mushroom Cow Perk and Dicer drops. Thier toggles are below.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourDisplay = true; + + // TODO moulconfig runnable support + @Expose + @ConfigOption(name = "Only show top", desc = "Only show the best # items.") + @ConfigEditorSlider( + minValue = 1, + maxValue = 25, + minStep = 1 + ) + @ConfigAccordionId(id = 13) + public int moneyPerHourShowOnlyBest = 5; + + @Expose + @ConfigOption(name = "Extend top list", desc = "Add current crop to the list if its lower ranked than the set limit by extending the list.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourShowCurrent = true; + + // TODO moulconfig runnable support + @Expose + @ConfigOption( + name = "Always On", + desc = "Show the money/hour Display always while on the garden.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourAlwaysOn = false; + + @Expose + @ConfigOption( + name = "Compact Mode", + desc = "Hide the item name and the position number.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourCompact = false; + + @Expose + @ConfigOption( + name = "Compact Price", + desc = "Show the price more compact.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourCompactPrice = false; + + @Expose + @ConfigOption( + name = "Use Custom", + desc = "Use the custom format below instead of classic ➜ §eSell Offer §7and other profiles ➜ §eNPC Price.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourUseCustomFormat = false; + + @Expose + @ConfigOption( + name = "Custom Format", + desc = "Set what prices to show") + @ConfigEditorDraggableList( + exampleText = { + "§eSell Offer", + "§eInstant Sell", + "§eNPC Price" + }, + requireNonEmpty = true + ) + @ConfigAccordionId(id = 13) + public List moneyPerHourCustomFormat = new ArrayList<>(Arrays.asList(0, 1, 2)); + + @Expose + @ConfigOption( + name = "Merge Seeds", + desc = "Merge the seeds price with the wheat price.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourMergeSeeds = true; + + @Expose + @ConfigOption( + name = "Include Bountiful", + desc = "Includes the coins from bountiful in the calculation.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourBountiful = true; + + @Expose + @ConfigOption( + name = "Include Mooshroom Cow", + desc = "Includes the coins you get from selling the mushrooms from your mooshroom cow pet.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourMooshroom = true; + + @Expose + @ConfigOption( + name = "Include Dicer Drops", + desc = "Includes the average coins/hr from your melon or pumpkin dicer.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourDicer = true; + + @Expose + @ConfigOption( + name = "Hide Title", + desc = "Hides the first line of 'Money Per Hour' entirely.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 13) + public boolean moneyPerHourHideTitle = false; + + @Expose + public Position moneyPerHourPos = new Position(-330, 170, false, true); + + @Expose + @ConfigOption(name = "Next Jacob's Contest", desc = "") + @ConfigEditorAccordion(id = 14) + public boolean nextJacobContest = false; + + @Expose + @ConfigOption(name = "Show Jacob's Contest", desc = "Show the current or next Jacob's farming contest time and crops.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 14) + public boolean nextJacobContestDisplay = true; + + @Expose + @ConfigOption(name = "Outside Garden", desc = "Show the timer not only in garden but everywhere in SkyBlock.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 14) + public boolean nextJacobContestEverywhere = false; + + @Expose + @ConfigOption(name = "In Other Guis", desc = "Mark the current or next farming contest crops in other farming guis as underlined.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 14) + public boolean nextJacobContestOtherGuis = false; + + @Expose + @ConfigOption(name = "Warning", desc = "Show a warning shortly before a new Jacob's contest starts.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 14) + public boolean nextJacobContestWarn = false; + + @Expose + @ConfigOption(name = "Warning Time", desc = "Set the warning time in seconds before a Jacob's contest begins.") + @ConfigEditorSlider( + minValue = 10, + maxValue = 60 * 5, + minStep = 1 + ) + @ConfigAccordionId(id = 14) + public int nextJacobContestWarnTime = 60 * 2; + + @Expose + @ConfigOption(name = "Popup Warning", desc = "Opens a popup when the warning time is reached and Minecraft is not in focus.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 14) + public boolean nextJacobContestWarnPopup = false; + + @Expose + public Position nextJacobContestPos = new Position(-200, 10, false, true); + + @Expose + @ConfigOption(name = "Farming Armor Drops", desc = "") + + @ConfigEditorAccordion(id = 18) + public boolean farmingArmorDrops = false; + + @Expose + @ConfigOption(name = "Show Counter", desc = "Count all §9Cropie§7, §5Squash §7and §6Fermento §7dropped.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 18) + public boolean farmingArmorDropsEnabled = true; + + @Expose + @ConfigOption(name = "Hide Chat", desc = "Hide the chat message when receiving a farming armor drop.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 18) + public boolean farmingArmorDropsHideChat = false; + + @Expose + public Position farmingArmorDropsPos = new Position(16, -232, false, true); + + @Expose + @ConfigOption(name = "Anita Medal Profit", desc = "") + @ConfigEditorAccordion(id = 16) + public boolean anitaMedalProfit = false; + + @Expose + @ConfigOption( + name = "Show Prices", + desc = "Helps to identify profitable items to buy at the Anita item shop " + + "and potential profit from selling the item at the auction house." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 16) + public boolean anitaMedalProfitEnabled = true; + + @Expose + public Position anitaMedalProfitPos = new Position(206, 158, false, true); + + @Expose + @ConfigOption(name = "Composter", desc = "") + @ConfigEditorAccordion(id = 17) + public boolean composter = false; + + @Expose + @ConfigOption( + name = "Composter Overlay", + desc = "Show organic matter, fuel, and profit prices while inside the Composter Inventory." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterOverlay = true; + + @Expose + @ConfigOption(name = "Overlay Price", desc = "Toggle for bazaar 'buy order' vs 'instant buy' price in composter overlay.") + @ConfigEditorDropdown(values = {"Instant Buy", "Buy Order"}) + @ConfigAccordionId(id = 17) + public int composterOverlayPriceType = 0; + + @Expose + public Position composterOverlayOrganicMatterPos = new Position(140, 152, false, true); + + @Expose + public Position composterOverlayFuelExtrasPos = new Position(-320, 152, false, true); + + @Expose + @ConfigOption( + name = "Display Element", + desc = "Displays the compost data from the tab list as gui element." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterDisplayEnabled = true; + + @Expose + @ConfigOption( + name = "Outside Garden", + desc = "Show Time till composter is empty outside garden" + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterDisplayOutsideGarden = false; + + @Expose + @ConfigOption( + name = "Composter warning", + desc = "Warn when the composter gets close to empty, even outside garden." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterWarnAlmostClose = false; + + @Expose + @ConfigOption( + name = "Upgrade Price", + desc = "Show the price for the composter upgrade in the lore." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterUpgradePrice = true; + + @Expose + @ConfigOption( + name = "Highlight Upgrade", + desc = "Highlight Upgrades that can be bought right now." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterHighLightUpgrade = true; + + @Expose + @ConfigOption( + name = "Inventory Numbers", + desc = "Show the amount of Organic Matter, Fuel and Composts Available while inside the composter inventory." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 17) + public boolean composterInventoryNumbers = true; + + @Expose + @ConfigOption(name = "Notification When Low Composter", desc = "") + @ConfigAccordionId(id = 17) + @ConfigEditorAccordion(id = 21) + public boolean composterNotifyLow = false; + + @Expose + @ConfigOption(name = "Enable", desc = "Show a notification when organic matter or fuel runs low in your composter.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 21) + public boolean composterNotifyLowEnabled = true; + + @Expose + @ConfigOption(name = "Show Title", desc = "Send a title to notify.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 21) + public boolean composterNotifyLowTitle = false; + + @Expose + @ConfigOption(name = "Min Organic Matter", desc = "Warn when Organic Matter is below this value.") + @ConfigEditorSlider( + minValue = 1_000, + maxValue = 80_000, + minStep = 1 + ) + @ConfigAccordionId(id = 21) + public int composterNotifyLowOrganicMatter = 20_000; + + @Expose + @ConfigOption(name = "Min Fuel Cap", desc = "Warn when Fuel is below this value.") + @ConfigEditorSlider( + minValue = 500, + maxValue = 40_000, + minStep = 1 + ) + @ConfigAccordionId(id = 21) + public int composterNotifyLowFuel = 10_000; + + @Expose + public Position composterDisplayPos = new Position(-390, 10, false, true); + + @Expose + public Position composterOutsideGardenPos = new Position(-363, 13, false, true); + + @Expose + @ConfigOption(name = "Farming Fortune Display", desc = "") + @ConfigEditorAccordion(id = 22) + public boolean farmingFortune = false; + + @Expose + @ConfigOption( + name = "FF Display", + desc = "Displays the true farming fortune for the current crop, including all crop-specific and hidden bonuses." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 22) + public boolean farmingFortuneDisplay = true; + + @Expose + @ConfigOption( + name = "Show As Drop Multiplier", + desc = "Adds 100 to the displayed farming fortune so that it represents a drop multiplier rather than" + + " the chance for bonus drops. " + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 22) + public boolean farmingFortuneDropMultiplier = true; + + @ConfigOption(name = "Farming Fortune Guide", desc = "Opens a guide that breaks down your farming fortune.\n§eCommand: /ff") + @ConfigEditorButton(buttonText = "Open") + public Runnable positions = Commands::openFortuneGuide; + + @Expose + public Position farmingFortunePos = new Position(5, -180, false, true); + + @Expose + @ConfigOption(name = "Tooltip Tweaks", desc = "") + @ConfigEditorAccordion(id = 20) + public boolean tooltipTweaks = false; + + @Expose + @ConfigOption( + name = "Compact Descriptions", + desc = "Hides redundant parts of reforge descriptions, generic counter description, and Farmhand perk explanation." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 20) + public boolean compactToolTooltips = false; + + @Expose + @ConfigOption( + name = "Breakdown Hotkey", + desc = "When the keybind is pressed, show a breakdown of all fortune sources on a tool." + ) + @ConfigEditorKeybind(defaultKey = Keyboard.KEY_LSHIFT) + @ConfigAccordionId(id = 20) + public int fortuneTooltipKeybind = Keyboard.KEY_LSHIFT; + + @Expose + @ConfigOption( + name = "Tooltip Format", + desc = "Show crop-specific farming fortune in tooltip.\n" + + "§fShow: §7Crop-specific fortune indicated as §6[+196]\n" + + "§fReplace: §7Edits the total fortune to include crop-specific fortune." + ) + @ConfigEditorDropdown(values = {"Default", "Show", "Replace"}) + @ConfigAccordionId(id = 20) + public int cropTooltipFortune = 1; + + @Expose + @ConfigOption(name = "Yaw and Pitch", desc = "") + @Accordion + public YawPitchDisplay yawPitchDisplay = new YawPitchDisplay(); + + public static class YawPitchDisplay { + + @Expose + @ConfigOption(name = "Enable", desc = "Displays yaw and pitch while holding a farming tool. Automatically fades out if there is no movement.") + @ConfigEditorBoolean + public boolean enabled = false; + + @Expose + @ConfigOption(name = "Yaw Precision", desc = "Yaw precision up to specified decimal.") + @ConfigEditorSlider( + minValue = 1, + maxValue = 10, + minStep = 1 + ) + public int yawPrecision = 4; + + @Expose + @ConfigOption(name = "Pitch Precision", desc = "Pitch precision up to specified decimal.") + @ConfigEditorSlider( + minValue = 1, + maxValue = 10, + minStep = 1 + ) + public int pitchPrecision = 4; + + @Expose + @ConfigOption(name = "Display Timeout", desc = "Duration in seconds for which the overlay is being displayed after moving.") + @ConfigEditorSlider( + minValue = 1, + maxValue = 20, + minStep = 1 + ) + public int timeout = 5; + + @Expose + @ConfigOption(name = "Show Without Tool", desc = "Does not require you to hold a tool for the overlay to show.") + @ConfigEditorBoolean + public boolean showWithoutTool = false; + + @Expose + @ConfigOption(name = "Show Outside Garden", desc = "The overlay will work outside of the garden.") + @ConfigEditorBoolean + public boolean showEverywhere = false; + + @Expose + @ConfigOption(name = "Ignore Timeout", desc = "Ignore the timeout after not moving mouse.") + @ConfigEditorBoolean + public boolean showAlways = false; + + @Expose + public Position pos = new Position(445, 225, false, true); + @Expose + public Position posOutside = new Position(445, 225, false, true); + } + + @Expose + @ConfigOption(name = "Crop Start Location", desc = "") + @Accordion + public CropStartLocation cropStartLocation = new CropStartLocation(); + + public static class CropStartLocation { + + @Expose + @ConfigOption(name = "Enable", desc = "Show the start waypoint for your farm with the currently holding tool.") + @ConfigEditorBoolean + public boolean enabled = false; + + } + + @Expose + @ConfigOption(name = "Garden Plot Icon", desc = "") + @Accordion + public PlotIcon plotIcon = new PlotIcon(); + + public static class PlotIcon { + @Expose + @ConfigOption(name = "Enable", desc = "Enable icon replacement in the Configure Plots menu.") + @ConfigEditorBoolean + public boolean enabled = true; + + @ConfigOption(name = "Hard Reset", desc = "Reset every slot to it's original item.") + @ConfigEditorButton(buttonText = "Reset") + public Runnable hardReset = () -> { + GardenPlotIcon.INSTANCE.setHardReset(true); + LorenzUtils.INSTANCE.sendCommandToServer("desk"); + }; + } + + @Expose + @ConfigOption(name = "Plot Price", desc = "Show the price of the plot in coins when inside the Configure Plots inventory.") + @ConfigEditorBoolean + 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 + public boolean deskInSkyBlockMenu = true; + + + @Expose + @ConfigOption(name = "Fungi Cutter Warning", desc = "Warn when breaking mushroom with the wrong Fungi Cutter mode.") + @ConfigEditorBoolean + public boolean fungiCutterWarn = true; + + @Expose + @ConfigOption(name = "Burrowing Spores", desc = "Show a notification when a Burrowing Spores spawns during farming mushrooms.") + @ConfigEditorBoolean + public boolean burrowingSporesNotification = true; + + @Expose + @ConfigOption(name = "Wild Strawberry", desc = "Show a notification when a Wild Strawberry Dye drops during farming.") + @ConfigEditorBoolean + public boolean wildStrawberryDyeNotification = true; + + @Expose + @ConfigOption( + name = "FF for Contest", + desc = "Show the minimum needed Farming Fortune for reaching each medal in Jacob's Farming Contest inventory." + ) + @ConfigEditorBoolean + public boolean farmingFortuneForContest = true; + + @Expose + public Position farmingFortuneForContestPos = new Position(180, 156, false, true); + + @Expose + @ConfigOption( + name = "Contest Time Needed", + desc = "Show the time and missing FF for every crop inside Jacob's Farming Contest inventory." + ) + @ConfigEditorBoolean + public boolean jacobContextTimes = true; + + @Expose + public Position jacobContextTimesPos = new Position(-359, 149, false, true); + + @Expose + @ConfigOption( + name = "Contest Summary", + desc = "Show the average Blocks Per Second and blocks clicked at the end of a Jacob Farming Contest in chat." + ) + @ConfigEditorBoolean + public boolean jacobContestSummary = true; + + @Expose + @ConfigOption(name = "Always Finnegan", desc = "Forcefully set the Finnegan Farming Simulator perk to be active. This is useful if the auto mayor detection fails.") + @ConfigEditorBoolean + public boolean forcefullyEnabledAlwaysFinnegan = false; + + @Expose + public Position cropSpeedMeterPos = new Position(278, -236, false, true); +} \ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java b/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java deleted file mode 100644 index ffa412aff..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Inventory.java +++ /dev/null @@ -1,255 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.*; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class Inventory { - - @ConfigOption(name = "Not Clickable Items", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean hideNotClickable = false; - - @Expose - @ConfigOption(name = "Enabled", desc = "Hide items that are not clickable in the current inventory: ah, bz, accessory bag, etc.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean hideNotClickableItems = false; - - @Expose - @ConfigOption(name = "Block Clicks", desc = "Block the clicks on these items.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean hideNotClickableItemsBlockClicks = true; - - @Expose - @ConfigOption( - name = "Opacity", - desc = "How strong should the items be grayed out?" - ) - @ConfigEditorSlider( - minValue = 0, - maxValue = 255, - minStep = 5 - ) - @ConfigAccordionId(id = 0) - public int hideNotClickableOpacity = 180; - - @Expose - @ConfigOption(name = "Green line", desc = "Adds green line around items that are clickable.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean hideNotClickableItemsGreenLine = true; - - @ConfigOption(name = "RNG Meter", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean rngMeter = false; - - @Expose - @ConfigOption(name = "Floor Names", desc = "Show the floor names in the catacombs rng meter inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - 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) - 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) - public boolean rngMeterSelectedDrop = false; - - @ConfigOption(name = "Stats Tuning", desc = "") - @ConfigEditorAccordion(id = 2) - public boolean statsTuning = false; - - @Expose - @ConfigOption(name = "Selected Stats", desc = "Show the tuning stats in the Thaumaturgy inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - 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) - public boolean statsTuningPoints = true; - - @Expose - @ConfigOption(name = "Selected Template", desc = "Highlight the selected template in the stats tuning inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean statsTuningSelectedTemplate = true; - - @Expose - @ConfigOption(name = "Template Stats", desc = "Show the type of stats for the tuning point templates.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 2) - public boolean statsTuningTemplateStats = true; - - @Expose - @ConfigOption(name = "Jacob Farming Contest", desc = "") - @ConfigEditorAccordion(id = 3) - public boolean jacobFarmingContest = false; - - @Expose - @ConfigOption(name = "Unclaimed Rewards", desc = "Highlight contests with unclaimed rewards in the jacob inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean jacobFarmingContestHighlightRewards = true; - - @Expose - @ConfigOption(name = "Duplicate Hider", desc = "Hides duplicate farming contests in the inventory.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean jacobFarmingContestHideDuplicates = true; - - @Expose - @ConfigOption(name = "Contest Time", desc = "Adds the real time format to the contest description.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 3) - public boolean jacobFarmingContestRealTime = true; - - @Expose - @ConfigOption(name = "Sack Items Display", desc = "") - @Accordion - public SackDisplay sackDisplay = new SackDisplay(); - - public static class SackDisplay { - - @Expose - @ConfigOption(name = "Enabled", desc = "Show contained items inside a sack inventory.") - @ConfigEditorBoolean - public boolean enabled = true; - - @Expose - @ConfigOption(name = "Number Format", desc = "Either show Default, Formatted or Unformatted numbers.\n" + - "§eDefault: §72,240/2.2k\n" + - "§eFormatted: §72.2k/2.2k\n" + - "§eUnformatted: §72,240/2,200") - @ConfigEditorDropdown(values = {"Default", "Formatted", "Unformatted"}) - public int numberFormat = 1; - - @Expose - @ConfigOption(name = "Extra space", desc = "Space between each line of text.") - @ConfigEditorSlider( - minValue = 0, - maxValue = 10, - minStep = 1) - public int extraSpace = 1; - - @Expose - @ConfigOption(name = "Sorting Type", desc = "Sorting type of items in sack.") - @ConfigEditorDropdown(values = {"Descending (Stored)", "Ascending (Stored)", "Descending (Price)", "Ascending (Price)"}) - public int sortingType = 0; - - @Expose - @ConfigOption(name = "Item To Show", desc = "Choose how many items are displayed. (Some sacks have too many items to fit\n" + - "in larger gui scale, like the nether sack.)") - @ConfigEditorSlider( - minValue = 0, - maxValue = 45, - minStep = 1 - ) - public int itemToShow = 15; - - @Expose - @ConfigOption(name = "Show Empty Item", desc = "Show empty item quantity in the display.") - @ConfigEditorBoolean - public boolean showEmpty = true; - - @Expose - @ConfigOption(name = "Show Price", desc = "Show price for each item in sack.") - @ConfigEditorBoolean - public boolean showPrice = true; - - @Expose - @ConfigOption(name = "Price Format", desc = "Format of the price displayed.\n" + - "§eFormatted: §7(12k)\n" + - "§eUnformatted: §7(12,421)") - @ConfigEditorDropdown(values = {"Formatted", "Unformatted"}) - public int priceFormat = 0; - - @Expose - @ConfigOption(name = "Show Price From", desc = "Show price from Bazaar or NPC.") - @ConfigEditorDropdown(values = {"Bazaar", "NPC"}) - public int priceFrom = 0; - - @Expose - @ConfigOption(name = "Show in Runes Sack", desc = "Show contained items inside a runes sack.") - @ConfigEditorBoolean - public boolean showRunes = false; - - @Expose - public Position position = new Position(144, 139, false, true); - } - - @Expose - @ConfigOption( - name = "Item number", - desc = "Showing the item number as a stack size for these items." - ) - @ConfigEditorDraggableList( - exampleText = { - "§bMaster Star Tier", - "§bMaster Skull Tier", - "§bDungeon Head Floor Number", - "§bNew Year Cake", - "§bPet Level", - "§bMinion Tier", - "§bCrimson Armor", - "§bWishing Compass", - "§bKuudra Key", - "§bSkill Level", - "§bCollection Level", - "§bRancher's Boots speed", - "§bLarva Hook", - "§bDungeon Potion Level" - } - ) - public List itemNumberAsStackSize = new ArrayList<>(Arrays.asList(3, 9, 11, 12)); - - @Expose - @ConfigOption(name = "Sack Name", desc = "Show an abbreviation of the sack name.") - @ConfigEditorBoolean - 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 - public boolean anvilCombineHelper = false; - - @Expose - @ConfigOption(name = "Item Stars", - desc = "Show a compact star count in the item name for all items.") - @ConfigEditorBoolean - public boolean itemStars = false; - - @Expose - @ConfigOption(name = "Highlight Depleted Bonzo's Masks", - desc = "Highlights used Bonzo's Masks with a background.") - @ConfigEditorBoolean - public boolean highlightDepletedBonzosMasks = false; - - @Expose - @ConfigOption(name = "Missing Tasks", - desc = "Highlight missing tasks in the SkyBlock level guide inventory.") - @ConfigEditorBoolean - 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 - public boolean highlightAuctions = true; - - -} \ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java new file mode 100644 index 000000000..883eb3a27 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/InventoryConfig.java @@ -0,0 +1,262 @@ +package at.hannibal2.skyhanni.config.features; + +import at.hannibal2.skyhanni.config.core.config.Position; +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.Accordion; +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.ConfigEditorDraggableList; +import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown; +import io.github.moulberry.moulconfig.annotations.ConfigEditorSlider; +import io.github.moulberry.moulconfig.annotations.ConfigOption; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class InventoryConfig { + + @ConfigOption(name = "Not Clickable Items", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean hideNotClickable = false; + + @Expose + @ConfigOption(name = "Enabled", desc = "Hide items that are not clickable in the current inventory: ah, bz, accessory bag, etc.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideNotClickableItems = false; + + @Expose + @ConfigOption(name = "Block Clicks", desc = "Block the clicks on these items.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideNotClickableItemsBlockClicks = true; + + @Expose + @ConfigOption( + name = "Opacity", + desc = "How strong should the items be grayed out?" + ) + @ConfigEditorSlider( + minValue = 0, + maxValue = 255, + minStep = 5 + ) + @ConfigAccordionId(id = 0) + public int hideNotClickableOpacity = 180; + + @Expose + @ConfigOption(name = "Green line", desc = "Adds green line around items that are clickable.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean hideNotClickableItemsGreenLine = true; + + @ConfigOption(name = "RNG Meter", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean rngMeter = false; + + @Expose + @ConfigOption(name = "Floor Names", desc = "Show the floor names in the catacombs rng meter inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + 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) + 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) + public boolean rngMeterSelectedDrop = false; + + @ConfigOption(name = "Stats Tuning", desc = "") + @ConfigEditorAccordion(id = 2) + public boolean statsTuning = false; + + @Expose + @ConfigOption(name = "Selected Stats", desc = "Show the tuning stats in the Thaumaturgy inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + 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) + public boolean statsTuningPoints = true; + + @Expose + @ConfigOption(name = "Selected Template", desc = "Highlight the selected template in the stats tuning inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean statsTuningSelectedTemplate = true; + + @Expose + @ConfigOption(name = "Template Stats", desc = "Show the type of stats for the tuning point templates.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 2) + public boolean statsTuningTemplateStats = true; + + @Expose + @ConfigOption(name = "Jacob Farming Contest", desc = "") + @ConfigEditorAccordion(id = 3) + public boolean jacobFarmingContest = false; + + @Expose + @ConfigOption(name = "Unclaimed Rewards", desc = "Highlight contests with unclaimed rewards in the jacob inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean jacobFarmingContestHighlightRewards = true; + + @Expose + @ConfigOption(name = "Duplicate Hider", desc = "Hides duplicate farming contests in the inventory.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean jacobFarmingContestHideDuplicates = true; + + @Expose + @ConfigOption(name = "Contest Time", desc = "Adds the real time format to the contest description.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 3) + public boolean jacobFarmingContestRealTime = true; + + @Expose + @ConfigOption(name = "Sack Items Display", desc = "") + @Accordion + public SackDisplay sackDisplay = new SackDisplay(); + + public static class SackDisplay { + + @Expose + @ConfigOption(name = "Enabled", desc = "Show contained items inside a sack inventory.") + @ConfigEditorBoolean + public boolean enabled = true; + + @Expose + @ConfigOption(name = "Number Format", desc = "Either show Default, Formatted or Unformatted numbers.\n" + + "§eDefault: §72,240/2.2k\n" + + "§eFormatted: §72.2k/2.2k\n" + + "§eUnformatted: §72,240/2,200") + @ConfigEditorDropdown(values = {"Default", "Formatted", "Unformatted"}) + public int numberFormat = 1; + + @Expose + @ConfigOption(name = "Extra space", desc = "Space between each line of text.") + @ConfigEditorSlider( + minValue = 0, + maxValue = 10, + minStep = 1) + public int extraSpace = 1; + + @Expose + @ConfigOption(name = "Sorting Type", desc = "Sorting type of items in sack.") + @ConfigEditorDropdown(values = {"Descending (Stored)", "Ascending (Stored)", "Descending (Price)", "Ascending (Price)"}) + public int sortingType = 0; + + @Expose + @ConfigOption(name = "Item To Show", desc = "Choose how many items are displayed. (Some sacks have too many items to fit\n" + + "in larger gui scale, like the nether sack.)") + @ConfigEditorSlider( + minValue = 0, + maxValue = 45, + minStep = 1 + ) + public int itemToShow = 15; + + @Expose + @ConfigOption(name = "Show Empty Item", desc = "Show empty item quantity in the display.") + @ConfigEditorBoolean + public boolean showEmpty = true; + + @Expose + @ConfigOption(name = "Show Price", desc = "Show price for each item in sack.") + @ConfigEditorBoolean + public boolean showPrice = true; + + @Expose + @ConfigOption(name = "Price Format", desc = "Format of the price displayed.\n" + + "§eFormatted: §7(12k)\n" + + "§eUnformatted: §7(12,421)") + @ConfigEditorDropdown(values = {"Formatted", "Unformatted"}) + public int priceFormat = 0; + + @Expose + @ConfigOption(name = "Show Price From", desc = "Show price from Bazaar or NPC.") + @ConfigEditorDropdown(values = {"Bazaar", "NPC"}) + public int priceFrom = 0; + + @Expose + @ConfigOption(name = "Show in Runes Sack", desc = "Show contained items inside a runes sack.") + @ConfigEditorBoolean + public boolean showRunes = false; + + @Expose + public Position position = new Position(144, 139, false, true); + } + + @Expose + @ConfigOption( + name = "Item number", + desc = "Showing the item number as a stack size for these items." + ) + @ConfigEditorDraggableList( + exampleText = { + "§bMaster Star Tier", + "§bMaster Skull Tier", + "§bDungeon Head Floor Number", + "§bNew Year Cake", + "§bPet Level", + "§bMinion Tier", + "§bCrimson Armor", + "§bWishing Compass", + "§bKuudra Key", + "§bSkill Level", + "§bCollection Level", + "§bRancher's Boots speed", + "§bLarva Hook", + "§bDungeon Potion Level" + } + ) + public List itemNumberAsStackSize = new ArrayList<>(Arrays.asList(3, 9, 11, 12)); + + @Expose + @ConfigOption(name = "Sack Name", desc = "Show an abbreviation of the sack name.") + @ConfigEditorBoolean + 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 + public boolean anvilCombineHelper = false; + + @Expose + @ConfigOption(name = "Item Stars", + desc = "Show a compact star count in the item name for all items.") + @ConfigEditorBoolean + public boolean itemStars = false; + + @Expose + @ConfigOption(name = "Highlight Depleted Bonzo's Masks", + desc = "Highlights used Bonzo's Masks with a background.") + @ConfigEditorBoolean + public boolean highlightDepletedBonzosMasks = false; + + @Expose + @ConfigOption(name = "Missing Tasks", + desc = "Highlight missing tasks in the SkyBlock level guide inventory.") + @ConfigEditorBoolean + 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 + public boolean highlightAuctions = true; + + +} \ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilities.java b/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilities.java deleted file mode 100644 index 0955081dd..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilities.java +++ /dev/null @@ -1,37 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.*; - -public class ItemAbilities { - - @Expose - @ConfigOption(name = "Ability Cooldown", desc = "Show the cooldown of item abilities.") - @ConfigEditorBoolean - public boolean itemAbilityCooldown = false; - - @Expose - @ConfigOption(name = "Ability Cooldown Background", desc = "Show the cooldown color of item abilities in the background.") - @ConfigEditorBoolean - public boolean itemAbilityCooldownBackground = false; - - @Expose - @ConfigOption(name = "Fire Veil", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean fireVeilWand = false; - - @Expose - @ConfigOption(name = "Fire Veil Design", desc = "Changes the flame particles of the Fire Veil Wand ability.") - @ConfigEditorDropdown(values = {"Particles", "Line", "Off"}) - @ConfigAccordionId(id = 1) - public int fireVeilWandDisplay = 0; - - @Expose - @ConfigOption( - name = "Line Color", - desc = "Changes the color of the Fire Veil Wand line." - ) - @ConfigEditorColour - @ConfigAccordionId(id = 1) - public String fireVeilWandDisplayColor = "0:245:255:85:85"; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java new file mode 100644 index 000000000..e4fc4f186 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/ItemAbilityConfig.java @@ -0,0 +1,42 @@ +package at.hannibal2.skyhanni.config.features; + +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; + +public class ItemAbilityConfig { + + @Expose + @ConfigOption(name = "Ability Cooldown", desc = "Show the cooldown of item abilities.") + @ConfigEditorBoolean + public boolean itemAbilityCooldown = false; + + @Expose + @ConfigOption(name = "Ability Cooldown Background", desc = "Show the cooldown color of item abilities in the background.") + @ConfigEditorBoolean + public boolean itemAbilityCooldownBackground = false; + + @Expose + @ConfigOption(name = "Fire Veil", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean fireVeilWand = false; + + @Expose + @ConfigOption(name = "Fire Veil Design", desc = "Changes the flame particles of the Fire Veil Wand ability.") + @ConfigEditorDropdown(values = {"Particles", "Line", "Off"}) + @ConfigAccordionId(id = 1) + public int fireVeilWandDisplay = 0; + + @Expose + @ConfigOption( + name = "Line Color", + desc = "Changes the color of the Fire Veil Wand line." + ) + @ConfigEditorColour + @ConfigAccordionId(id = 1) + public String fireVeilWandDisplayColor = "0:245:255:85:85"; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayerConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayerConfig.java new file mode 100644 index 000000000..e199f7c55 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayerConfig.java @@ -0,0 +1,24 @@ +package at.hannibal2.skyhanni.config.features; + +import com.google.gson.annotations.Expose; +import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; +import io.github.moulberry.moulconfig.annotations.ConfigOption; +import io.github.moulberry.moulconfig.observer.Property; + +public class MarkedPlayerConfig { + + @Expose + @ConfigOption(name = "Highlight in World", desc = "Highlight marked players in the world.") + @ConfigEditorBoolean + public boolean highlightInWorld = true; + + @Expose + @ConfigOption(name = "Highlight in Chat", desc = "Highlight marked player names in chat.") + @ConfigEditorBoolean + public boolean highlightInChat = true; + + @Expose + @ConfigOption(name = "Mark Own Name", desc = "Mark own player name.") + @ConfigEditorBoolean() + public Property markOwnName = Property.of(false); +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayers.java b/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayers.java deleted file mode 100644 index 6cdb94590..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/MarkedPlayers.java +++ /dev/null @@ -1,24 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean; -import io.github.moulberry.moulconfig.annotations.ConfigOption; -import io.github.moulberry.moulconfig.observer.Property; - -public class MarkedPlayers { - - @Expose - @ConfigOption(name = "Highlight in World", desc = "Highlight marked players in the world.") - @ConfigEditorBoolean - public boolean highlightInWorld = true; - - @Expose - @ConfigOption(name = "Highlight in Chat", desc = "Highlight marked player names in chat.") - @ConfigEditorBoolean - public boolean highlightInChat = true; - - @Expose - @ConfigOption(name = "Mark Own Name", desc = "Mark own player name.") - @ConfigEditorBoolean() - public Property markOwnName = Property.of(false); -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Minions.java b/src/main/java/at/hannibal2/skyhanni/config/features/Minions.java deleted file mode 100644 index 5d6f3b1bd..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Minions.java +++ /dev/null @@ -1,86 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -import at.hannibal2.skyhanni.config.core.config.Position; -import com.google.gson.annotations.Expose; -import io.github.moulberry.moulconfig.annotations.*; - -public class Minions { - - @Expose - @ConfigOption(name = "Name Display", desc = "Show the minion name and tier over the minion.") - @ConfigEditorBoolean - public boolean nameDisplay = true; - - @Expose - @ConfigOption(name = "Only Tier", desc = "Show only the tier number over the minion. (Useful for bingo)") - @ConfigEditorBoolean - public boolean nameOnlyTier = false; - - @ConfigOption(name = "Last Clicked", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean lastClickedMinion = false; - - @Expose - @ConfigOption(name = "Last Minion Display", desc = "Marks the location of the last clicked minion, even through walls.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean lastClickedMinionDisplay = false; - - @Expose - @ConfigOption( - name = "Last Minion Color", - desc = "The color in which the last minion should be displayed." - ) - @ConfigEditorColour - @ConfigAccordionId(id = 0) - public String lastOpenedMinionColor = "0:245:85:255:85"; - - @Expose - @ConfigOption( - name = "Last Minion Time", - desc = "Time in seconds how long the last minion should be displayed." - ) - @ConfigEditorSlider( - minValue = 3, - maxValue = 120, - minStep = 1 - ) - @ConfigAccordionId(id = 0) - public int lastOpenedMinionTime = 20; - - @ConfigOption(name = "Emptied Time", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean emptiedTime = false; - - @Expose - @ConfigOption(name = "Emptied Time Display", desc = "Show the time when the hopper in the minion was last emptied.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - public boolean emptiedTimeDisplay = false; - - @Expose - @ConfigOption( - name = "Distance", - desc = "Maximum distance to display minion data." - ) - @ConfigEditorSlider( - minValue = 3, - maxValue = 30, - minStep = 1 - ) - @ConfigAccordionId(id = 1) - public int distance = 10; - - @Expose - @ConfigOption(name = "Hopper Profit Display", desc = "Use the hopper's held coins and the last empty time to calculate the coins per day.") - @ConfigEditorBoolean - public boolean hopperProfitDisplay = true; - - @Expose - public Position hopperProfitPos = new Position(360, 90, false, true); - - @Expose - @ConfigOption(name = "Hide Mob Nametag", desc = "Hiding the nametag of mobs close to minions.") - @ConfigEditorBoolean - public boolean hideMobsNametagNearby = false; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java new file mode 100644 index 000000000..17abf034a --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java @@ -0,0 +1,91 @@ +package at.hannibal2.skyhanni.config.features; + +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; + +public class MinionsConfig { + + @Expose + @ConfigOption(name = "Name Display", desc = "Show the minion name and tier over the minion.") + @ConfigEditorBoolean + public boolean nameDisplay = true; + + @Expose + @ConfigOption(name = "Only Tier", desc = "Show only the tier number over the minion. (Useful for bingo)") + @ConfigEditorBoolean + public boolean nameOnlyTier = false; + + @ConfigOption(name = "Last Clicked", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean lastClickedMinion = false; + + @Expose + @ConfigOption(name = "Last Minion Display", desc = "Marks the location of the last clicked minion, even through walls.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean lastClickedMinionDisplay = false; + + @Expose + @ConfigOption( + name = "Last Minion Color", + desc = "The color in which the last minion should be displayed." + ) + @ConfigEditorColour + @ConfigAccordionId(id = 0) + public String lastOpenedMinionColor = "0:245:85:255:85"; + + @Expose + @ConfigOption( + name = "Last Minion Time", + desc = "Time in seconds how long the last minion should be displayed." + ) + @ConfigEditorSlider( + minValue = 3, + maxValue = 120, + minStep = 1 + ) + @ConfigAccordionId(id = 0) + public int lastOpenedMinionTime = 20; + + @ConfigOption(name = "Emptied Time", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean emptiedTime = false; + + @Expose + @ConfigOption(name = "Emptied Time Display", desc = "Show the time when the hopper in the minion was last emptied.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean emptiedTimeDisplay = false; + + @Expose + @ConfigOption( + name = "Distance", + desc = "Maximum distance to display minion data." + ) + @ConfigEditorSlider( + minValue = 3, + maxValue = 30, + minStep = 1 + ) + @ConfigAccordionId(id = 1) + public int distance = 10; + + @Expose + @ConfigOption(name = "Hopper Profit Display", desc = "Use the hopper's held coins and the last empty time to calculate the coins per day.") + @ConfigEditorBoolean + public boolean hopperProfitDisplay = true; + + @Expose + public Position hopperProfitPos = new Position(360, 90, false, true); + + @Expose + @ConfigOption(name = "Hide Mob Nametag", desc = "Hiding the nametag of mobs close to minions.") + @ConfigEditorBoolean + public boolean hideMobsNametagNearby = false; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Mobs.java b/src/main/java/at/hannibal2/skyhanni/config/features/Mobs.java deleted file mode 100644 index c051bf0dc..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Mobs.java +++ /dev/null @@ -1,85 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -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.ConfigOption; - -public class Mobs { - - @Expose - @ConfigOption(name = "Highlighters", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean highlighters = false; - - @Expose - @ConfigOption(name = "Area Boss", desc = "Highlight Golden Ghoul, Old Wolf, Voidling Extremist and Millenia-Aged Blaze.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - 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) - public boolean arachneKeeperHighlight = true; - - @Expose - @ConfigOption(name = "Corleone", desc = "Highlight Boss Corleone in the Crystal Hollows.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean corleoneHighlighter = true; - - @Expose - @ConfigOption(name = "Zealot", desc = "Highlight Zealots and Bruisers in The End.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean zealotBruiserHighlighter = false; - - @Expose - @ConfigOption( - name = "Special Zealots", - desc = "Highlight Special Zealots (the ones that drop summoning eyes) in the End." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean specialZealotHighlighter = true; - - @Expose - @ConfigOption(name = "Corrupted Mob", desc = "Highlight corrupted mobs in purple color.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean corruptedMobHighlight = false; - - @Expose - @ConfigOption(name = "Arachne Boss", desc = "Highlight the arachne boss in red and mini bosses and orange.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean arachneBossHighlighter = true; - - @Expose - @ConfigOption(name = "Respawn Timers", desc = "") - @ConfigEditorAccordion(id = 1) - public boolean timers = false; - - @Expose - @ConfigOption( - name = "Area Boss", - desc = "Show a timer when Golden Ghoul, Old Wolf, Voidling Extremist or Millenia-Aged Blaze respawns. " + - "§cSometimes it takes 20-30 seconds to calibrate correctly." - ) - @ConfigEditorBoolean - @ConfigAccordionId(id = 1) - public boolean areaBossRespawnTimer = false; - - @Expose - @ConfigOption(name = "Enderman TP Hider", desc = "Stops the Enderman Teleportation animation.") - @ConfigEditorBoolean - public boolean endermanTeleportationHider = true; - - @Expose - @ConfigOption(name = "Arachne Minis Hider", desc = "Hides the nametag above arachne minis.") - @ConfigEditorBoolean - public boolean hideNameTagArachneMinis = true; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java new file mode 100644 index 000000000..652ab67e2 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/MobsConfig.java @@ -0,0 +1,85 @@ +package at.hannibal2.skyhanni.config.features; + +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.ConfigOption; + +public class MobsConfig { + + @Expose + @ConfigOption(name = "Highlighters", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean highlighters = false; + + @Expose + @ConfigOption(name = "Area Boss", desc = "Highlight Golden Ghoul, Old Wolf, Voidling Extremist and Millenia-Aged Blaze.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + 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) + public boolean arachneKeeperHighlight = true; + + @Expose + @ConfigOption(name = "Corleone", desc = "Highlight Boss Corleone in the Crystal Hollows.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean corleoneHighlighter = true; + + @Expose + @ConfigOption(name = "Zealot", desc = "Highlight Zealots and Bruisers in The End.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean zealotBruiserHighlighter = false; + + @Expose + @ConfigOption( + name = "Special Zealots", + desc = "Highlight Special Zealots (the ones that drop summoning eyes) in the End." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean specialZealotHighlighter = true; + + @Expose + @ConfigOption(name = "Corrupted Mob", desc = "Highlight corrupted mobs in purple color.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean corruptedMobHighlight = false; + + @Expose + @ConfigOption(name = "Arachne Boss", desc = "Highlight the arachne boss in red and mini bosses and orange.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean arachneBossHighlighter = true; + + @Expose + @ConfigOption(name = "Respawn Timers", desc = "") + @ConfigEditorAccordion(id = 1) + public boolean timers = false; + + @Expose + @ConfigOption( + name = "Area Boss", + desc = "Show a timer when Golden Ghoul, Old Wolf, Voidling Extremist or Millenia-Aged Blaze respawns. " + + "§cSometimes it takes 20-30 seconds to calibrate correctly." + ) + @ConfigEditorBoolean + @ConfigAccordionId(id = 1) + public boolean areaBossRespawnTimer = false; + + @Expose + @ConfigOption(name = "Enderman TP Hider", desc = "Stops the Enderman Teleportation animation.") + @ConfigEditorBoolean + public boolean endermanTeleportationHider = true; + + @Expose + @ConfigOption(name = "Arachne Minis Hider", desc = "Hides the nametag above arachne minis.") + @ConfigEditorBoolean + public boolean hideNameTagArachneMinis = true; +} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/Summonings.java b/src/main/java/at/hannibal2/skyhanni/config/features/Summonings.java deleted file mode 100644 index f9c121fb7..000000000 --- a/src/main/java/at/hannibal2/skyhanni/config/features/Summonings.java +++ /dev/null @@ -1,43 +0,0 @@ -package at.hannibal2.skyhanni.config.features; - -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.ConfigOption; - -public class Summonings { - - @Expose - @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 - public boolean summoningSoulDisplay = false; - - @Expose - @ConfigOption(name = "Summoning Mob", desc = "") - @ConfigEditorAccordion(id = 0) - public boolean summoningMob = false; - - @Expose - @ConfigOption(name = "Summoning Mob Display", desc = "Show the health of your spawned summons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean summoningMobDisplay = false; - - @Expose - public Position summoningMobDisplayPos = new Position(10, 10, false, true); - - @Expose - @ConfigOption(name = "Summoning Mob Nametag", desc = "Hide the nametag of your spawned summons.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean summoningMobHideNametag = false; - - @Expose - @ConfigOption(name = "Summoning Mob Color", desc = "Marks own summons green.") - @ConfigEditorBoolean - @ConfigAccordionId(id = 0) - public boolean summoningMobColored = false; -} diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java new file mode 100644 index 000000000..20e8aaa45 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/config/features/SummoningsConfig.java @@ -0,0 +1,43 @@ +package at.hannibal2.skyhanni.config.features; + +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.ConfigOption; + +public class SummoningsConfig { + + @Expose + @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 + public boolean summoningSoulDisplay = false; + + @Expose + @ConfigOption(name = "Summoning Mob", desc = "") + @ConfigEditorAccordion(id = 0) + public boolean summoningMob = false; + + @Expose + @ConfigOption(name = "Summoning Mob Display", desc = "Show the health of your spawned summons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean summoningMobDisplay = false; + + @Expose + public Position summoningMobDisplayPos = new Position(10, 10, false, true); + + @Expose + @ConfigOption(name = "Summoning Mob Nametag", desc = "Hide the nametag of your spawned summons.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean summoningMobHideNametag = false; + + @Expose + @ConfigOption(name = "Summoning Mob Color", desc = "Marks own summons green.") + @ConfigEditorBoolean + @ConfigAccordionId(id = 0) + public boolean summoningMobColored = false; +} -- cgit