aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal002@users.noreply.github.com>2024-03-28 10:07:28 +0100
committerGitHub <noreply@github.com>2024-03-28 10:07:28 +0100
commit07a41cc61d1aa4373e925d240e067d720580b486 (patch)
tree185d8a6c4ccfe6e2811511f35c67d39aec129202 /src/main/java/at/hannibal2/skyhanni/config
parent0beb9e3b3132bcc14c99759628732625ee97d6a8 (diff)
downloadskyhanni-07a41cc61d1aa4373e925d240e067d720580b486.tar.gz
skyhanni-07a41cc61d1aa4373e925d240e067d720580b486.tar.bz2
skyhanni-07a41cc61d1aa4373e925d240e067d720580b486.zip
Improvement: Config Move (#1300)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/config')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/Features.java75
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/chroma/ChromaConfig.java12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/gui/GUIConfig.java39
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/AuctionHouseConfig.java5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java50
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java42
6 files changed, 115 insertions, 108 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/Features.java b/src/main/java/at/hannibal2/skyhanni/config/Features.java
index 2448b7ce9..5b44c1b12 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/Features.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/Features.java
@@ -3,9 +3,7 @@ package at.hannibal2.skyhanni.config;
import at.hannibal2.skyhanni.SkyHanniMod;
import at.hannibal2.skyhanni.config.features.About;
import at.hannibal2.skyhanni.config.features.chat.ChatConfig;
-import at.hannibal2.skyhanni.config.features.chroma.ChromaConfig;
import at.hannibal2.skyhanni.config.features.combat.CombatConfig;
-import at.hannibal2.skyhanni.config.features.commands.CommandsConfig;
import at.hannibal2.skyhanni.config.features.crimsonisle.CrimsonIsleConfig;
import at.hannibal2.skyhanni.config.features.dev.DevConfig;
import at.hannibal2.skyhanni.config.features.dungeon.DungeonConfig;
@@ -14,15 +12,11 @@ import at.hannibal2.skyhanni.config.features.fishing.FishingConfig;
import at.hannibal2.skyhanni.config.features.garden.GardenConfig;
import at.hannibal2.skyhanni.config.features.gui.GUIConfig;
import at.hannibal2.skyhanni.config.features.inventory.InventoryConfig;
-import at.hannibal2.skyhanni.config.features.itemability.ItemAbilityConfig;
-import at.hannibal2.skyhanni.config.features.markedplayer.MarkedPlayerConfig;
import at.hannibal2.skyhanni.config.features.mining.MiningConfig;
-import at.hannibal2.skyhanni.config.features.minion.MinionsConfig;
import at.hannibal2.skyhanni.config.features.misc.MiscConfig;
import at.hannibal2.skyhanni.config.features.rift.RiftConfig;
import at.hannibal2.skyhanni.config.features.skillprogress.SkillProgressConfig;
import at.hannibal2.skyhanni.config.features.slayer.SlayerConfig;
-import at.hannibal2.skyhanni.config.features.stranded.StrandedConfig;
import at.hannibal2.skyhanni.config.storage.Storage;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.Config;
@@ -69,6 +63,9 @@ public class Features extends Config {
* and Misc and Dev, which are to be at the bottom. Thanks!
*/
+
+ // Top
+
@Expose
@Category(name = "About", desc = "Information about SkyHanni and updates.")
public About about = new About();
@@ -77,82 +74,68 @@ public class Features extends Config {
@Category(name = "GUI", desc = "Change the locations of GUI elements (§e/sh gui§7).")
public GUIConfig gui = new GUIConfig();
- @Expose
- @Category(name = "Chat", desc = "Change how the chat looks.")
- public ChatConfig chat = new ChatConfig();
-
- @Expose
- @Category(name = "Chroma", desc = "Settings for Chroma text (Credit to SBA).")
- public ChromaConfig chroma = new ChromaConfig();
+ // Islands
@Expose
- @Category(name = "Combat", desc = "Everything combat and PvE related.")
- public CombatConfig combat = new CombatConfig();
-
- @Expose
- @Category(name = "Commands", desc = "Enable or disable commands.")
- public CommandsConfig commands = new CommandsConfig();
+ @Category(name = "Garden", desc = "Features for the Garden island.")
+ public GardenConfig garden = new GardenConfig();
@Expose
@Category(name = "Crimson Isle", desc = "Things to do on the Crimson Isle/Nether island.")
public CrimsonIsleConfig crimsonIsle = new CrimsonIsleConfig();
@Expose
- @Category(name = "Dungeon", desc = "Features that change the Dungeons experience in The Catacombs.")
- public DungeonConfig dungeon = new DungeonConfig();
+ @Category(name = "The Rift", desc = "Features for The Rift dimension.")
+ public RiftConfig rift = new RiftConfig();
- @Expose
- @Category(name = "Events", desc = "Stuff that is not always available.")
- public EventConfig event = new EventConfig();
+ // Skills
@Expose
@Category(name = "Fishing", desc = "Fishing stuff.")
public FishingConfig fishing = new FishingConfig();
@Expose
- @Category(name = "Garden", desc = "Features for the Garden island.")
- public GardenConfig garden = new GardenConfig();
+ @Category(name = "Mining", desc = "Features that help you break blocks.")
+ public MiningConfig mining = new MiningConfig();
- @Expose
- @Category(name = "Inventory", desc = "Change the behavior of items and the inventory.")
- public InventoryConfig inventory = new InventoryConfig();
+ // Combat like
@Expose
- @Category(name = "Item Abilities", desc = "Stuff about item abilities.")
- public ItemAbilityConfig itemAbilities = new ItemAbilityConfig();
+ @Category(name = "Combat", desc = "Everything combat and PvE related.")
+ public CombatConfig combat = new CombatConfig();
@Expose
- @Category(name = "Marked Players", desc = "Players that got marked with §e/shmarkplayer§7.")
- public MarkedPlayerConfig markedPlayers = new MarkedPlayerConfig();
+ @Category(name = "Slayer", desc = "Slayer features.")
+ public SlayerConfig slayer = new SlayerConfig();
@Expose
- @Category(name = "Minions", desc = "The minions on your private island.")
- public MinionsConfig minions = new MinionsConfig();
+ @Category(name = "Dungeon", desc = "Features that change the Dungeons experience in The Catacombs.")
+ public DungeonConfig dungeon = new DungeonConfig();
- @Expose
- @Category(name = "Mining", desc = "Features that help you break blocks.")
- public MiningConfig mining = new MiningConfig();
+ // Misc
@Expose
- @Category(name = "Skill Progress", desc = "Skill Progress related config options.")
- public SkillProgressConfig skillProgress = new SkillProgressConfig();
+ @Category(name = "Inventory", desc = "Change the behavior of items and the inventory.")
+ public InventoryConfig inventory = new InventoryConfig();
@Expose
- @Category(name = "Slayer", desc = "Slayer features.")
- public SlayerConfig slayer = new SlayerConfig();
+ @Category(name = "Events", desc = "Stuff that is not always available.")
+ public EventConfig event = new EventConfig();
@Expose
- @Category(name = "Stranded", desc = "Features for the Stranded game mode.")
- public StrandedConfig stranded = new StrandedConfig();
+ @Category(name = "Skill Progress", desc = "Skill Progress related config options.")
+ public SkillProgressConfig skillProgress = new SkillProgressConfig();
@Expose
- @Category(name = "The Rift", desc = "Features for The Rift dimension.")
- public RiftConfig rift = new RiftConfig();
+ @Category(name = "Chat", desc = "Change how the chat looks.")
+ public ChatConfig chat = new ChatConfig();
@Expose
@Category(name = "Misc", desc = "Settings without a category.")
public MiscConfig misc = new MiscConfig();
+ // Bottom
+
@Expose
@Category(name = "Dev", desc = "Debug and test stuff. Developers are cool.")
public DevConfig dev = new DevConfig();
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/chroma/ChromaConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/chroma/ChromaConfig.java
index fc455b5d2..efd49c545 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/chroma/ChromaConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/chroma/ChromaConfig.java
@@ -1,8 +1,8 @@
package at.hannibal2.skyhanni.config.features.chroma;
-import at.hannibal2.skyhanni.SkyHanniMod;
import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.HasLegacyId;
+import at.hannibal2.skyhanni.features.chroma.ChromaManager;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean;
import io.github.moulberry.moulconfig.annotations.ConfigEditorButton;
@@ -76,7 +76,7 @@ public class ChromaConfig {
@ConfigOption(name = "Reset to Default", desc = "Resets all chroma settings to the default.")
@ConfigEditorButton(buttonText = "Reset")
- public Runnable resetSettings = this::resetChromaSettings;
+ public Runnable resetSettings = ChromaManager::resetChromaSettings;
@Expose
@ConfigOption(name = "Everything Chroma", desc = "Renders §4§l§oALL §r§7text in chroma. (Some enchants may appear white with SBA enchant parsing)")
@@ -88,12 +88,4 @@ public class ChromaConfig {
@ConfigEditorBoolean
public boolean ignoreChat = false;
- private void resetChromaSettings() {
- SkyHanniMod.getFeature().chroma.chromaSize = 30f;
- SkyHanniMod.getFeature().chroma.chromaSpeed = 6f;
- SkyHanniMod.getFeature().chroma.chromaSaturation = 0.75f;
- SkyHanniMod.getFeature().chroma.allChroma = false;
- SkyHanniMod.getFeature().chroma.ignoreChat = false;
- SkyHanniMod.getFeature().chroma.chromaDirection = Direction.FORWARD_RIGHT;
- }
}
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/gui/GUIConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/gui/GUIConfig.java
index 10b6cdde1..78b94fbba 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/gui/GUIConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/gui/GUIConfig.java
@@ -2,7 +2,12 @@ package at.hannibal2.skyhanni.config.features.gui;
import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.core.config.Position;
+import at.hannibal2.skyhanni.config.features.chroma.ChromaConfig;
import at.hannibal2.skyhanni.config.features.gui.customscoreboard.CustomScoreboardConfig;
+import at.hannibal2.skyhanni.config.features.markedplayer.MarkedPlayerConfig;
+import at.hannibal2.skyhanni.config.features.misc.DiscordRPCConfig;
+import at.hannibal2.skyhanni.config.features.misc.compacttablist.CompactTabListConfig;
+import at.hannibal2.skyhanni.config.features.misc.cosmetic.CosmeticConfig;
import at.hannibal2.skyhanni.data.GuiEditManager;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.annotations.Accordion;
@@ -16,6 +21,20 @@ import org.lwjgl.input.Keyboard;
public class GUIConfig {
+ @Expose
+ @Category(name = "Compact Tab List", desc = "Compact Tab List Settings")
+ @Accordion
+ public CompactTabListConfig compactTabList = new CompactTabListConfig();
+
+ @Expose
+ @Category(name = "Custom Scoreboard", desc = "Custom Scoreboard Settings")
+ public CustomScoreboardConfig customScoreboard = new CustomScoreboardConfig();
+
+ @Expose
+ @Category(name = "Chroma", desc = "Settings for Chroma text (Credit to SBA).")
+ @Accordion
+ public ChromaConfig chroma = new ChromaConfig();
+
@ConfigOption(name = "Edit GUI Locations", desc = "Change the position of SkyHanni's overlays.")
@ConfigEditorButton(buttonText = "Edit")
public Runnable positions = () -> GuiEditManager.openGuiPositionEditor(true);
@@ -31,8 +50,14 @@ public class GUIConfig {
public float globalScale = 1F;
@Expose
- @Category(name = "Custom Scoreboard", desc = "Custom Scoreboard Settings")
- public CustomScoreboardConfig customScoreboard = new CustomScoreboardConfig();
+ @ConfigOption(name = "Discord Rich Presence", desc = "")
+ @Accordion
+ public DiscordRPCConfig discordRPC = new DiscordRPCConfig();
+
+ @Expose
+ @ConfigOption(name = "Marked Players", desc = "Players that got marked with §e/shmarkplayer§7.")
+ @Accordion
+ public MarkedPlayerConfig markedPlayers = new MarkedPlayerConfig();
@Expose
@ConfigOption(name = "Modify Visual Words", desc = "")
@@ -45,6 +70,11 @@ public class GUIConfig {
public TextBoxConfig customTextBox = new TextBoxConfig();
@Expose
+ @ConfigOption(name = "In-Game Date", desc = "")
+ @Accordion
+ public InGameDateConfig inGameDate = new InGameDateConfig();
+
+ @Expose
@ConfigOption(name = "Real Time", desc = "Display the current computer time, a handy feature when playing in full-screen mode.")
@ConfigEditorBoolean
@FeatureToggle
@@ -59,9 +89,8 @@ public class GUIConfig {
public Position realTimePosition = new Position(10, 10, false, true);
@Expose
- @ConfigOption(name = "In-Game Date", desc = "")
- @Accordion
- public InGameDateConfig inGameDate = new InGameDateConfig();
+ @Category(name = "Cosmetic", desc = "Cosmetics Settings")
+ public CosmeticConfig cosmetic = new CosmeticConfig();
@Expose
@ConfigOption(name = "TPS Display", desc = "Show the TPS of the current server, like in Soopy.")
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/AuctionHouseConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/AuctionHouseConfig.java
index 8c3d8d385..26746cb47 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/AuctionHouseConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/AuctionHouseConfig.java
@@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.config.features.inventory;
import at.hannibal2.skyhanni.config.FeatureToggle;
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.ConfigEditorKeybind;
import io.github.moulberry.moulconfig.annotations.ConfigOption;
@@ -9,6 +10,10 @@ import org.lwjgl.input.Keyboard;
public class AuctionHouseConfig {
+ @Expose
+ @ConfigOption(name = "Auctions Price Comparison", desc = "")
+ @Accordion
+ public AuctionHousePriceComparisonConfig auctionsPriceComparison = new AuctionHousePriceComparisonConfig();
@Expose
@ConfigOption(
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
index 6959299cb..a005c0428 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/inventory/InventoryConfig.java
@@ -3,6 +3,9 @@ package at.hannibal2.skyhanni.config.features.inventory;
import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.HasLegacyId;
import at.hannibal2.skyhanni.config.features.inventory.helper.HelperConfig;
+import at.hannibal2.skyhanni.config.features.itemability.ItemAbilityConfig;
+import at.hannibal2.skyhanni.config.features.misc.EstimatedItemValueConfig;
+import at.hannibal2.skyhanni.config.features.misc.PocketSackInASackConfig;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.annotations.Accordion;
import io.github.moulberry.moulconfig.annotations.Category;
@@ -22,6 +25,26 @@ import static at.hannibal2.skyhanni.config.features.inventory.InventoryConfig.It
public class InventoryConfig {
@Expose
+ @Category(name = "Skyblock Guide", desc = "")
+ public SkyblockGuideConfig skyblockGuideConfig = new SkyblockGuideConfig();
+
+ @Expose
+ @Category(name = "Auction House", desc = "")
+ public AuctionHouseConfig auctions = new AuctionHouseConfig();
+
+ @Expose
+ @Category(name = "Bazaar", desc = "Bazaar settings.")
+ public BazaarConfig bazaar = new BazaarConfig();
+
+ @Expose
+ @Category(name = "Helpers", desc = "Settings for Helpers")
+ public HelperConfig helper = new HelperConfig();
+
+ @Expose
+ @Category(name = "Item Abilities", desc = "Stuff about item abilities.")
+ public ItemAbilityConfig itemAbilities = new ItemAbilityConfig();
+
+ @Expose
@ConfigOption(name = "Not Clickable Items", desc = "")
@Accordion
public HideNotClickableConfig hideNotClickable = new HideNotClickableConfig();
@@ -41,43 +64,30 @@ public class InventoryConfig {
@Accordion
public JacobFarmingContestConfig jacobFarmingContests = new JacobFarmingContestConfig();
-
@Expose
@ConfigOption(name = "Sack Items Display", desc = "")
@Accordion
public SackDisplayConfig sackDisplay = new SackDisplayConfig();
@Expose
- @ConfigOption(name = "Chest Value", desc = "")
+ @ConfigOption(name = "Estimated Item Value", desc = "(Prices for Enchantments, Reforge Stones, Gemstones, Drill Parts and more)")
@Accordion
- public ChestValueConfig chestValueConfig = new ChestValueConfig();
-
- @Expose
- @Category(name = "Skyblock Guide", desc = "")
- public SkyblockGuideConfig skyblockGuideConfig = new SkyblockGuideConfig();
-
- @Expose
- @Category(name = "Bazaar", desc = "Bazaar settings.")
- public BazaarConfig bazaar = new BazaarConfig();
+ public EstimatedItemValueConfig estimatedItemValues = new EstimatedItemValueConfig();
@Expose
- @Category(name = "Helpers", desc = "Settings for Helpers")
- public HelperConfig helper = new HelperConfig();
+ @ConfigOption(name = "Chest Value", desc = "")
+ @Accordion
+ public ChestValueConfig chestValueConfig = new ChestValueConfig();
@Expose
@ConfigOption(name = "Get From Sack", desc = "")
@Accordion
public GetFromSackConfig gfs = new GetFromSackConfig();
- @Expose
- @ConfigOption(name = "Auctions", desc = "")
+ @ConfigOption(name = "Pocket Sack-In-A-Sack", desc = "")
@Accordion
- public AuctionHouseConfig auctions = new AuctionHouseConfig();
-
@Expose
- @ConfigOption(name = "Auctions Price Comparison", desc = "")
- @Accordion
- public AuctionHousePriceComparisonConfig auctionsPriceComparison = new AuctionHousePriceComparisonConfig();
+ public PocketSackInASackConfig pocketSackInASack = new PocketSackInASackConfig();
@Expose
@ConfigOption(
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
index bce2bbaf2..5d58664fc 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/misc/MiscConfig.java
@@ -3,9 +3,10 @@ package at.hannibal2.skyhanni.config.features.misc;
import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.core.config.Position;
import at.hannibal2.skyhanni.config.enums.OutsideSbFeature;
-import at.hannibal2.skyhanni.config.features.misc.compacttablist.CompactTabListConfig;
-import at.hannibal2.skyhanni.config.features.misc.cosmetic.CosmeticConfig;
+import at.hannibal2.skyhanni.config.features.commands.CommandsConfig;
+import at.hannibal2.skyhanni.config.features.minion.MinionsConfig;
import at.hannibal2.skyhanni.config.features.misc.pets.PetConfig;
+import at.hannibal2.skyhanni.config.features.stranded.StrandedConfig;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.annotations.Accordion;
import io.github.moulberry.moulconfig.annotations.Category;
@@ -22,6 +23,18 @@ public class MiscConfig {
@Category(name = "Pets", desc = "Pets Settings")
public PetConfig pets = new PetConfig();
+ @Expose
+ @Category(name = "Commands", desc = "Enable or disable commands.")
+ public CommandsConfig commands = new CommandsConfig();
+
+ @Expose
+ @Category(name = "Minions", desc = "The minions on your private island.")
+ public MinionsConfig minions = new MinionsConfig();
+
+ @Expose
+ @Category(name = "Stranded", desc = "Features for the Stranded game mode.")
+ public StrandedConfig stranded = new StrandedConfig();
+
@ConfigOption(name = "Hide Armor", desc = "")
@Accordion
@Expose
@@ -38,16 +51,6 @@ public class MiscConfig {
@Accordion
public ParticleHiderConfig particleHiders = new ParticleHiderConfig();
- @Expose
- @ConfigOption(name = "Estimated Item Value", desc = "(Prices for Enchantments, Reforge Stones, Gemstones, Drill Parts and more)")
- @Accordion
- public EstimatedItemValueConfig estimatedItemValues = new EstimatedItemValueConfig();
-
- @ConfigOption(name = "Discord Rich Presence", desc = "")
- @Accordion
- @Expose
- public DiscordRPCConfig discordRPC = new DiscordRPCConfig();
-
@ConfigOption(name = "Trevor The Trapper", desc = "")
@Accordion
@Expose
@@ -58,22 +61,12 @@ public class MiscConfig {
@Expose
public TeleportPadConfig teleportPad = new TeleportPadConfig();
- @ConfigOption(name = "Pocket Sack-In-A-Sack", desc = "")
- @Accordion
- @Expose
- public PocketSackInASackConfig pocketSackInASack = new PocketSackInASackConfig();
-
@ConfigOption(name = "Quick Mod Menu Switch", desc = "")
@Accordion
@Expose
public QuickModMenuSwitchConfig quickModMenuSwitch = new QuickModMenuSwitchConfig();
@Expose
- @Category(name = "Cosmetic", desc = "Cosmetics Settings")
- public CosmeticConfig cosmetic = new CosmeticConfig();
-
-
- @Expose
@ConfigOption(name = "Glowing Dropped Items", desc = "")
@Accordion
public GlowingDroppedItemsConfig glowingDroppedItems = new GlowingDroppedItemsConfig();
@@ -84,11 +77,6 @@ public class MiscConfig {
public HighlightPartyMembersConfig highlightPartyMembers = new HighlightPartyMembersConfig();
@Expose
- @Category(name = "Compact Tab List", desc = "Compact Tab List Settings")
- @Accordion
- public CompactTabListConfig compactTabList = new CompactTabListConfig();
-
- @Expose
@ConfigOption(name = "Kick Duration", desc = "")
@Accordion
public KickDurationConfig kickDuration = new KickDurationConfig();