client: Add more config units

This commit is contained in:
Owain van Brakel
2020-02-06 14:13:20 +01:00
parent f71de0e354
commit 817c27e003
28 changed files with 120 additions and 10 deletions

View File

@@ -325,6 +325,7 @@ public interface OpenOSRSConfig extends Config
position = 19,
titleSection = "opacityTitle"
)
@Units(Units.PERCENT)
default int opacityPercentage()
{
return 100;

View File

@@ -52,6 +52,7 @@ public interface RuneLiteConfig extends Config
position = 2,
titleSection = "uiTitle"
)
@Units(Units.PIXELS)
default Dimension gameSize()
{
return Constants.GAME_FIXED_SIZE;
@@ -174,6 +175,7 @@ public interface RuneLiteConfig extends Config
position = 12,
titleSection = "miscTitle"
)
@Units(Units.PERCENT)
default int volume()
{
return 100;

View File

@@ -42,8 +42,12 @@ public @interface Units
String MINUTES = " mins";
String PERCENT = "%";
String PIXELS = "px";
String POINTS = "pt";
String SECONDS = "s";
String TICKS = " ticks";
String LEVELS = " lvls";
String FPS = " fps";
String GP = " GP";
String value();
}

View File

@@ -37,6 +37,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("aoe")
public interface AoeWarningConfig extends Config
@@ -124,6 +125,7 @@ public interface AoeWarningConfig extends Config
titleSection = "overlayTitle",
position = 4
)
@Units(Units.MILLISECONDS)
default int delay()
{
return 300;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.boosts;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
@ConfigGroup("boosts")
public interface BoostsConfig extends Config
@@ -129,6 +130,7 @@ public interface BoostsConfig extends Config
description = "The amount of levels boosted to send a notification at. A value of 0 will disable notification.",
position = 8
)
@Units(Units.LEVELS)
default int boostThreshold()
{
return 0;

View File

@@ -4,6 +4,7 @@ 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.Units;
@ConfigGroup("clanmanmode")
public interface ClanManModeConfig extends Config
@@ -135,6 +136,7 @@ public interface ClanManModeConfig extends Config
name = "Ticks to hide",
description = "How many ticks after you are logged in that attackbles are hidden (1 tick = 0.6 seconds)"
)
@Units(Units.TICKS)
default int hideTime()
{
return 5;

View File

@@ -545,6 +545,7 @@ class ConfigPanel extends PluginPanel
{
int value = Integer.parseInt(configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName()));
Units units = cid.getUnits();
Range range = cid.getRange();
int min = 0, max = Integer.MAX_VALUE;
if (range != null)
@@ -560,12 +561,27 @@ class ConfigPanel extends PluginPanel
{
JLabel sliderValueLabel = new JLabel();
JSlider slider = new JSlider(min, max, value);
sliderValueLabel.setText(String.valueOf(slider.getValue()));
if (units != null)
{
sliderValueLabel.setText(slider.getValue() + " " + units.value());
}
else
{
sliderValueLabel.setText(String.valueOf(slider.getValue()));
}
slider.setPreferredSize(new Dimension(80, 25));
slider.setBackground(Color.WHITE);
slider.addChangeListener((l) ->
{
sliderValueLabel.setText(String.valueOf(slider.getValue()));
if (units != null)
{
sliderValueLabel.setText(slider.getValue() + " " + units.value());
}
else
{
sliderValueLabel.setText(String.valueOf(slider.getValue()));
}
if (!slider.getValueIsAdjusting())
{
changeConfiguration(slider, cd, cid);
@@ -599,7 +615,14 @@ class ConfigPanel extends PluginPanel
{
changeConfiguration(spinner, cd, cid);
sliderValueLabel.setText(String.valueOf(spinner.getValue()));
if (units != null)
{
sliderValueLabel.setText(spinner.getValue() + " " + units.value());
}
else
{
sliderValueLabel.setText(String.valueOf(spinner.getValue()));
}
slider.setValue((Integer) spinner.getValue());
subPanel.add(sliderValueLabel, BorderLayout.WEST);
@@ -643,7 +666,6 @@ class ConfigPanel extends PluginPanel
spinnerTextField.setColumns(SPINNER_FIELD_WIDTH);
spinner.addChangeListener(ce -> changeConfiguration(spinner, cd, cid));
Units units = cid.getUnits();
if (units != null)
{
DecimalFormat df = ((JSpinner.NumberEditor) spinner.getEditor()).getFormat();
@@ -772,6 +794,7 @@ class ConfigPanel extends PluginPanel
JPanel dimensionPanel = new JPanel();
dimensionPanel.setLayout(new BorderLayout());
Units units = cid.getUnits();
String str = configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName());
String[] splitStr = str.split("x");
int width = Integer.parseInt(splitStr[0]);
@@ -783,12 +806,30 @@ class ConfigPanel extends PluginPanel
JFormattedTextField widthSpinnerTextField = ((JSpinner.DefaultEditor) widthEditor).getTextField();
widthSpinnerTextField.setColumns(4);
if (units != null)
{
DecimalFormat df = ((JSpinner.NumberEditor) widthSpinner.getEditor()).getFormat();
df.setPositiveSuffix(units.value());
df.setNegativeSuffix(units.value());
// Force update the spinner to have it add the units initially
widthSpinnerTextField.setValue(width);
}
SpinnerModel heightModel = new SpinnerNumberModel(height, 0, Integer.MAX_VALUE, 1);
JSpinner heightSpinner = new JSpinner(heightModel);
Component heightEditor = heightSpinner.getEditor();
JFormattedTextField heightSpinnerTextField = ((JSpinner.DefaultEditor) heightEditor).getTextField();
heightSpinnerTextField.setColumns(4);
if (units != null)
{
DecimalFormat df = ((JSpinner.NumberEditor) heightSpinner.getEditor()).getFormat();
df.setPositiveSuffix(units.value());
df.setNegativeSuffix(units.value());
// Force update the spinner to have it add the units initially
heightSpinnerTextField.setValue(height);
}
ChangeListener listener = e ->
configManager.setConfiguration(cd.getGroup().value(), cid.getItem().keyName(), widthSpinner.getValue() + "x" + heightSpinner.getValue());

View File

@@ -35,6 +35,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("Cox")
@@ -220,6 +221,7 @@ public interface CoxConfig extends Config
description = "Change the Size of the Olm Infobox.",
titleSection = "olmTitle"
)
@Units(Units.PIXELS)
default int prayAgainstOlmSize()
{
return 40;
@@ -390,6 +392,7 @@ public interface CoxConfig extends Config
description = "Text Size for Timers.",
titleSection = "text"
)
@Units(Units.POINTS)
default int textSize()
{
return 14;

View File

@@ -8,6 +8,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("drop")
public interface DropPartyConfig extends Config
@@ -70,6 +71,7 @@ public interface DropPartyConfig extends Config
name = "Text Size",
description = "Text Size for Timers."
)
@Units(Units.POINTS)
default int textSize()
{
return 18;

View File

@@ -33,6 +33,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("fightcave")
public interface FightCaveConfig extends Config
@@ -106,6 +107,7 @@ public interface FightCaveConfig extends Config
description = "Text Size for Timers.",
titleSection = "text"
)
@Units(Units.POINTS)
default int textSize()
{
return 32;

View File

@@ -28,6 +28,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup(FpsPlugin.CONFIG_GROUP_KEY)
public interface FpsConfig extends Config
@@ -54,6 +55,7 @@ public interface FpsConfig extends Config
description = "Desired max global frames per second",
position = 2
)
@Units(Units.FPS)
default int maxFps()
{
return 50;
@@ -80,6 +82,7 @@ public interface FpsConfig extends Config
description = "Desired max frames per second for unfocused",
position = 4
)
@Units(Units.FPS)
default int maxFpsUnfocused()
{
return 50;

View File

@@ -30,6 +30,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("freezetimers")
public interface FreezeTimersConfig extends Config
@@ -123,6 +124,7 @@ public interface FreezeTimersConfig extends Config
position = 8,
titleSection = "overlayTitle"
)
@Units(Units.PIXELS)
default int offset()
{
return 20;
@@ -163,6 +165,7 @@ public interface FreezeTimersConfig extends Config
position = 11,
titleSection = "overlayTitle"
)
@Units(Units.POINTS)
default int textSize()
{
return 11;

View File

@@ -35,6 +35,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("Gauntlet")
@@ -282,6 +283,7 @@ public interface GauntletConfig extends Config
description = " change the size of Projectile icons.",
titleSection = "boss"
)
@Units(Units.PIXELS)
default int projectileIconSize()
{
return 20;

View File

@@ -153,6 +153,7 @@ public interface GroundItemsConfig extends Config
position = 9,
titleSection = "highlightedTitle"
)
@Units(Units.GP)
default int getHighlightOverValue()
{
return 0;
@@ -232,6 +233,7 @@ public interface GroundItemsConfig extends Config
position = 15,
titleSection = "hiddenTitle"
)
@Units(Units.GP)
default int getHideUnderValue()
{
return 0;
@@ -339,6 +341,7 @@ public interface GroundItemsConfig extends Config
position = 24,
titleSection = "lowValueTitle"
)
@Units(Units.GP)
default int lowValuePrice()
{
return 20000;
@@ -387,6 +390,7 @@ public interface GroundItemsConfig extends Config
position = 28,
titleSection = "mediumValueTitle"
)
@Units(Units.GP)
default int mediumValuePrice()
{
return 100000;
@@ -435,6 +439,7 @@ public interface GroundItemsConfig extends Config
position = 32,
titleSection = "highValueTitle"
)
@Units(Units.GP)
default int highValuePrice()
{
return 1000000;
@@ -483,6 +488,7 @@ public interface GroundItemsConfig extends Config
position = 36,
titleSection = "insaneValueTitle"
)
@Units(Units.GP)
default int insaneValuePrice()
{
return 10000000;

View File

@@ -33,6 +33,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("groundMarker")
public interface GroundMarkerConfig extends Config
@@ -279,6 +280,7 @@ public interface GroundMarkerConfig extends Config
name = "Minimap opacity",
description = "The opacity of the minimap markers"
)
@Units(Units.PERCENT)
default int minimapOverlayOpacity()
{
return 100;

View File

@@ -30,6 +30,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("inventorygrid")
public interface InventoryGridConfig extends Config
@@ -74,6 +75,7 @@ public interface InventoryGridConfig extends Config
position = 4
)
@Range(min = 100)
@Units(Units.MILLISECONDS)
default int dragDelay()
{
return 100;

View File

@@ -26,6 +26,7 @@ package net.runelite.client.plugins.kingdomofmiscellania;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
@ConfigGroup("kingdomofmiscellania")
public interface KingdomConfig extends Config
@@ -59,6 +60,7 @@ public interface KingdomConfig extends Config
description = "Sends a message to your chatbox when your kingdom's coffer is below the threshold. Leave at 0 to disable.",
position = 2
)
@Units(Units.GP)
default int notifyCofferThreshold()
{
return 0;

View File

@@ -29,6 +29,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("metronome")
public interface MetronomePluginConfiguration extends Config
@@ -38,6 +39,7 @@ public interface MetronomePluginConfiguration extends Config
name = "Tick count",
description = "Configures the number of game ticks between metronome sounds"
)
@Units(Units.TICKS)
default int tickCount()
{
return 1;
@@ -58,6 +60,7 @@ public interface MetronomePluginConfiguration extends Config
name = "Tock every nth \"tick\"",
description = "Configures how many \"ticks\" between each \"tock\""
)
@Units(Units.TICKS)
default int tockNumber()
{
return 2;
@@ -102,6 +105,7 @@ public interface MetronomePluginConfiguration extends Config
name = "Volume modification",
description = "Configures tick/tock volume; only effects custom sounds."
)
@Units(Units.PERCENT)
default int volume()
{
return 35;

View File

@@ -30,6 +30,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("mining")
public interface MiningConfig extends Config
@@ -104,6 +105,7 @@ public interface MiningConfig extends Config
name = "Progress pie diameter",
description = "Configures how big the progress pie is"
)
@Units(Units.PIXELS)
default int progressPieDiameter()
{
return 30;

View File

@@ -28,6 +28,7 @@ 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.Units;
@ConfigGroup("npcindicators")
public interface NpcIndicatorsConfig extends Config
@@ -124,7 +125,8 @@ public interface NpcIndicatorsConfig extends Config
position = 7,
keyName = "showRespawnTimer",
name = "Show respawn timer",
description = "Show respawn timer of tagged NPCs")
description = "Show respawn timer of tagged NPCs"
)
default boolean showRespawnTimer()
{
return false;
@@ -134,7 +136,8 @@ public interface NpcIndicatorsConfig extends Config
position = 7,
keyName = "notifyOnRespawn",
name = "Notify on Respawn",
description = "Enable notification on respawn")
description = "Enable notification on respawn"
)
default boolean getNotifyOnRespawn()
{
return false;
@@ -144,7 +147,9 @@ public interface NpcIndicatorsConfig extends Config
position = 8,
keyName = "notifyOnRespawnDelay",
name = "Notification Delay",
description = "Notify when NPC is x ms from respawning")
description = "Notify when NPC is x ms from respawning"
)
@Units(Units.MILLISECONDS)
default int getNotifyOnRespawnDelay()
{
return -1;

View File

@@ -33,6 +33,7 @@ import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("objectindicators")
public interface ObjectIndicatorsConfig extends Config
@@ -109,6 +110,7 @@ public interface ObjectIndicatorsConfig extends Config
description = "Configures the opacity/alpha of object marker",
titleSection = "colorTitle"
)
@Units(Units.PERCENT)
default int objectMarkerAlpha()
{
return 100;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.performancestats;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
@ConfigGroup("performancestats")
public interface PerformanceStatsConfig extends Config
@@ -34,9 +35,10 @@ public interface PerformanceStatsConfig extends Config
@ConfigItem(
position = 0,
keyName = "submitTimeout",
name = "Submit Timeout (seconds)",
name = "Submit Timeout",
description = "Submits after this many seconds of inactivity"
)
@Units(Units.SECONDS)
default int submitTimeout()
{
return 30;

View File

@@ -27,6 +27,7 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("playerscouter")
public interface PlayerScouterConfig extends Config
@@ -116,6 +117,7 @@ public interface PlayerScouterConfig extends Config
description = "Minimum value for the item to be posted on discord.",
position = 6
)
@Units(Units.GP)
default int minimumValue()
{
return 1000;
@@ -157,6 +159,7 @@ public interface PlayerScouterConfig extends Config
description = "Minimum amount of ticks before the player can be scouted again. (1 tick = 600ms)",
position = 9
)
@Units(Units.TICKS)
default int timeout()
{
return 500;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.poison;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
@ConfigGroup(PoisonConfig.GROUP)
public interface PoisonConfig extends Config
@@ -81,6 +82,7 @@ public interface PoisonConfig extends Config
description = "The size the time left text for other players/npc's will be",
position = 3
)
@Units(Units.POINTS)
default int fontSize()
{
return 8;

View File

@@ -29,6 +29,7 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigTitleSection;
import net.runelite.client.config.Title;
import net.runelite.client.config.Units;
@ConfigGroup("pyramidplunder")
public interface PyramidPlunderConfig extends Config
@@ -133,6 +134,7 @@ public interface PyramidPlunderConfig extends Config
description = "Recolor time left(s)",
titleSection = "warningsTitle"
)
@Units(Units.SECONDS)
default int firstWarningTime()
{
return 90;
@@ -145,6 +147,7 @@ public interface PyramidPlunderConfig extends Config
description = "Recolor time left(s)",
titleSection = "warningsTitle"
)
@Units(Units.SECONDS)
default int secondWarningTime()
{
return 30;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.spellbook;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
@ConfigGroup("spellbook")
public interface SpellbookConfig extends Config
@@ -70,6 +71,7 @@ public interface SpellbookConfig extends Config
description = "Size (in px) of spells. Normal mobile size is 40px, use common sense for this setting",
position = 4
)
@Units(Units.PIXELS)
default int size()
{
return 40;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.statusbars;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Units;
import net.runelite.client.plugins.statusbars.config.BarMode;
@ConfigGroup("statusbars")
@@ -101,9 +102,10 @@ public interface StatusBarsConfig extends Config
@ConfigItem(
position = 7,
keyName = "hideStatusBarDelay",
name = "Delay (seconds)",
name = "Delay",
description = "Number of seconds after combat to hide the status bars."
)
@Units(Units.SECONDS)
default int hideStatusBarDelay()
{
return 3;

View File

@@ -33,6 +33,7 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.ConfigSection;
import net.runelite.client.config.Range;
import net.runelite.client.config.Units;
@ConfigGroup("thieving")
public interface ThievingConfig extends Config
@@ -40,9 +41,10 @@ public interface ThievingConfig extends Config
@ConfigItem(
position = 1,
keyName = "statTimeout",
name = "Reset stats (minutes)",
name = "Reset stats",
description = "Change the time until the thieving session is reset and the overlay is hidden"
)
@Units(Units.MINUTES)
default int statTimeout()
{
return 5;