Merge pull request #16 from runelite-extended/pluginOrganizer
Plugin Organizer
This commit is contained in:
@@ -58,4 +58,6 @@ public @interface PluginDescriptor
|
|||||||
boolean developerPlugin() default false;
|
boolean developerPlugin() default false;
|
||||||
|
|
||||||
boolean loadWhenOutdated() default false;
|
boolean loadWhenOutdated() default false;
|
||||||
|
|
||||||
|
String type() default "";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,9 +28,22 @@ import net.runelite.client.config.Config;
|
|||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigItem;
|
import net.runelite.client.config.ConfigItem;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
@ConfigGroup("aoe")
|
@ConfigGroup("aoe")
|
||||||
public interface AoeWarningConfig extends Config
|
public interface AoeWarningConfig extends Config
|
||||||
{
|
{
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "pluginType",
|
||||||
|
name = "Plugin Type",
|
||||||
|
description = "Sets the group of this plugin",
|
||||||
|
hidden = true
|
||||||
|
)
|
||||||
|
default String pluginTyoe()
|
||||||
|
{
|
||||||
|
return "PVM";
|
||||||
|
}
|
||||||
|
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "enabled",
|
keyName = "enabled",
|
||||||
name = "AoE Warnings Enabled",
|
name = "AoE Warnings Enabled",
|
||||||
|
|||||||
@@ -61,9 +61,10 @@ import java.util.Map;
|
|||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!AoE Warnings</font>",
|
name = "AoE Warnings",
|
||||||
description = "Shows the final destination for AoE Attack projectiles",
|
description = "Shows the final destination for AoE Attack projectiles",
|
||||||
tags = {"bosses", "combat", "pve", "overlay"}
|
tags = {"bosses", "combat", "pve", "overlay"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|||||||
@@ -22,9 +22,10 @@ import net.runelite.client.util.Text;
|
|||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"aqua\">!Clan Man Mode</font>",
|
name = "Clan Man Mode",
|
||||||
description = "Assists in clan PVP scenarios",
|
description = "Assists in clan PVP scenarios",
|
||||||
tags = {"highlight", "minimap", "overlay", "players"}
|
tags = {"highlight", "minimap", "overlay", "players"},
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
public class ClanManModePlugin extends Plugin
|
public class ClanManModePlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ import net.runelite.client.plugins.Plugin;
|
|||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.PluginInstantiationException;
|
import net.runelite.client.plugins.PluginInstantiationException;
|
||||||
import net.runelite.client.plugins.PluginManager;
|
import net.runelite.client.plugins.PluginManager;
|
||||||
|
import net.runelite.client.plugins.pluginsorter.PluginSorterPlugin;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.DynamicGridLayout;
|
import net.runelite.client.ui.DynamicGridLayout;
|
||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
@@ -112,7 +113,7 @@ public class ConfigPanel extends PluginPanel
|
|||||||
private final ScheduledExecutorService executorService;
|
private final ScheduledExecutorService executorService;
|
||||||
private final RuneLiteConfig runeLiteConfig;
|
private final RuneLiteConfig runeLiteConfig;
|
||||||
private final ChatColorConfig chatColorConfig;
|
private final ChatColorConfig chatColorConfig;
|
||||||
private final List<PluginListItem> pluginList = new ArrayList<>();
|
public static List<PluginListItem> pluginList = new ArrayList<>();
|
||||||
|
|
||||||
private final IconTextField searchBar = new IconTextField();
|
private final IconTextField searchBar = new IconTextField();
|
||||||
private final JPanel topPanel;
|
private final JPanel topPanel;
|
||||||
@@ -187,40 +188,123 @@ public class ConfigPanel extends PluginPanel
|
|||||||
|
|
||||||
initializePluginList();
|
initializePluginList();
|
||||||
refreshPluginList();
|
refreshPluginList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializePluginList()
|
private void initializePluginList()
|
||||||
{
|
{
|
||||||
final List<String> pinnedPlugins = getPinnedPluginNames();
|
final List<String> pinnedPlugins = getPinnedPluginNames();
|
||||||
|
|
||||||
// populate pluginList with all non-hidden plugins
|
List<PluginListItem> pvmPlugins = new ArrayList<>();
|
||||||
|
// populate pluginList with all PVM Plugins
|
||||||
pluginManager.getPlugins().stream()
|
pluginManager.getPlugins().stream()
|
||||||
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).hidden())
|
.filter(plugin -> plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("PVM"))
|
||||||
.forEach(plugin ->
|
.forEach(plugin ->
|
||||||
{
|
{
|
||||||
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
||||||
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
||||||
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
||||||
|
|
||||||
final PluginListItem listItem = new PluginListItem(this, plugin, descriptor, config, configDescriptor);
|
final PluginListItem listItem = new PluginListItem(this, configManager, plugin, descriptor, config, configDescriptor);
|
||||||
|
System.out.println("Started "+listItem.getName());
|
||||||
listItem.setPinned(pinnedPlugins.contains(listItem.getName()));
|
listItem.setPinned(pinnedPlugins.contains(listItem.getName()));
|
||||||
pluginList.add(listItem);
|
pvmPlugins.add(listItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
pvmPlugins.sort(Comparator.comparing(PluginListItem::getName));
|
||||||
|
for (PluginListItem plugin : pvmPlugins)
|
||||||
|
pluginList.add(plugin);
|
||||||
|
|
||||||
|
List<PluginListItem> pvpPlugins = new ArrayList<>();
|
||||||
|
// populate pluginList with all PVP Plugins
|
||||||
|
pluginManager.getPlugins().stream()
|
||||||
|
.filter(plugin -> plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("PVP"))
|
||||||
|
.forEach(plugin ->
|
||||||
|
{
|
||||||
|
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
||||||
|
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
||||||
|
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
||||||
|
|
||||||
|
final PluginListItem listItem = new PluginListItem(this, configManager, plugin, descriptor, config, configDescriptor);
|
||||||
|
System.out.println("Started "+listItem.getName());
|
||||||
|
listItem.setPinned(pinnedPlugins.contains(listItem.getName()));
|
||||||
|
pvpPlugins.add(listItem);
|
||||||
|
});
|
||||||
|
|
||||||
|
pvpPlugins.sort(Comparator.comparing(PluginListItem::getName));
|
||||||
|
for (PluginListItem plugin : pvpPlugins)
|
||||||
|
pluginList.add(plugin);
|
||||||
|
|
||||||
|
List<PluginListItem> utilPlugins = new ArrayList<>();
|
||||||
|
// populate pluginList with all PVP Plugins
|
||||||
|
pluginManager.getPlugins().stream()
|
||||||
|
.filter(plugin -> plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("utility"))
|
||||||
|
.forEach(plugin ->
|
||||||
|
{
|
||||||
|
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
||||||
|
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
||||||
|
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
||||||
|
|
||||||
|
final PluginListItem listItem = new PluginListItem(this, configManager, plugin, descriptor, config, configDescriptor);
|
||||||
|
System.out.println("Started "+listItem.getName());
|
||||||
|
listItem.setPinned(pinnedPlugins.contains(listItem.getName()));
|
||||||
|
utilPlugins.add(listItem);
|
||||||
|
});
|
||||||
|
|
||||||
|
utilPlugins.sort(Comparator.comparing(PluginListItem::getName));
|
||||||
|
for (PluginListItem plugin : utilPlugins)
|
||||||
|
pluginList.add(plugin);
|
||||||
|
|
||||||
|
// populate pluginList with all vanilla RL plugins
|
||||||
|
List<PluginListItem> vanillaPlugins = new ArrayList<>();
|
||||||
|
pluginManager.getPlugins().stream()
|
||||||
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).hidden())
|
||||||
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("PVM"))
|
||||||
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("PVP"))
|
||||||
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("utility"))
|
||||||
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("pluginOrganizer"))
|
||||||
|
.forEach(plugin ->
|
||||||
|
{
|
||||||
|
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
||||||
|
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
||||||
|
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
||||||
|
|
||||||
|
final PluginListItem listItem = new PluginListItem(this, configManager, plugin, descriptor, config, configDescriptor);
|
||||||
|
listItem.setPinned(pinnedPlugins.contains(listItem.getName()));
|
||||||
|
vanillaPlugins.add(listItem);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
vanillaPlugins.sort(Comparator.comparing(PluginListItem::getName));
|
||||||
|
for (PluginListItem plugin : vanillaPlugins)
|
||||||
|
pluginList.add(plugin);
|
||||||
|
|
||||||
// add special entries for core client configurations
|
// add special entries for core client configurations
|
||||||
final PluginListItem runeLite = new PluginListItem(this, runeLiteConfig,
|
final PluginListItem runeLite = new PluginListItem(this, configManager, runeLiteConfig,
|
||||||
configManager.getConfigDescriptor(runeLiteConfig),
|
configManager.getConfigDescriptor(runeLiteConfig),
|
||||||
RUNELITE_PLUGIN, "RuneLite client settings", "client");
|
RUNELITE_PLUGIN, "RuneLite client settings", "client");
|
||||||
runeLite.setPinned(pinnedPlugins.contains(RUNELITE_PLUGIN));
|
runeLite.setPinned(pinnedPlugins.contains(RUNELITE_PLUGIN));
|
||||||
pluginList.add(runeLite);
|
pluginList.add(runeLite);
|
||||||
|
|
||||||
final PluginListItem chatColor = new PluginListItem(this, chatColorConfig,
|
final PluginListItem chatColor = new PluginListItem(this, configManager, chatColorConfig,
|
||||||
configManager.getConfigDescriptor(chatColorConfig),
|
configManager.getConfigDescriptor(chatColorConfig),
|
||||||
CHAT_COLOR_PLUGIN, "Recolor chat text", "colour", "messages");
|
CHAT_COLOR_PLUGIN, "Recolor chat text", "colour", "messages");
|
||||||
chatColor.setPinned(pinnedPlugins.contains(CHAT_COLOR_PLUGIN));
|
chatColor.setPinned(pinnedPlugins.contains(CHAT_COLOR_PLUGIN));
|
||||||
pluginList.add(chatColor);
|
pluginList.add(chatColor);
|
||||||
|
|
||||||
pluginList.sort(Comparator.comparing(PluginListItem::getName));
|
// Add plugin sorter to bottom
|
||||||
|
pluginManager.getPlugins().stream()
|
||||||
|
.filter(plugin -> plugin.getClass().getAnnotation(PluginDescriptor.class).type().equals("pluginOrganizer"))
|
||||||
|
.forEach(plugin ->
|
||||||
|
{
|
||||||
|
final PluginDescriptor descriptor = plugin.getClass().getAnnotation(PluginDescriptor.class);
|
||||||
|
final Config config = pluginManager.getPluginConfigProxy(plugin);
|
||||||
|
final ConfigDescriptor configDescriptor = config == null ? null : configManager.getConfigDescriptor(config);
|
||||||
|
|
||||||
|
final PluginListItem listItem = new PluginListItem(this, configManager, plugin, descriptor, config, configDescriptor);
|
||||||
|
System.out.println("Started "+listItem.getName());
|
||||||
|
pluginList.add(listItem);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void refreshPluginList()
|
void refreshPluginList()
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import javax.inject.Inject;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@@ -40,16 +41,20 @@ import lombok.AccessLevel;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.client.config.Config;
|
import net.runelite.client.config.Config;
|
||||||
import net.runelite.client.config.ConfigDescriptor;
|
import net.runelite.client.config.ConfigDescriptor;
|
||||||
|
import net.runelite.client.config.ConfigItemDescriptor;
|
||||||
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
import net.runelite.client.ui.components.IconButton;
|
import net.runelite.client.ui.components.IconButton;
|
||||||
|
import net.runelite.client.util.ColorUtil;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import org.apache.commons.text.similarity.JaroWinklerDistance;
|
import org.apache.commons.text.similarity.JaroWinklerDistance;
|
||||||
|
|
||||||
class PluginListItem extends JPanel
|
public class PluginListItem extends JPanel
|
||||||
{
|
{
|
||||||
private static final JaroWinklerDistance DISTANCE = new JaroWinklerDistance();
|
private static final JaroWinklerDistance DISTANCE = new JaroWinklerDistance();
|
||||||
|
public JLabel nameLabel;
|
||||||
|
|
||||||
private static final ImageIcon CONFIG_ICON;
|
private static final ImageIcon CONFIG_ICON;
|
||||||
private static final ImageIcon CONFIG_ICON_HOVER;
|
private static final ImageIcon CONFIG_ICON_HOVER;
|
||||||
@@ -59,6 +64,7 @@ class PluginListItem extends JPanel
|
|||||||
private static final ImageIcon OFF_STAR;
|
private static final ImageIcon OFF_STAR;
|
||||||
|
|
||||||
private final ConfigPanel configPanel;
|
private final ConfigPanel configPanel;
|
||||||
|
public final ConfigManager configManager;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -70,7 +76,7 @@ class PluginListItem extends JPanel
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private final ConfigDescriptor configDescriptor;
|
public final ConfigDescriptor configDescriptor;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final String name;
|
private final String name;
|
||||||
@@ -120,26 +126,27 @@ class PluginListItem extends JPanel
|
|||||||
* Note that {@code config} and {@code configDescriptor} can be {@code null}
|
* Note that {@code config} and {@code configDescriptor} can be {@code null}
|
||||||
* if there is no configuration associated with the plugin.
|
* if there is no configuration associated with the plugin.
|
||||||
*/
|
*/
|
||||||
PluginListItem(ConfigPanel configPanel, Plugin plugin, PluginDescriptor descriptor,
|
PluginListItem(ConfigPanel configPanel, ConfigManager configManager, Plugin plugin, PluginDescriptor descriptor,
|
||||||
@Nullable Config config, @Nullable ConfigDescriptor configDescriptor)
|
@Nullable Config config, @Nullable ConfigDescriptor configDescriptor)
|
||||||
{
|
{
|
||||||
this(configPanel, plugin, config, configDescriptor,
|
this(configPanel, configManager, plugin, config, configDescriptor,
|
||||||
descriptor.name(), descriptor.description(), descriptor.tags());
|
descriptor.name(), descriptor.description(), descriptor.tags());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new {@code PluginListItem} for a core configuration.
|
* Creates a new {@code PluginListItem} for a core configuration.
|
||||||
*/
|
*/
|
||||||
PluginListItem(ConfigPanel configPanel, Config config, ConfigDescriptor configDescriptor,
|
PluginListItem(ConfigPanel configPanel, ConfigManager configManager, Config config, ConfigDescriptor configDescriptor,
|
||||||
String name, String description, String... tags)
|
String name, String description, String... tags)
|
||||||
{
|
{
|
||||||
this(configPanel, null, config, configDescriptor, name, description, tags);
|
this(configPanel, configManager, null, config, configDescriptor, name, description, tags);
|
||||||
}
|
}
|
||||||
|
|
||||||
private PluginListItem(ConfigPanel configPanel, @Nullable Plugin plugin, @Nullable Config config,
|
private PluginListItem(ConfigPanel configPanel, ConfigManager configManager, @Nullable Plugin plugin, @Nullable Config config,
|
||||||
@Nullable ConfigDescriptor configDescriptor, String name, String description, String... tags)
|
@Nullable ConfigDescriptor configDescriptor, String name, String description, String... tags)
|
||||||
{
|
{
|
||||||
this.configPanel = configPanel;
|
this.configPanel = configPanel;
|
||||||
|
this.configManager = configManager;
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.configDescriptor = configDescriptor;
|
this.configDescriptor = configDescriptor;
|
||||||
@@ -152,8 +159,7 @@ class PluginListItem extends JPanel
|
|||||||
setLayout(new BorderLayout(3, 0));
|
setLayout(new BorderLayout(3, 0));
|
||||||
setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH, 20));
|
setPreferredSize(new Dimension(PluginPanel.PANEL_WIDTH, 20));
|
||||||
|
|
||||||
JLabel nameLabel = new JLabel(name);
|
nameLabel = new JLabel(name);
|
||||||
nameLabel.setForeground(Color.WHITE);
|
|
||||||
|
|
||||||
if (!description.isEmpty())
|
if (!description.isEmpty())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -32,8 +32,10 @@ import java.util.*;
|
|||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Equipment Inspector</font>",
|
name = "Equipment Inspector",
|
||||||
enabledByDefault = false
|
description = "Inspects enemy equipment",
|
||||||
|
enabledByDefault = false,
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|||||||
@@ -15,9 +15,10 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Fight Cave - Jad</font>",
|
name = "Fight Cave - Jad",
|
||||||
description = "Show what to pray against Jad",
|
description = "Show what to pray against Jad",
|
||||||
tags = {"bosses", "combat", "minigame", "overlay", "prayer", "pve", "pvm"},
|
tags = {"bosses", "combat", "minigame", "overlay", "prayer", "pve", "pvm"},
|
||||||
|
type = "PVM",
|
||||||
enabledByDefault = false
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
public class FightCaveJadHelperPlugin extends Plugin
|
public class FightCaveJadHelperPlugin extends Plugin
|
||||||
|
|||||||
@@ -45,9 +45,10 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
|||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Fight Cave - Waves</font>",
|
name = "Fight Cave - Waves",
|
||||||
description = "Displays current and upcoming wave monsters in the Fight Caves",
|
description = "Displays current and upcoming wave monsters in the Fight Caves",
|
||||||
tags = {"bosses", "combat", "minigame", "overlay", "pve", "pvm", "jad", "fire", "cape", "wave"},
|
tags = {"bosses", "combat", "minigame", "overlay", "pve", "pvm", "jad", "fire", "cape", "wave"},
|
||||||
|
type = "PVM",
|
||||||
enabledByDefault = false
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
public class FightCaveWaveHelperPlugin extends Plugin
|
public class FightCaveWaveHelperPlugin extends Plugin
|
||||||
|
|||||||
@@ -57,9 +57,10 @@ import net.runelite.client.util.ImageUtil;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"aqua\">!Freeze Timers</font>",
|
name = "Freeze Timers",
|
||||||
description = "PVP Freeze Timers",
|
description = "PVP Freeze Timers",
|
||||||
tags = {"PvP", "Freeze", "Timers"}
|
tags = {"PvP", "Freeze", "Timers"},
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
|
|
||||||
public class FreezeTimersPlugin
|
public class FreezeTimersPlugin
|
||||||
|
|||||||
@@ -30,9 +30,10 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Grotesque Guardians</font>",
|
name = "Grotesque Guardians",
|
||||||
description = "Display tile indicators for the Grotesque Guardian special attacks",
|
description = "Display tile indicators for the Grotesque Guardian special attacks",
|
||||||
tags = {"grotesque", "guardians", "gargoyle", "garg"}
|
tags = {"grotesque", "guardians", "gargoyle", "garg"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
public class GrotesqueGuardiansPlugin extends Plugin
|
public class GrotesqueGuardiansPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,8 +20,9 @@ import java.util.Objects;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Hide Prayers</font>",
|
name = "Hide Prayers",
|
||||||
description = "Hides specific Prayers in the Prayer tab."
|
description = "Hides specific Prayers in the Prayer tab.",
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class HidePrayersPlugin extends Plugin {
|
public class HidePrayersPlugin extends Plugin {
|
||||||
private static final int PRAYER_COUNT = Prayer.values().length;
|
private static final int PRAYER_COUNT = Prayer.values().length;
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ import net.runelite.api.Client;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "!Kitten Notifier",
|
name = "Kitten Notifier",
|
||||||
description = "Sends a notification when your kitten needs food, attention, or is grown.",
|
description = "Sends a notification when your kitten needs food, attention, or is grown.",
|
||||||
tags = {"kitten, notifications"}
|
tags = {"kitten, notifications"},
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class KittenNotifierPlugin extends Plugin{
|
public class KittenNotifierPlugin extends Plugin{
|
||||||
@Inject
|
@Inject
|
||||||
@@ -54,7 +55,7 @@ public class KittenNotifierPlugin extends Plugin{
|
|||||||
if (!config.catOwned()) {
|
if (!config.catOwned()) {
|
||||||
for (NPC npc : client.getNpcs()) {
|
for (NPC npc : client.getNpcs()) {
|
||||||
if (npc.getInteracting() != null) {
|
if (npc.getInteracting() != null) {
|
||||||
if (npc.getName().contentEquals("Cat") && !config.catOwned()) {
|
if (npc.getName().equals("Cat") && !config.catOwned()) {
|
||||||
// If this if statement is included in previous it could null.
|
// If this if statement is included in previous it could null.
|
||||||
if (npc.getInteracting().getName().contentEquals(client.getLocalPlayer().getName())) {
|
if (npc.getInteracting().getName().contentEquals(client.getLocalPlayer().getName())) {
|
||||||
config.catOwned(true);
|
config.catOwned(true);
|
||||||
|
|||||||
@@ -19,10 +19,11 @@ import java.util.Map;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Lizard Shamans</font>",
|
name = "Lizard Shamans",
|
||||||
description = "Configures timer for lizardmen shaman spawns.",
|
description = "Configures timer for lizardmen shaman spawns.",
|
||||||
enabledByDefault = false,
|
enabledByDefault = false,
|
||||||
tags = {"shaman", "lizard", "lizardmen"}
|
tags = {"shaman", "lizard", "lizardmen"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class LizardmenShamanPlugin extends Plugin
|
public class LizardmenShamanPlugin extends Plugin
|
||||||
|
|||||||
@@ -25,10 +25,11 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Menu Modifier</font>",
|
name = "Menu Modifier",
|
||||||
description = "Changes right click menu for players",
|
description = "Changes right click menu for players",
|
||||||
tags = { "menu", "modifier", "right", "click", "pk", "bogla" },
|
tags = { "menu", "modifier", "right", "click", "pk", "bogla" },
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class MenuModifierPlugin extends Plugin
|
public class MenuModifierPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import java.awt.Polygon;
|
import java.awt.Polygon;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -22,15 +22,15 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import net.runelite.client.config.Config;
|
import net.runelite.client.config.Config;
|
||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigItem;
|
import net.runelite.client.config.ConfigItem;
|
||||||
|
|
||||||
@ConfigGroup("zoneIndicators")
|
@ConfigGroup("multiindicators")
|
||||||
public interface ZoneIndicatorsConfig extends Config
|
public interface MultiIndicatorsConfig extends Config
|
||||||
{
|
{
|
||||||
@ConfigItem(
|
@ConfigItem(
|
||||||
keyName = "multicombatZoneVisibility",
|
keyName = "multicombatZoneVisibility",
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@@ -40,7 +40,7 @@ import net.runelite.client.ui.overlay.OverlayLayer;
|
|||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||||
|
|
||||||
public class ZoneIndicatorsMinimapOverlay extends Overlay
|
public class MultiIndicatorsMinimapOverlay extends Overlay
|
||||||
{
|
{
|
||||||
private final static int MAX_LOCAL_DRAW_LENGTH = 20 * Perspective.LOCAL_TILE_SIZE;
|
private final static int MAX_LOCAL_DRAW_LENGTH = 20 * Perspective.LOCAL_TILE_SIZE;
|
||||||
|
|
||||||
@@ -48,13 +48,13 @@ public class ZoneIndicatorsMinimapOverlay extends Overlay
|
|||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsPlugin plugin;
|
private MultiIndicatorsPlugin plugin;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsConfig config;
|
private MultiIndicatorsConfig config;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ZoneIndicatorsMinimapOverlay()
|
public MultiIndicatorsMinimapOverlay()
|
||||||
{
|
{
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import java.awt.BasicStroke;
|
import java.awt.BasicStroke;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@@ -41,7 +41,7 @@ import net.runelite.client.ui.overlay.OverlayLayer;
|
|||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||||
|
|
||||||
public class ZoneIndicatorsOverlay extends Overlay
|
public class MultiIndicatorsOverlay extends Overlay
|
||||||
{
|
{
|
||||||
private final static int MAX_LOCAL_DRAW_LENGTH = 20 * Perspective.LOCAL_TILE_SIZE;
|
private final static int MAX_LOCAL_DRAW_LENGTH = 20 * Perspective.LOCAL_TILE_SIZE;
|
||||||
|
|
||||||
@@ -49,13 +49,13 @@ public class ZoneIndicatorsOverlay extends Overlay
|
|||||||
private Client client;
|
private Client client;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsPlugin plugin;
|
private MultiIndicatorsPlugin plugin;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsConfig config;
|
private MultiIndicatorsConfig config;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ZoneIndicatorsOverlay()
|
public MultiIndicatorsOverlay()
|
||||||
{
|
{
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
setLayer(OverlayLayer.ABOVE_SCENE);
|
setLayer(OverlayLayer.ABOVE_SCENE);
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import com.google.inject.Provides;
|
import com.google.inject.Provides;
|
||||||
@@ -52,12 +52,13 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"aqua\">!MultiLines</font>",
|
name = "Multi-Lines",
|
||||||
description = "Show borders of multicombat and PvP safezones",
|
description = "Show borders of multicombat and PvP safezones",
|
||||||
tags = {"multicombat", "lines", "pvp", "deadman", "safezones", "bogla"},
|
tags = {"multicombat", "lines", "pvp", "deadman", "safezones", "bogla"},
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
public class ZoneIndicatorsPlugin extends Plugin
|
public class MultiIndicatorsPlugin extends Plugin
|
||||||
{
|
{
|
||||||
@Inject
|
@Inject
|
||||||
private Client client;
|
private Client client;
|
||||||
@@ -66,13 +67,13 @@ public class ZoneIndicatorsPlugin extends Plugin
|
|||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsConfig config;
|
private MultiIndicatorsConfig config;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsOverlay overlay;
|
private MultiIndicatorsOverlay overlay;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ZoneIndicatorsMinimapOverlay minimapOverlay;
|
private MultiIndicatorsMinimapOverlay minimapOverlay;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayManager overlayManager;
|
private OverlayManager overlayManager;
|
||||||
@@ -92,9 +93,9 @@ public class ZoneIndicatorsPlugin extends Plugin
|
|||||||
private int currentPlane;
|
private int currentPlane;
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
ZoneIndicatorsConfig getConfig(ConfigManager configManager)
|
MultiIndicatorsConfig getConfig(ConfigManager configManager)
|
||||||
{
|
{
|
||||||
return configManager.getConfig(ZoneIndicatorsConfig.class);
|
return configManager.getConfig(MultiIndicatorsConfig.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.plugins.zoneIndicators;
|
package net.runelite.client.plugins.multiindicators;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
@@ -16,10 +16,11 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Next Hit Notifier</font>",
|
name = "Next Hit Notifier",
|
||||||
description = "Shows estimated next hit based on xp drop.",
|
description = "Shows estimated next hit based on xp drop.",
|
||||||
tags = { "experience", "damage", "overlay", "pking", "bogla" },
|
tags = { "experience", "damage", "overlay", "pking", "bogla" },
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class NextHitNotifierPlugin extends Plugin
|
public class NextHitNotifierPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,10 +18,11 @@ import net.runelite.client.util.MiscUtils;
|
|||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"aqua\">!PK Vision</font>",
|
name = "PK Vision",
|
||||||
description = "Highlight players on-screen and/or on the minimap",
|
description = "Highlight players on-screen and/or on the minimap",
|
||||||
tags = {"highlight", "minimap", "overlay", "players", "pk", "helper", "vision", "bogla"},
|
tags = {"highlight", "minimap", "overlay", "players", "pk", "helper", "vision", "bogla"},
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
public class PKVisionPlugin extends Plugin
|
public class PKVisionPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
package net.runelite.client.plugins.pluginsorter;
|
||||||
|
|
||||||
|
import net.runelite.client.config.Config;
|
||||||
|
import net.runelite.client.config.ConfigGroup;
|
||||||
|
import net.runelite.client.config.ConfigItem;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
@ConfigGroup("runelit")
|
||||||
|
public interface PluginSorterConfig extends Config {
|
||||||
|
|
||||||
|
Color rlDefault = new Color(250, 155, 23);
|
||||||
|
|
||||||
|
boolean pluginsHidden = false;
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 0,
|
||||||
|
keyName = "hidePlugins",
|
||||||
|
name = "Hide Plugins",
|
||||||
|
description = "Hides all 3rd party plugins if checked"
|
||||||
|
)
|
||||||
|
default boolean hidePlugins()
|
||||||
|
{
|
||||||
|
return pluginsHidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 1,
|
||||||
|
keyName = "pvmColor",
|
||||||
|
name = "PVM color",
|
||||||
|
description = "Configure the color of PVM related plugins"
|
||||||
|
)
|
||||||
|
default Color pvmColor()
|
||||||
|
{
|
||||||
|
return Color.GREEN;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 2,
|
||||||
|
keyName = "pvpColor",
|
||||||
|
name = "PVP color",
|
||||||
|
description = "Configure the color of PVP related plugins"
|
||||||
|
)
|
||||||
|
default Color pvpColor()
|
||||||
|
{
|
||||||
|
return Color.RED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
position = 3,
|
||||||
|
keyName = "utilityColor",
|
||||||
|
name = "Utility color",
|
||||||
|
description = "Configure the color of utility related plugins"
|
||||||
|
)
|
||||||
|
default Color utilityColor()
|
||||||
|
{
|
||||||
|
return Color.CYAN;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
package net.runelite.client.plugins.pluginsorter;
|
||||||
|
|
||||||
|
import com.google.inject.Provides;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.api.events.ConfigChanged;
|
||||||
|
import net.runelite.api.events.GameStateChanged;
|
||||||
|
import net.runelite.client.config.ConfigItemDescriptor;
|
||||||
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
|
import net.runelite.client.plugins.Plugin;
|
||||||
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
import net.runelite.client.plugins.config.ConfigPanel;
|
||||||
|
import net.runelite.client.plugins.config.PluginListItem;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@PluginDescriptor(
|
||||||
|
name = "Plugin Organizer",
|
||||||
|
description = "Hides and colors 3rd party plugins for better control",
|
||||||
|
tags = {"Fuck RL","Abex is shit :p"},
|
||||||
|
type = "pluginOrganizer"
|
||||||
|
)
|
||||||
|
public class PluginSorterPlugin extends Plugin {
|
||||||
|
|
||||||
|
//Cache the hidden plugins
|
||||||
|
public static List<PluginListItem> removedPlugins = new ArrayList<>();
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private PluginSorterConfig config;
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
PluginSorterConfig provideConfig(ConfigManager configManager)
|
||||||
|
{
|
||||||
|
return configManager.getConfig(PluginSorterConfig.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void startUp() throws Exception
|
||||||
|
{
|
||||||
|
updateColors();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void shutDown() throws Exception
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onGameStateChanged (GameStateChanged gameStateChanged)
|
||||||
|
{
|
||||||
|
if (gameStateChanged.getGameState()== GameState.LOGIN_SCREEN) {
|
||||||
|
if (config.hidePlugins())
|
||||||
|
hidePlugins();
|
||||||
|
updateColors();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onConfigChanged(ConfigChanged configChanged) {
|
||||||
|
if (configChanged.getKey().equals("hidePlugins")) {
|
||||||
|
if (config.hidePlugins()) {
|
||||||
|
hidePlugins();
|
||||||
|
} else {
|
||||||
|
showPlugins();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateColors();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateColors() {
|
||||||
|
for (PluginListItem pli : ConfigPanel.pluginList) {
|
||||||
|
if (pli.getPlugin()!=null) {
|
||||||
|
if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type()!=null)
|
||||||
|
if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("PVM"))
|
||||||
|
pli.nameLabel.setForeground(config.pvmColor());
|
||||||
|
else if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("PVP"))
|
||||||
|
pli.nameLabel.setForeground(config.pvpColor());
|
||||||
|
else if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("utility"))
|
||||||
|
pli.nameLabel.setForeground(config.utilityColor());
|
||||||
|
else
|
||||||
|
pli.nameLabel.setForeground(Color.WHITE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void hidePlugins() {
|
||||||
|
Iterator<PluginListItem> iter = ConfigPanel.pluginList.iterator();
|
||||||
|
while (iter.hasNext()) {
|
||||||
|
PluginListItem pli = iter.next();
|
||||||
|
if (pli.getPlugin() != null) {
|
||||||
|
if (!pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals(""))
|
||||||
|
if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("PVM")) {
|
||||||
|
iter.remove();
|
||||||
|
removedPlugins.add(pli);
|
||||||
|
}
|
||||||
|
if (!pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals(""))
|
||||||
|
if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("PVP")) {
|
||||||
|
iter.remove();
|
||||||
|
removedPlugins.add(pli);
|
||||||
|
}
|
||||||
|
if (!pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals(""))
|
||||||
|
if (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type().equals("utility")) {
|
||||||
|
iter.remove();
|
||||||
|
removedPlugins.add(pli);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void showPlugins() {
|
||||||
|
List<PluginListItem> tempList = new ArrayList<>();
|
||||||
|
for (PluginListItem pli : removedPlugins) {
|
||||||
|
tempList.add(pli);
|
||||||
|
}
|
||||||
|
for (PluginListItem pli : ConfigPanel.pluginList) {
|
||||||
|
tempList.add(pli);
|
||||||
|
}
|
||||||
|
ConfigPanel.pluginList = tempList;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -42,9 +42,10 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"aqua\">!Pray Against Player</font>",
|
name = "Pray Against Player",
|
||||||
description = "Use plugin in PvP situations for best results!!",
|
description = "Use plugin in PvP situations for best results!!",
|
||||||
tags = {"highlight", "pvp", "overlay", "players"}
|
tags = {"highlight", "pvp", "overlay", "players"},
|
||||||
|
type = "PVP"
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -41,10 +41,11 @@ import javax.inject.Inject;
|
|||||||
* Shift Walker Plugin. Credit to MenuEntrySwapperPlugin for code some code structure used here.
|
* Shift Walker Plugin. Credit to MenuEntrySwapperPlugin for code some code structure used here.
|
||||||
*/
|
*/
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Shift To Walk Here</font>",
|
name = "Shift To Walk",
|
||||||
description = "Use Shift to toggle the Walk Here menu option. While pressed you will Walk rather than interact with objects.",
|
description = "Use Shift to toggle the Walk Here menu option. While pressed you will Walk rather than interact with objects.",
|
||||||
tags = {"npcs", "items", "objects"},
|
tags = {"npcs", "items", "objects"},
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class ShiftWalkerPlugin extends Plugin
|
public class ShiftWalkerPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -76,9 +76,10 @@ import net.runelite.client.plugins.Plugin;
|
|||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"green\">!Slayermusiq1 Guides</font>",
|
name = "Slayermusiq1 Guides",
|
||||||
description = "Adds a right-click option to go to Slayermusiq1's guides from the quest tab",
|
description = "Adds a right-click option to go to Slayermusiq1's guides from the quest tab",
|
||||||
tags = {"quest", "guide", "slayermusiq"}
|
tags = {"quest", "guide", "slayermusiq"},
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class SlayermusiqPlugin extends Plugin
|
public class SlayermusiqPlugin extends Plugin
|
||||||
|
|||||||
@@ -21,9 +21,10 @@ import net.runelite.client.plugins.Plugin;
|
|||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(name = "<font color=\"green\">!Tick Counter</font>",
|
@PluginDescriptor(name = "Tick Counter",
|
||||||
description = "Counts combat activity for nearby players",
|
description = "Counts combat activity for nearby players",
|
||||||
enabledByDefault = false
|
enabledByDefault = false,
|
||||||
|
type = "utility"
|
||||||
)
|
)
|
||||||
public class TickCounterPlugin extends Plugin {
|
public class TickCounterPlugin extends Plugin {
|
||||||
|
|
||||||
|
|||||||
@@ -40,9 +40,10 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Vetion</font>",
|
name = "Vetion",
|
||||||
description = "Tracks Vet'ion's special attacks",
|
description = "Tracks Vet'ion's special attacks",
|
||||||
tags = {"bosses", "combat", "pve", "overlay"}
|
tags = {"bosses", "combat", "pve", "overlay"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
public class VetionPlugin extends Plugin {
|
public class VetionPlugin extends Plugin {
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
|||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Vorkath</font>",
|
name = "Vorkath",
|
||||||
description = "Vorkath Helper",
|
description = "Vorkath Helper",
|
||||||
tags = {"Vorkath", "Helper"}
|
tags = {"Vorkath", "Helper"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
public class VorkathPlugin extends Plugin
|
public class VorkathPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -26,9 +26,10 @@ import net.runelite.client.plugins.PluginDescriptor;
|
|||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Theatre of Blood</font>",
|
name = "Theatre of Blood",
|
||||||
description = "All-in-one plugin for Theatre of Blood",
|
description = "All-in-one plugin for Theatre of Blood",
|
||||||
tags = {"ToB"},
|
tags = {"ToB"},
|
||||||
|
type = "PVM",
|
||||||
enabledByDefault = false
|
enabledByDefault = false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,10 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
|||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "<font color=\"#4863A0\">!Zulrah</font>",
|
name = "Zulrah",
|
||||||
description = "Zulrah Helper",
|
description = "Zulrah Helper",
|
||||||
tags = {"Zulrah", "Helper"}
|
tags = {"Zulrah", "Helper"},
|
||||||
|
type = "PVM"
|
||||||
)
|
)
|
||||||
public class ZulrahPlugin extends Plugin
|
public class ZulrahPlugin extends Plugin
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user