diff --git a/runelite-client/src/main/java/net/runelite/client/config/OpenOSRSConfig.java b/runelite-client/src/main/java/net/runelite/client/config/OpenOSRSConfig.java
index 573bd5591f..9d9628c79b 100644
--- a/runelite-client/src/main/java/net/runelite/client/config/OpenOSRSConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/config/OpenOSRSConfig.java
@@ -29,11 +29,46 @@ package net.runelite.client.config;
@ConfigGroup("openosrs")
public interface OpenOSRSConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "pluginsTitle",
+ name = "Plugins",
+ description = "",
+ position = 1
+ )
+ default Title pluginsTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ keyName = "enablePlugins",
+ name = "Enable loading of external plugins",
+ description = "Enable loading of external plugins",
+ position = 2,
+ titleSection = "pluginsTitle"
+ )
+ default boolean enablePlugins()
+ {
+ return false;
+ }
+
+ @ConfigTitleSection(
+ keyName = "opacityTitle",
+ name = "Opacity",
+ description = "",
+ position = 3
+ )
+ default Title opacityTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "enableOpacity",
name = "Enable opacity",
description = "Enables opacity for the whole window.
NOTE: This only stays enabled if your pc supports this!",
- position = 0
+ position = 4,
+ titleSection = "opacityTitle"
)
default boolean enableOpacity()
{
@@ -48,40 +83,43 @@ public interface OpenOSRSConfig extends Config
keyName = "opacityPercentage",
name = "Opacity percentage",
description = "Changes the opacity of the window if opacity is enabled",
- position = 1
+ position = 5,
+ titleSection = "opacityTitle"
)
default int opacityPercentage()
{
return 100;
}
+ @ConfigTitleSection(
+ keyName = "miscTitle",
+ name = "Miscellaneous",
+ description = "",
+ position = 6
+ )
+ default Title miscTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "keyboardPin",
name = "Keyboard bank pin",
description = "Enables you to type your bank pin",
- position = 2
+ position = 7,
+ titleSection = "miscTitle"
)
default boolean keyboardPin()
{
return false;
}
- @ConfigItem(
- keyName = "enablePlugins",
- name = "Enable loading of external plugins",
- description = "Enable loading of external plugins",
- position = 3
- )
- default boolean enablePlugins()
- {
- return false;
- }
-
@ConfigItem(
keyName = "detachHotkey",
name = "Detach Cam",
description = "Detach Camera hotkey, press this and it will activate detatched camera.",
- position = 4
+ position = 8,
+ titleSection = "miscTitle"
)
default Keybind detachHotkey()
{
diff --git a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java
index ea30bfe5dd..ebda1d9ba9 100644
--- a/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/config/RuneLiteConfig.java
@@ -25,19 +25,29 @@
package net.runelite.client.config;
import java.awt.Dimension;
-import java.awt.Font;
import net.runelite.api.Constants;
-import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.ContainableFrame;
@ConfigGroup("runelite")
public interface RuneLiteConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "uiTitle",
+ name = "User interface",
+ description = "",
+ position = 1
+ )
+ default Title uiTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "gameSize",
name = "Game size",
description = "The game will resize to this resolution upon starting the client",
- position = 10
+ position = 2,
+ titleSection = "uiTitle"
)
default Dimension gameSize()
{
@@ -48,7 +58,8 @@ public interface RuneLiteConfig extends Config
keyName = "automaticResizeType",
name = "Resize type",
description = "Choose how the window should resize when opening and closing panels",
- position = 11
+ position = 3,
+ titleSection = "uiTitle"
)
default ExpandResizeType automaticResizeType()
{
@@ -59,7 +70,8 @@ public interface RuneLiteConfig extends Config
keyName = "lockWindowSize",
name = "Lock window size",
description = "Determines if the window resizing is allowed or not",
- position = 12
+ position = 4,
+ titleSection = "uiTitle"
)
default boolean lockWindowSize()
{
@@ -70,41 +82,69 @@ public interface RuneLiteConfig extends Config
keyName = "containInScreen2",
name = "Contain in screen",
description = "Makes the client stay contained in the screen when attempted to move out of it.
Note: 'Always' only works if custom chrome is enabled.",
- position = 13
+ position = 5,
+ titleSection = "uiTitle"
)
default ContainableFrame.Mode containInScreen()
{
return ContainableFrame.Mode.RESIZING;
}
- @ConfigItem(
- keyName = "rememberScreenBounds",
- name = "Remember client position",
- description = "Save the position and size of the client after exiting",
- position = 14
- )
- default boolean rememberScreenBounds()
- {
- return true;
- }
@ConfigItem(
keyName = "uiEnableCustomChrome",
name = "Enable custom window chrome",
description = "Use Runelite's custom window title and borders.",
warning = "Please restart your client after changing this setting",
- position = 15
+ position = 6,
+ titleSection = "uiTitle"
)
default boolean enableCustomChrome()
{
return true;
}
+ @ConfigItem(
+ keyName = "usernameInTitle",
+ name = "Show display name in title",
+ description = "Toggles displaying of local player's display name in client title",
+ position = 7,
+ titleSection = "uiTitle"
+ )
+ default boolean usernameInTitle()
+ {
+ return true;
+ }
+
+ @ConfigTitleSection(
+ keyName = "miscTitle",
+ name = "Miscellaneous",
+ description = "",
+ position = 8
+ )
+ default Title miscTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ keyName = "rememberScreenBounds",
+ name = "Remember client position",
+ description = "Save the position and size of the client after exiting",
+ position = 9,
+ titleSection = "miscTitle"
+ )
+ default boolean rememberScreenBounds()
+ {
+ return true;
+ }
+
@ConfigItem(
keyName = "gameAlwaysOnTop",
name = "Enable client always on top",
description = "The game will always be on the top of the screen",
- position = 16
+ position = 10,
+ titleSection = "miscTitle"
)
default boolean gameAlwaysOnTop()
{
@@ -115,29 +155,44 @@ public interface RuneLiteConfig extends Config
keyName = "warningOnExit",
name = "Display warning on exit",
description = "Toggles a warning popup when trying to exit the client",
- position = 17
+ position = 11,
+ titleSection = "miscTitle"
)
default WarningOnExit warningOnExit()
{
return WarningOnExit.LOGGED_IN;
}
+ @Range(max = 100, min = 0)
@ConfigItem(
- keyName = "usernameInTitle",
- name = "Show display name in title",
- description = "Toggles displaying of local player's display name in client title",
- position = 18
+ keyName = "volume",
+ name = "Runelite Volume",
+ description = "Sets the volume of custom Runelite sounds (not the client sounds)",
+ position = 12,
+ titleSection = "miscTitle"
)
- default boolean usernameInTitle()
+ default int volume()
{
- return true;
+ return 100;
+ }
+
+ @ConfigTitleSection(
+ keyName = "notificationsTitle",
+ name = "Notifications",
+ description = "",
+ position = 13
+ )
+ default Title notificationsTitle()
+ {
+ return new Title();
}
@ConfigItem(
keyName = "notificationTray",
name = "Enable tray notifications",
description = "Enables tray notifications",
- position = 20
+ position = 14,
+ titleSection = "notificationsTitle"
)
default boolean enableTrayNotifications()
{
@@ -148,7 +203,8 @@ public interface RuneLiteConfig extends Config
keyName = "notificationRequestFocus",
name = "Request focus on notification",
description = "Toggles window focus request",
- position = 21
+ position = 15,
+ titleSection = "notificationsTitle"
)
default boolean requestFocusOnNotification()
{
@@ -159,7 +215,8 @@ public interface RuneLiteConfig extends Config
keyName = "notificationSound",
name = "Enable sound on notifications",
description = "Enables the playing of a beep sound when notifications are displayed",
- position = 22
+ position = 16,
+ titleSection = "notificationsTitle"
)
default boolean enableNotificationSound()
{
@@ -170,7 +227,8 @@ public interface RuneLiteConfig extends Config
keyName = "notificationGameMessage",
name = "Enable game message notifications",
description = "Puts a notification message in the chatbox",
- position = 23
+ position = 17,
+ titleSection = "notificationsTitle"
)
default boolean enableGameMessageNotification()
{
@@ -181,7 +239,8 @@ public interface RuneLiteConfig extends Config
keyName = "notificationFlash",
name = "Enable flash notification",
description = "Flashes the game frame as a notification",
- position = 24
+ position = 18,
+ titleSection = "notificationsTitle"
)
default FlashNotification flashNotification()
{
@@ -192,29 +251,31 @@ public interface RuneLiteConfig extends Config
keyName = "notificationFocused",
name = "Send notifications when focused",
description = "Toggles all notifications for when the client is focused",
- position = 25
+ position = 19,
+ titleSection = "notificationsTitle"
)
default boolean sendNotificationsWhenFocused()
{
return false;
}
- @ConfigItem(
- keyName = "clientFont",
+ @ConfigTitleSection(
+ keyName = "fontTitle",
name = "Font",
- description = "Configure what font is used for the client and runelite added overlays",
- position = 29
+ description = "",
+ position = 20
)
- default Font clientFont()
+ default Title fontTitle()
{
- return FontManager.getRunescapeFont();
+ return new Title();
}
@ConfigItem(
keyName = "fontType",
name = "Dynamic Overlay Font",
description = "Configures what font type is used for in-game overlays such as player name, ground items, etc.",
- position = 30
+ position = 21,
+ titleSection = "fontTitle"
)
default FontType fontType()
{
@@ -225,7 +286,8 @@ public interface RuneLiteConfig extends Config
keyName = "tooltipFontType",
name = "Tooltip Font",
description = "Configures what font type is used for in-game tooltips such as food stats, NPC names, etc.",
- position = 31
+ position = 22,
+ titleSection = "fontTitle"
)
default FontType tooltipFontType()
{
@@ -236,18 +298,31 @@ public interface RuneLiteConfig extends Config
keyName = "interfaceFontType",
name = "Interface Overlay Font",
description = "Configures what font type is used for in-game interface overlays such as panels, opponent info, clue scrolls etc.",
- position = 32
+ position = 23,
+ titleSection = "fontTitle"
)
default FontType interfaceFontType()
{
return FontType.REGULAR;
}
+ @ConfigTitleSection(
+ keyName = "overlayTitle",
+ name = "Overlays",
+ description = "",
+ position = 24
+ )
+ default Title overlayTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "menuEntryShift",
name = "Require Shift for overlay menu",
description = "Overlay right-click menu will require shift to be added",
- position = 33
+ position = 25,
+ titleSection = "overlayTitle"
)
default boolean menuEntryShift()
{
@@ -258,7 +333,8 @@ public interface RuneLiteConfig extends Config
keyName = "infoBoxVertical",
name = "Display infoboxes vertically",
description = "Toggles the infoboxes to display vertically",
- position = 40
+ position = 26,
+ titleSection = "infoboxTitle"
)
default boolean infoBoxVertical()
{
@@ -269,7 +345,8 @@ public interface RuneLiteConfig extends Config
keyName = "infoBoxWrap",
name = "Infobox wrap count",
description = "Configures the amount of infoboxes shown before wrapping",
- position = 41
+ position = 27,
+ titleSection = "infoboxTitle"
)
default int infoBoxWrap()
{
@@ -280,23 +357,12 @@ public interface RuneLiteConfig extends Config
keyName = "infoBoxSize",
name = "Infobox size (px)",
description = "Configures the size of each infobox in pixels",
- position = 42
+ position = 28,
+ titleSection = "infoboxTitle"
)
default int infoBoxSize()
{
return 35;
}
- @Range(max = 100, min = 0)
- @ConfigItem(
- keyName = "volume",
- name = "Runelite Volume",
- description = "Sets the volume of custom Runelite sounds (not the client sounds)",
- position = 43
- )
- default int volume()
- {
- return 100;
- }
-
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListConfig.java
index 9e40544ba5..f05e456098 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/banlist/BanListConfig.java
@@ -3,16 +3,30 @@ package net.runelite.client.plugins.banlist;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("banlist")
public interface BanListConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "listsTitle",
+ name = "Lists",
+ description = "",
+ position = 0
+ )
+ default Title listsTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "bannedPlayers",
name = "Manual Scammer List",
description = "Manually add players seperated by commas that you wish to be warned about while in a clan/cox/tob party",
- position = 0
+ position = 1,
+ titleSection = "listsTitle"
)
default String getBannedPlayers()
{
@@ -27,10 +41,11 @@ public interface BanListConfig extends Config
void setBannedPlayers(String key);
@ConfigItem(
- position = 1,
+ position = 2,
keyName = "enableWDRScam",
name = "Enable WDR Scammer List",
- description = "Incorporate WDR Scammer list"
+ description = "Incorporate WDR Scammer list",
+ titleSection = "listsTitle"
)
default boolean enableWDRScam()
{
@@ -38,10 +53,11 @@ public interface BanListConfig extends Config
}
@ConfigItem(
- position = 2,
+ position = 3,
keyName = "enableWDRToxic",
name = "Enable WDR Toxic List",
- description = "Incorporate WDR Toxic list"
+ description = "Incorporate WDR Toxic list",
+ titleSection = "listsTitle"
)
default boolean enableWDRToxic()
{
@@ -49,21 +65,34 @@ public interface BanListConfig extends Config
}
@ConfigItem(
- position = 3,
+ position = 4,
keyName = "enableRuneWatch",
name = "Enable RuneWatch List",
- description = "Incorporate RuneWatch potential scammer list"
+ description = "Incorporate RuneWatch potential scammer list",
+ titleSection = "listsTitle"
)
default boolean enableRuneWatch()
{
return true;
}
+ @ConfigTitleSection(
+ keyName = "highlightTitle",
+ name = "Highlight",
+ description = "",
+ position = 5
+ )
+ default Title highlightTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
- position = 4,
+ position = 6,
keyName = "highlightInClan",
name = "Highlight red in Clan Chat",
- description = "Highlights Scammer\'s name in your current clan chat."
+ description = "Highlights Scammer\'s name in your current clan chat.",
+ titleSection = "highlightTitle"
)
default boolean highlightInClan()
{
@@ -71,10 +100,11 @@ public interface BanListConfig extends Config
}
@ConfigItem(
- position = 5,
+ position = 7,
keyName = "highlightInTrade",
name = "Highlight red in trade screen",
- description = "Highlights Scammer\'s name in your trade window"
+ description = "Highlights Scammer\'s name in your trade window",
+ titleSection = "highlightTitle"
)
default boolean highlightInTrade()
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java
index 39615aecd7..56a212fbab 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/combatcounter/CombatCounterConfig.java
@@ -6,16 +6,29 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import java.awt.*;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("combatcounter")
public interface CombatCounterConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "counterTitle",
+ name = "Counters",
+ description = "",
+ position = 1
+ )
+ default Title counterTitle()
+ {
+ return new Title();
+ }
@ConfigItem(
keyName = "Show Tick Counter",
name = "Show Tick Counter",
description = "Turn the tick counter on",
- position = 1
+ position = 2,
+ titleSection = "counterTitle"
)
default boolean showTickCounter()
{
@@ -26,23 +39,23 @@ public interface CombatCounterConfig extends Config
keyName = "Show Damage Counter",
name = "Show Damage Counter",
description = "Turn the damage counter on",
- position = 2
+ position = 3,
+ titleSection = "counterTitle"
)
default boolean showDamageCounter()
{
return false;
}
-
- @ConfigItem(
- keyName = "Reset on New Instance",
- name = "Reset On New Instance",
- description = "Resets counter when entering a new instance",
+ @ConfigTitleSection(
+ keyName = "colorsTitle",
+ name = "Colors",
+ description = "",
position = 4
)
- default boolean resetOnNewInstance()
+ default Title colorsTitle()
{
- return false;
+ return new Title();
}
@Alpha
@@ -50,7 +63,8 @@ public interface CombatCounterConfig extends Config
keyName = "selfColor",
name = "Your color",
description = "",
- position = 4
+ position = 5,
+ titleSection = "colorsTitle"
)
default Color selfColor()
{
@@ -62,7 +76,8 @@ public interface CombatCounterConfig extends Config
keyName = "totalColor",
name = "Total color",
description = "",
- position = 6
+ position = 6,
+ titleSection = "colorsTitle"
)
default Color totalColor()
{
@@ -74,7 +89,8 @@ public interface CombatCounterConfig extends Config
keyName = "otherColor",
name = "Other players color",
description = "",
- position = 5
+ position = 7,
+ titleSection = "colorsTitle"
)
default Color otherColor()
{
@@ -86,7 +102,8 @@ public interface CombatCounterConfig extends Config
keyName = "bgColor",
name = "Background color",
description = "",
- position = 3
+ position = 8,
+ titleSection = "colorsTitle"
)
default Color bgColor()
{
@@ -98,10 +115,33 @@ public interface CombatCounterConfig extends Config
keyName = "titleColor",
name = "Title color",
description = "",
- position = 2
+ position = 9,
+ titleSection = "colorsTitle"
)
default Color titleColor()
{
return Color.white;
}
+
+ @ConfigTitleSection(
+ keyName = "miscTitle",
+ name = "Miscellaneous",
+ description = "",
+ position = 10
+ )
+ default Title miscTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ keyName = "Reset on New Instance",
+ name = "Reset On New Instance",
+ description = "Resets counter when entering a new instance",
+ position = 11
+ )
+ default boolean resetOnNewInstance()
+ {
+ return false;
+ }
}
\ No newline at end of file
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java
index 6fddfc5b4b..7ca7cd85fc 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java
@@ -28,15 +28,29 @@ package net.runelite.client.plugins.entityhider;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("entityhider")
public interface EntityHiderConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "playersTitle",
+ name = "Other players",
+ description = "",
+ position = 1
+ )
+ default Title playersTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
- position = 1,
+ position = 2,
keyName = "hidePlayers",
name = "Hide Players",
- description = "Configures whether or not players are hidden"
+ description = "Configures whether or not players are hidden",
+ titleSection = "playersTitle"
)
default boolean hidePlayers()
{
@@ -44,142 +58,199 @@ public interface EntityHiderConfig extends Config
}
@ConfigItem(
- position = 2,
+ position = 3,
keyName = "hidePlayers2D",
name = "Hide Players 2D",
- description = "Configures whether or not players 2D elements are hidden"
+ description = "Configures whether or not players 2D elements are hidden",
+ titleSection = "playersTitle"
)
default boolean hidePlayers2D()
{
return true;
}
- @ConfigItem(
- position = 3,
- keyName = "hideFriends",
- name = "Hide Friends",
- description = "Configures whether or not friends are hidden"
- )
- default boolean hideFriends()
- {
- return false;
- }
-
@ConfigItem(
position = 4,
- keyName = "hideClanMates",
- name = "Hide Clan Mates",
- description = "Configures whether or not clan mates are hidden"
- )
- default boolean hideClanMates()
- {
- return false;
- }
-
- @ConfigItem(
- position = 5,
- keyName = "hideLocalPlayer",
- name = "Hide Local Player",
- description = "Configures whether or not the local player is hidden"
- )
- default boolean hideLocalPlayer()
- {
- return false;
- }
-
- @ConfigItem(
- position = 6,
- keyName = "hideLocalPlayer2D",
- name = "Hide Local Player 2D",
- description = "Configures whether or not the local player's 2D elements are hidden"
- )
- default boolean hideLocalPlayer2D()
- {
- return false;
- }
-
- @ConfigItem(
- position = 7,
- keyName = "hideNPCs",
- name = "Hide NPCs",
- description = "Configures whether or not NPCs are hidden"
- )
- default boolean hideNPCs()
- {
- return false;
- }
-
- @ConfigItem(
- position = 8,
- keyName = "hideNPCs2D",
- name = "Hide NPCs 2D",
- description = "Configures whether or not NPCs 2D elements are hidden"
- )
- default boolean hideNPCs2D()
- {
- return false;
- }
-
- @ConfigItem(
- position = 9,
- keyName = "hideAttackers",
- name = "Hide Attackers",
- description = "Configures whether or not NPCs/players attacking you are hidden"
- )
- default boolean hideAttackers()
- {
- return false;
- }
-
- @ConfigItem(
- position = 10,
- keyName = "hideNPCsNames",
- name = "Hide NPCs Names",
- description = "Configures which NPCs to hide"
- )
- default String hideNPCsNames()
- {
- return "";
- }
-
- @ConfigItem(
- position = 11,
- keyName = "hideDeadNPCs",
- name = "Hide Dead NPCs",
- description = "Configures whether or not NPCs that just died are hidden"
- )
- default boolean hideDeadNPCs()
- {
- return false;
- }
-
- @ConfigItem(
- position = 12,
- keyName = "hideNPCsOnDeath",
- name = "Hide NPCs On Death",
- description = "Configures which NPCs to hide when they die"
- )
- default String hideNPCsOnDeath()
- {
- return "";
- }
-
- @ConfigItem(
- position = 13,
keyName = "hideSpecificPlayers",
name = "Hide Specific Players",
- description = "Hides players you never wish to see."
+ description = "Hides players you never wish to see.",
+ titleSection = "playersTitle"
)
default String hideSpecificPlayers()
{
return "";
}
+ @ConfigItem(
+ position = 5,
+ keyName = "hideAttackers",
+ name = "Hide Attackers",
+ description = "Configures whether or not NPCs/players attacking you are hidden",
+ titleSection = "playersTitle"
+ )
+ default boolean hideAttackers()
+ {
+ return false;
+ }
+
+ @ConfigTitleSection(
+ keyName = "localPlayerTitle",
+ name = "Local player",
+ description = "",
+ position = 6
+ )
+ default Title localPlayerTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ position = 7,
+ keyName = "hideLocalPlayer",
+ name = "Hide Local Player",
+ description = "Configures whether or not the local player is hidden",
+ titleSection = "localPlayerTitle"
+ )
+ default boolean hideLocalPlayer()
+ {
+ return false;
+ }
+
+ @ConfigItem(
+ position = 8,
+ keyName = "hideLocalPlayer2D",
+ name = "Hide Local Player 2D",
+ description = "Configures whether or not the local player's 2D elements are hidden",
+ titleSection = "localPlayerTitle"
+ )
+ default boolean hideLocalPlayer2D()
+ {
+ return false;
+ }
+
+ @ConfigTitleSection(
+ keyName = "friendsTitle",
+ name = "Friends / clan",
+ description = "",
+ position = 9
+ )
+ default Title friendsTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ position = 10,
+ keyName = "hideFriends",
+ name = "Hide Friends",
+ description = "Configures whether or not friends are hidden",
+ titleSection = "friendsTitle"
+ )
+ default boolean hideFriends()
+ {
+ return false;
+ }
+
+ @ConfigItem(
+ position = 11,
+ keyName = "hideClanMates",
+ name = "Hide Clan Mates",
+ description = "Configures whether or not clan mates are hidden",
+ titleSection = "friendsTitle"
+ )
+ default boolean hideClanMates()
+ {
+ return false;
+ }
+
+ @ConfigTitleSection(
+ keyName = "npcsTitle",
+ name = "NPCs",
+ description = "",
+ position = 12
+ )
+ default Title npcsTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ position = 13,
+ keyName = "hideNPCs",
+ name = "Hide NPCs",
+ description = "Configures whether or not NPCs are hidden",
+ titleSection = "npcsTitle"
+ )
+ default boolean hideNPCs()
+ {
+ return false;
+ }
+
@ConfigItem(
position = 14,
+ keyName = "hideNPCs2D",
+ name = "Hide NPCs 2D",
+ description = "Configures whether or not NPCs 2D elements are hidden",
+ titleSection = "npcsTitle"
+ )
+ default boolean hideNPCs2D()
+ {
+ return false;
+ }
+
+ @ConfigItem(
+ position = 15,
+ keyName = "hideNPCsNames",
+ name = "Hide NPCs Names",
+ description = "Configures which NPCs to hide",
+ titleSection = "npcsTitle"
+ )
+ default String hideNPCsNames()
+ {
+ return "";
+ }
+
+ @ConfigItem(
+ position = 16,
+ keyName = "hideDeadNPCs",
+ name = "Hide Dead NPCs",
+ description = "Configures whether or not NPCs that just died are hidden",
+ titleSection = "npcsTitle"
+ )
+ default boolean hideDeadNPCs()
+ {
+ return false;
+ }
+
+ @ConfigItem(
+ position = 17,
+ keyName = "hideNPCsOnDeath",
+ name = "Hide NPCs On Death",
+ description = "Configures which NPCs to hide when they die",
+ titleSection = "npcsTitle"
+ )
+ default String hideNPCsOnDeath()
+ {
+ return "";
+ }
+
+ @ConfigTitleSection(
+ keyName = "miscTitle",
+ name = "Miscellaneous",
+ description = "",
+ position = 18
+ )
+ default Title miscTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ position = 19,
keyName = "hideProjectiles",
name = "Hide Projectiles",
- description = "Configures whether or not projectiles are hidden"
+ description = "Configures whether or not projectiles are hidden",
+ titleSection = "miscTitle"
)
default boolean hideProjectiles()
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/playerinfo/PlayerInfoConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/playerinfo/PlayerInfoConfig.java
index a4c34e5797..ad57c8c091 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/playerinfo/PlayerInfoConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/playerinfo/PlayerInfoConfig.java
@@ -28,15 +28,29 @@ import java.awt.Color;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("playerinfo")
public interface PlayerInfoConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "overlaysTitle",
+ name = "Overlays",
+ description = "",
+ position = 0
+ )
+ default Title overlaysTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "enableHealth",
name = "Enable Health Display",
description = "Configures whether or not to display health information",
- position = 1
+ position = 1,
+ titleSection = "overlaysTitle"
)
default boolean enableHealth()
{
@@ -47,7 +61,8 @@ public interface PlayerInfoConfig extends Config
keyName = "enablePrayer",
name = "Enable Prayer Display",
description = "Configures whether or not to display prayer information",
- position = 2
+ position = 2,
+ titleSection = "overlaysTitle"
)
default boolean enablePrayer()
{
@@ -58,7 +73,8 @@ public interface PlayerInfoConfig extends Config
keyName = "enableEnergy",
name = "Enable Run Energy Display",
description = "Configures whether or not to display run energy information",
- position = 3
+ position = 3,
+ titleSection = "overlaysTitle"
)
default boolean enableEnergy()
{
@@ -69,7 +85,8 @@ public interface PlayerInfoConfig extends Config
keyName = "enableSpec",
name = "Enable Special Attack Display",
description = "Configures whether or not to display special attack information",
- position = 4
+ position = 4,
+ titleSection = "overlaysTitle"
)
default boolean enableSpec()
{
@@ -80,18 +97,31 @@ public interface PlayerInfoConfig extends Config
keyName = "enableWorld",
name = "Enable World Display",
description = "Configures whether or not to display world information",
- position = 4
+ position = 5,
+ titleSection = "overlaysTitle"
)
default boolean enableWorld()
{
return true;
}
+ @ConfigTitleSection(
+ keyName = "colorsTitle",
+ name = "Colors",
+ description = "",
+ position = 6
+ )
+ default Title colorsTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "colorHigh",
name = "Color High",
description = "The color displayed for high values.",
- position = 5
+ position = 7,
+ titleSection = "colorsTitle"
)
default Color colorHigh()
{
@@ -102,7 +132,8 @@ public interface PlayerInfoConfig extends Config
keyName = "colorMed",
name = "Color Medium",
description = "The color displayed for medium values.",
- position = 6
+ position = 8,
+ titleSection = "colorsTitle"
)
default Color colorMed()
{
@@ -113,7 +144,8 @@ public interface PlayerInfoConfig extends Config
keyName = "colorLow",
name = "Color Low",
description = "The color displayed for low values.",
- position = 7
+ position = 7,
+ titleSection = "colorsTitle"
)
default Color colorLow()
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderConfig.java
index 35a11a7a54..b08f16af7f 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/pyramidplunder/PyramidPlunderConfig.java
@@ -27,71 +27,111 @@ package net.runelite.client.plugins.pyramidplunder;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("pyramidplunder")
public interface PyramidPlunderConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "overlaysTitle",
+ name = "Overlays",
+ description = "",
+ position = 1
+ )
+ default Title overlaysTitle()
+ {
+ return new Title();
+ }
@ConfigItem(
- position = 1,
+ position = 2,
keyName = "showPlunderStatus",
name = "Show session stats",
- description = "Configures whether to display pyramid plunder session stats"
+ description = "Configures whether to display pyramid plunder session stats",
+ titleSection = "overlaysTitle"
)
default boolean showPlunderStatus()
{
return true;
}
- @ConfigItem(
- position = 2,
- keyName = "highlightDoors",
- name = "Highlights doors",
- description = "Highlights the four doors in each room"
- )
- default boolean highlightDoors()
- {
- return true;
- }
-
@ConfigItem(
position = 3,
- keyName = "highlightSpearTrap",
- name = "Highlights spear traps",
- description = "Highlights the spear traps in each room"
- )
- default boolean highlightSpearTrap()
- {
- return false;
- }
-
- @ConfigItem(
- position = 4,
- keyName = "showTimer",
- name = "Display numerical timer",
- description = "Displays a numerical timer instead of the default timer"
- )
- default boolean showTimer()
- {
- return true;
- }
-
- @ConfigItem(
- position = 5,
keyName = "hideWidget",
name = "Hide default widget",
- description = "Hide the default widget"
+ description = "Hide the default widget",
+ titleSection = "overlaysTitle"
)
default boolean hideWidget()
{
return true;
}
+ @ConfigItem(
+ position = 4,
+ keyName = "showTimer",
+ name = "Display numerical timer",
+ description = "Displays a numerical timer instead of the default timer",
+ titleSection = "overlaysTitle"
+ )
+ default boolean showTimer()
+ {
+ return true;
+ }
+
+ @ConfigTitleSection(
+ keyName = "highlightsTitle",
+ name = "Highlights",
+ description = "",
+ position = 5
+ )
+ default Title highlightsTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
position = 6,
+ keyName = "highlightDoors",
+ name = "Highlights doors",
+ description = "Highlights the four doors in each room",
+ titleSection = "highlightsTitle"
+ )
+ default boolean highlightDoors()
+ {
+ return true;
+ }
+
+ @ConfigItem(
+ position = 7,
+ keyName = "highlightSpearTrap",
+ name = "Highlights spear traps",
+ description = "Highlights the spear traps in each room",
+ titleSection = "highlightsTitle"
+ )
+ default boolean highlightSpearTrap()
+ {
+ return false;
+ }
+
+ @ConfigTitleSection(
+ keyName = "warningsTitle",
+ name = "Warnings",
+ description = "",
+ position = 8
+ )
+ default Title warningsTitle()
+ {
+ return new Title();
+ }
+
+ @ConfigItem(
+ position = 9,
keyName = "firstWarningTime",
name = "First warning time",
- description = "Recolor time left(s)"
+ description = "Recolor time left(s)",
+ titleSection = "warningsTitle"
)
default int firstWarningTime()
{
@@ -99,14 +139,14 @@ public interface PyramidPlunderConfig extends Config
}
@ConfigItem(
- position = 7,
+ position = 10,
keyName = "secondWarningTime",
name = "Second warning time",
- description = "Recolor time left(s)"
+ description = "Recolor time left(s)",
+ titleSection = "warningsTitle"
)
default int secondWarningTime()
{
return 30;
}
-
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerConfig.java
index f531a76cf5..ad50f9d020 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerConfig.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/suppliestracker/SuppliesTrackerConfig.java
@@ -27,14 +27,28 @@ package net.runelite.client.plugins.suppliestracker;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
+import net.runelite.client.config.ConfigTitleSection;
+import net.runelite.client.config.Title;
@ConfigGroup("suppliestracker")
public interface SuppliesTrackerConfig extends Config
{
+ @ConfigTitleSection(
+ keyName = "blowpipeTitle",
+ name = "Blowpipe",
+ description = "",
+ position = 1
+ )
+ default Title blowpipeTitle()
+ {
+ return new Title();
+ }
+
@ConfigItem(
keyName = "blowpipeAmmo",
- name = "Ammo used in your blowpipe",
- description = "What type of dart are you using in your toxic blowpipe"
+ name = "Ammo",
+ description = "What type of dart are you using in your toxic blowpipe",
+ titleSection = "blowpipeTitle"
)
default BlowpipeDartType blowpipeAmmo()
{