inventory tags: add 4 additional tags (#1417)
* Update InventoryTagsConfig.java * Update InventoryTagsPlugin.java * config: Add support for multiple values on hide and unhide values * inventorytags: Amount of groups
This commit is contained in:
@@ -662,11 +662,23 @@ public class ConfigPanel extends PluginPanel
|
||||
@SuppressWarnings("unchecked") Enum selectedItem = Enum.valueOf(type, configManager.getConfiguration(cd.getGroup().value(), cid2.getItem().keyName()));
|
||||
if (!cid.getItem().unhideValue().equals(""))
|
||||
{
|
||||
show = selectedItem.toString().equals(cid.getItem().unhideValue());
|
||||
List<String> unhideValue = Splitter
|
||||
.onPattern("\\|\\|")
|
||||
.trimResults()
|
||||
.omitEmptyStrings()
|
||||
.splitToList(cid.getItem().unhideValue());
|
||||
|
||||
show = unhideValue.contains(selectedItem.toString());
|
||||
}
|
||||
else if (!cid.getItem().hideValue().equals(""))
|
||||
{
|
||||
show = !selectedItem.toString().equals(cid.getItem().hideValue());
|
||||
List<String> hideValue = Splitter
|
||||
.onPattern("\\|\\|")
|
||||
.trimResults()
|
||||
.omitEmptyStrings()
|
||||
.splitToList(cid.getItem().hideValue());
|
||||
|
||||
show = !hideValue.contains(selectedItem.toString());
|
||||
}
|
||||
}
|
||||
catch (IllegalArgumentException ex)
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
package net.runelite.client.plugins.inventorytags;
|
||||
|
||||
import java.awt.Color;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
import net.runelite.client.config.ConfigItem;
|
||||
@@ -34,11 +35,51 @@ public interface InventoryTagsConfig extends Config
|
||||
{
|
||||
String GROUP = "inventorytags";
|
||||
|
||||
@RequiredArgsConstructor
|
||||
enum amount
|
||||
{
|
||||
ONE("1"),
|
||||
TWO("2"),
|
||||
THREE("3"),
|
||||
FOUR("4"),
|
||||
FIVE("5"),
|
||||
SIX("6"),
|
||||
SEVEN("7"),
|
||||
EIGHT("8");
|
||||
|
||||
private final String name;
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public int toInt()
|
||||
{
|
||||
return Integer.parseInt(name);
|
||||
}
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 0,
|
||||
keyName = "amount",
|
||||
name = "Amount of groups",
|
||||
description = "The amount of inventory groups"
|
||||
)
|
||||
default amount getAmount()
|
||||
{
|
||||
return amount.FOUR;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 1,
|
||||
keyName = "groupColor1",
|
||||
name = "Group 1 Color",
|
||||
description = "Color of the Tag"
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "1 || 2 || 3 || 4 || 5 || 6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup1Color()
|
||||
{
|
||||
@@ -46,10 +87,13 @@ public interface InventoryTagsConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 1,
|
||||
position = 2,
|
||||
keyName = "groupColor2",
|
||||
name = "Group 2 Color",
|
||||
description = "Color of the Tag"
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "2 || 3 || 4 || 5 || 6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup2Color()
|
||||
{
|
||||
@@ -57,10 +101,13 @@ public interface InventoryTagsConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 2,
|
||||
position = 3,
|
||||
keyName = "groupColor3",
|
||||
name = "Group 3 Color",
|
||||
description = "Color of the Tag"
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "3 || 4 || 5 || 6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup3Color()
|
||||
{
|
||||
@@ -68,13 +115,72 @@ public interface InventoryTagsConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 3,
|
||||
position = 4,
|
||||
keyName = "groupColor4",
|
||||
name = "Group 4 Color",
|
||||
description = "Color of the Tag"
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "4 || 5 || 6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup4Color()
|
||||
{
|
||||
return new Color(255, 0, 255);
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 5,
|
||||
keyName = "groupColor5",
|
||||
name = "Group 5 Color",
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "5 || 6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup5Color()
|
||||
{
|
||||
return new Color(0, 255, 246);
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 6,
|
||||
keyName = "groupColor6",
|
||||
name = "Group 6 Color",
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "6 || 7 || 8"
|
||||
)
|
||||
default Color getGroup6Color()
|
||||
{
|
||||
return new Color(248, 255, 244);
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 7,
|
||||
keyName = "groupColor7",
|
||||
name = "Group 7 Color",
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "7 || 8"
|
||||
)
|
||||
default Color getGroup7Color()
|
||||
{
|
||||
return new Color(0, 0, 0);
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 8,
|
||||
keyName = "groupColor8",
|
||||
name = "Group 8 Color",
|
||||
description = "Color of the Tag",
|
||||
hidden = true,
|
||||
unhide = "amount",
|
||||
unhideValue = "8"
|
||||
)
|
||||
default Color getGroup8Color()
|
||||
{
|
||||
return new Color(104, 105, 255);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,11 @@ public class InventoryTagsPlugin extends Plugin
|
||||
private static final String SETNAME_GROUP_2 = "Group 2";
|
||||
private static final String SETNAME_GROUP_3 = "Group 3";
|
||||
private static final String SETNAME_GROUP_4 = "Group 4";
|
||||
private static final String SETNAME_GROUP_5 = "Group 5";
|
||||
private static final String SETNAME_GROUP_6 = "Group 6";
|
||||
private static final String SETNAME_GROUP_7 = "Group 7";
|
||||
private static final String SETNAME_GROUP_8 = "Group 8";
|
||||
|
||||
|
||||
private static final String CONFIGURE = "Configure";
|
||||
private static final String SAVE = "Save";
|
||||
@@ -84,7 +89,8 @@ public class InventoryTagsPlugin extends Plugin
|
||||
private static final WidgetMenuOption RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
|
||||
MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_TAB);
|
||||
|
||||
private static final List<String> GROUPS = ImmutableList.of(SETNAME_GROUP_4, SETNAME_GROUP_3, SETNAME_GROUP_2, SETNAME_GROUP_1);
|
||||
private static final List<String> GROUPS = ImmutableList.of(SETNAME_GROUP_8, SETNAME_GROUP_7, SETNAME_GROUP_6,
|
||||
SETNAME_GROUP_5, SETNAME_GROUP_4, SETNAME_GROUP_3, SETNAME_GROUP_2, SETNAME_GROUP_1);
|
||||
|
||||
@Inject
|
||||
private Client client;
|
||||
@@ -109,10 +115,15 @@ public class InventoryTagsPlugin extends Plugin
|
||||
|
||||
private boolean editorMode;
|
||||
|
||||
private InventoryTagsConfig.amount amount;
|
||||
private Color group1Color;
|
||||
private Color group2Color;
|
||||
private Color group3Color;
|
||||
private Color group4Color;
|
||||
private Color group5Color;
|
||||
private Color group6Color;
|
||||
private Color group7Color;
|
||||
private Color group8Color;
|
||||
|
||||
@Provides
|
||||
InventoryTagsConfig provideConfig(ConfigManager configManager)
|
||||
@@ -220,13 +231,15 @@ public class InventoryTagsPlugin extends Plugin
|
||||
return;
|
||||
}
|
||||
|
||||
MenuEntry[] menuList = new MenuEntry[GROUPS.size() + 1];
|
||||
MenuEntry[] menuList = new MenuEntry[amount.toInt() + 1];
|
||||
int num = 0;
|
||||
|
||||
// preserve the 'Cancel' option as the client will reuse the first entry for Cancel and only resets option/action
|
||||
menuList[num++] = event.getMenuEntries()[0];
|
||||
|
||||
for (final String groupName : GROUPS)
|
||||
List<String> groups = GROUPS.subList(Math.max(GROUPS.size() - amount.toInt(), 0), GROUPS.size());
|
||||
|
||||
for (final String groupName : groups)
|
||||
{
|
||||
final String group = getTag(itemId);
|
||||
final MenuEntry newMenu = new MenuEntry();
|
||||
@@ -257,8 +270,15 @@ public class InventoryTagsPlugin extends Plugin
|
||||
return this.group3Color;
|
||||
case SETNAME_GROUP_4:
|
||||
return this.group4Color;
|
||||
case SETNAME_GROUP_5:
|
||||
return this.group5Color;
|
||||
case SETNAME_GROUP_6:
|
||||
return this.group6Color;
|
||||
case SETNAME_GROUP_7:
|
||||
return this.group7Color;
|
||||
case SETNAME_GROUP_8:
|
||||
return this.group8Color;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -299,9 +319,14 @@ public class InventoryTagsPlugin extends Plugin
|
||||
|
||||
private void updateConfig()
|
||||
{
|
||||
this.amount = config.getAmount();
|
||||
this.group1Color = config.getGroup1Color();
|
||||
this.group2Color = config.getGroup2Color();
|
||||
this.group3Color = config.getGroup3Color();
|
||||
this.group4Color = config.getGroup4Color();
|
||||
this.group5Color = config.getGroup5Color();
|
||||
this.group6Color = config.getGroup6Color();
|
||||
this.group7Color = config.getGroup7Color();
|
||||
this.group8Color = config.getGroup8Color();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user