plugins checkstyle

This commit is contained in:
Lucas
2019-05-17 04:10:20 +02:00
parent 34b16cf300
commit 11543b5739
347 changed files with 49724 additions and 46654 deletions

View File

@@ -27,7 +27,6 @@ package net.runelite.client.plugins;
import com.google.inject.Binder;
import com.google.inject.Injector;
import com.google.inject.Module;
import java.io.File;
public abstract class Plugin implements Module

View File

@@ -57,8 +57,6 @@ import javax.inject.Singleton;
import javax.swing.SwingUtilities;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.RuneLite;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
@@ -67,6 +65,8 @@ import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.PluginChanged;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.task.Schedule;
import net.runelite.client.task.ScheduledMethod;
import net.runelite.client.task.Scheduler;
@@ -516,6 +516,7 @@ public class PluginManager
/**
* Topologically sort a graph. Uses Kahn's algorithm.
*
* @param graph
* @param <T>
* @return

View File

@@ -1,6 +1,7 @@
package net.runelite.client.plugins;
public enum PluginType {
public enum PluginType
{
PVM,
PVP,

View File

@@ -21,7 +21,8 @@
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/package net.runelite.client.plugins.achievementdiary;
*/
package net.runelite.client.plugins.achievementdiary;
public interface Requirement
{

View File

@@ -27,10 +27,10 @@ package net.runelite.client.plugins.achievementdiary.diaries;
import net.runelite.api.Favour;
import net.runelite.api.Quest;
import net.runelite.api.Skill;
import net.runelite.client.plugins.achievementdiary.GenericDiaryRequirement;
import net.runelite.client.plugins.achievementdiary.SkillRequirement;
import net.runelite.client.plugins.achievementdiary.QuestRequirement;
import net.runelite.client.plugins.achievementdiary.FavourRequirement;
import net.runelite.client.plugins.achievementdiary.GenericDiaryRequirement;
import net.runelite.client.plugins.achievementdiary.QuestRequirement;
import net.runelite.client.plugins.achievementdiary.SkillRequirement;
public class KourendDiaryRequirement extends GenericDiaryRequirement
{

View File

@@ -25,6 +25,7 @@
package net.runelite.client.plugins.agility;
import com.google.inject.Provides;
import java.awt.Color;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -37,6 +38,8 @@ import net.runelite.api.Client;
import net.runelite.api.Item;
import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.Player;
import net.runelite.api.Skill;
import static net.runelite.api.Skill.AGILITY;
@@ -72,10 +75,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.api.MenuEntry;
import net.runelite.client.util.ColorUtil;
import net.runelite.api.MenuAction;
import java.awt.Color;
@PluginDescriptor(
name = "Agility",
@@ -447,7 +447,8 @@ public class AgilityPlugin extends Plugin
for (Obstacle nearbyObstacle : getObstacles().values())
{
AgilityShortcut shortcut = nearbyObstacle.getShortcut();
if (shortcut != null && Arrays.stream(shortcut.getObstacleIds()).anyMatch(i -> i == entryId)) {
if (shortcut != null && Arrays.stream(shortcut.getObstacleIds()).anyMatch(i -> i == entryId))
{
MenuEntry entry = menuEntries[menuEntries.length - 1];
int level = shortcut.getLevel();
Color color = level <= getAgilityLevel() ? Color.GREEN : Color.RED;

View File

@@ -44,7 +44,210 @@ import static net.runelite.api.NullObjectID.NULL_18133;
import static net.runelite.api.NullObjectID.NULL_18135;
import static net.runelite.api.NullObjectID.NULL_18136;
import static net.runelite.api.NullObjectID.NULL_3550;
import static net.runelite.api.ObjectID.*;
import static net.runelite.api.ObjectID.BALANCING_LEDGE;
import static net.runelite.api.ObjectID.BALANCING_LEDGE_23547;
import static net.runelite.api.ObjectID.BALANCING_LEDGE_3561;
import static net.runelite.api.ObjectID.BALANCING_ROPE;
import static net.runelite.api.ObjectID.BALANCING_ROPE_23557;
import static net.runelite.api.ObjectID.BANNER_11382;
import static net.runelite.api.ObjectID.BASKET_11380;
import static net.runelite.api.ObjectID.BOAT_17961;
import static net.runelite.api.ObjectID.BOILER_22635;
import static net.runelite.api.ObjectID.CABLE;
import static net.runelite.api.ObjectID.CABLE_22569;
import static net.runelite.api.ObjectID.CABLE_22572;
import static net.runelite.api.ObjectID.CLIMBING_ROCKS_10851;
import static net.runelite.api.ObjectID.CLOTHES_LINE;
import static net.runelite.api.ObjectID.CONSOLE;
import static net.runelite.api.ObjectID.CRATE_10086;
import static net.runelite.api.ObjectID.CRUMBLING_WALL_1948;
import static net.runelite.api.ObjectID.DOORWAY_10855;
import static net.runelite.api.ObjectID.DOOR_18091;
import static net.runelite.api.ObjectID.DRYING_LINE;
import static net.runelite.api.ObjectID.EDGE;
import static net.runelite.api.ObjectID.EDGE_11371;
import static net.runelite.api.ObjectID.EDGE_11377;
import static net.runelite.api.ObjectID.FLOORBOARDS;
import static net.runelite.api.ObjectID.FLOORBOARDS_18071;
import static net.runelite.api.ObjectID.FLOORBOARDS_18072;
import static net.runelite.api.ObjectID.FLOORBOARDS_18073;
import static net.runelite.api.ObjectID.FLOORBOARDS_18089;
import static net.runelite.api.ObjectID.FLOORBOARDS_18090;
import static net.runelite.api.ObjectID.FLOORBOARDS_18093;
import static net.runelite.api.ObjectID.FLOORBOARDS_18094;
import static net.runelite.api.ObjectID.FLOORBOARDS_18097;
import static net.runelite.api.ObjectID.FLOORBOARDS_18098;
import static net.runelite.api.ObjectID.FLOORBOARDS_18109;
import static net.runelite.api.ObjectID.FLOORBOARDS_18110;
import static net.runelite.api.ObjectID.FLOORBOARDS_18111;
import static net.runelite.api.ObjectID.FLOORBOARDS_18112;
import static net.runelite.api.ObjectID.FLOORBOARDS_18113;
import static net.runelite.api.ObjectID.FLOORBOARDS_18114;
import static net.runelite.api.ObjectID.FLOORBOARDS_18117;
import static net.runelite.api.ObjectID.FLOORBOARDS_18118;
import static net.runelite.api.ObjectID.GAP_10085;
import static net.runelite.api.ObjectID.GAP_10352;
import static net.runelite.api.ObjectID.GAP_10642;
import static net.runelite.api.ObjectID.GAP_10778;
import static net.runelite.api.ObjectID.GAP_10779;
import static net.runelite.api.ObjectID.GAP_10780;
import static net.runelite.api.ObjectID.GAP_10820;
import static net.runelite.api.ObjectID.GAP_10821;
import static net.runelite.api.ObjectID.GAP_10822;
import static net.runelite.api.ObjectID.GAP_10823;
import static net.runelite.api.ObjectID.GAP_10828;
import static net.runelite.api.ObjectID.GAP_10832;
import static net.runelite.api.ObjectID.GAP_10859;
import static net.runelite.api.ObjectID.GAP_10861;
import static net.runelite.api.ObjectID.GAP_10882;
import static net.runelite.api.ObjectID.GAP_10884;
import static net.runelite.api.ObjectID.GAP_11161;
import static net.runelite.api.ObjectID.GAP_11360;
import static net.runelite.api.ObjectID.GAP_11365;
import static net.runelite.api.ObjectID.GAP_11374;
import static net.runelite.api.ObjectID.GAP_11375;
import static net.runelite.api.ObjectID.GAP_11376;
import static net.runelite.api.ObjectID.GAP_11383;
import static net.runelite.api.ObjectID.GAP_11392;
import static net.runelite.api.ObjectID.GAP_11395;
import static net.runelite.api.ObjectID.GAP_11396;
import static net.runelite.api.ObjectID.GAP_11406;
import static net.runelite.api.ObjectID.GAP_11429;
import static net.runelite.api.ObjectID.GAP_11430;
import static net.runelite.api.ObjectID.GAP_11630;
import static net.runelite.api.ObjectID.HAND_HOLDS_10836;
import static net.runelite.api.ObjectID.HAND_HOLDS_3583;
import static net.runelite.api.ObjectID.HURDLE;
import static net.runelite.api.ObjectID.HURDLE_11639;
import static net.runelite.api.ObjectID.HURDLE_11640;
import static net.runelite.api.ObjectID.ICE;
import static net.runelite.api.ObjectID.ICE_21149;
import static net.runelite.api.ObjectID.ICE_21150;
import static net.runelite.api.ObjectID.ICE_21151;
import static net.runelite.api.ObjectID.ICE_21152;
import static net.runelite.api.ObjectID.ICE_21153;
import static net.runelite.api.ObjectID.ICE_21154;
import static net.runelite.api.ObjectID.ICE_21155;
import static net.runelite.api.ObjectID.ICE_21156;
import static net.runelite.api.ObjectID.ICICLES;
import static net.runelite.api.ObjectID.JUTTING_WALL_22552;
import static net.runelite.api.ObjectID.LADDER_16682;
import static net.runelite.api.ObjectID.LADDER_22564;
import static net.runelite.api.ObjectID.LEDGE_10781;
import static net.runelite.api.ObjectID.LEDGE_10860;
import static net.runelite.api.ObjectID.LEDGE_10886;
import static net.runelite.api.ObjectID.LEDGE_10888;
import static net.runelite.api.ObjectID.LEDGE_11366;
import static net.runelite.api.ObjectID.LEDGE_11367;
import static net.runelite.api.ObjectID.LEDGE_11369;
import static net.runelite.api.ObjectID.LEDGE_11370;
import static net.runelite.api.ObjectID.LOG_BALANCE;
import static net.runelite.api.ObjectID.LOG_BALANCE_23144;
import static net.runelite.api.ObjectID.LOG_BALANCE_23145;
import static net.runelite.api.ObjectID.LOG_BALANCE_23542;
import static net.runelite.api.ObjectID.LOG_BALANCE_3557;
import static net.runelite.api.ObjectID.LOW_WALL;
import static net.runelite.api.ObjectID.LOW_WALL_10865;
import static net.runelite.api.ObjectID.MARKET_STALL_11381;
import static net.runelite.api.ObjectID.MONKEYBARS;
import static net.runelite.api.ObjectID.MONKEYBARS_15417;
import static net.runelite.api.ObjectID.MONKEY_BARS_3564;
import static net.runelite.api.ObjectID.NARROW_WALL;
import static net.runelite.api.ObjectID.OBSTACLE_NET_20211;
import static net.runelite.api.ObjectID.OBSTACLE_NET_23134;
import static net.runelite.api.ObjectID.OBSTACLE_NET_23135;
import static net.runelite.api.ObjectID.OBSTACLE_PIPE_23137;
import static net.runelite.api.ObjectID.OBSTACLE_PIPE_23138;
import static net.runelite.api.ObjectID.OBSTACLE_PIPE_23139;
import static net.runelite.api.ObjectID.PILE_OF_FISH;
import static net.runelite.api.ObjectID.PILLAR_3578;
import static net.runelite.api.ObjectID.PIPE_11657;
import static net.runelite.api.ObjectID.PLANK_10868;
import static net.runelite.api.ObjectID.PLANK_11631;
import static net.runelite.api.ObjectID.PLANK_3570;
import static net.runelite.api.ObjectID.PLANK_3571;
import static net.runelite.api.ObjectID.PLANK_3572;
import static net.runelite.api.ObjectID.POLEVAULT;
import static net.runelite.api.ObjectID.PYLON_22664;
import static net.runelite.api.ObjectID.ROCKS_23640;
import static net.runelite.api.ObjectID.ROCK_17958;
import static net.runelite.api.ObjectID.ROCK_17959;
import static net.runelite.api.ObjectID.ROCK_17960;
import static net.runelite.api.ObjectID.ROOF_TOP_BEAMS;
import static net.runelite.api.ObjectID.ROPESWING_23131;
import static net.runelite.api.ObjectID.ROPESWING_23132;
import static net.runelite.api.ObjectID.ROPE_15487;
import static net.runelite.api.ObjectID.ROPE_SWING;
import static net.runelite.api.ObjectID.ROUGH_WALL;
import static net.runelite.api.ObjectID.ROUGH_WALL_10093;
import static net.runelite.api.ObjectID.ROUGH_WALL_10586;
import static net.runelite.api.ObjectID.ROUGH_WALL_10833;
import static net.runelite.api.ObjectID.ROUGH_WALL_11385;
import static net.runelite.api.ObjectID.ROUGH_WALL_11391;
import static net.runelite.api.ObjectID.SHELF_18086;
import static net.runelite.api.ObjectID.SHELF_18087;
import static net.runelite.api.ObjectID.SHELF_18095;
import static net.runelite.api.ObjectID.SHELF_18096;
import static net.runelite.api.ObjectID.SHELF_18105;
import static net.runelite.api.ObjectID.SHELF_18106;
import static net.runelite.api.ObjectID.SHELF_18107;
import static net.runelite.api.ObjectID.SHELF_18108;
import static net.runelite.api.ObjectID.SKULL_SLOPE;
import static net.runelite.api.ObjectID.SKULL_SLOPE_15483;
import static net.runelite.api.ObjectID.STAIRS_10857;
import static net.runelite.api.ObjectID.STAIRS_22608;
import static net.runelite.api.ObjectID.STAIRS_22609;
import static net.runelite.api.ObjectID.STAIRS_22650;
import static net.runelite.api.ObjectID.STAIRS_22651;
import static net.runelite.api.ObjectID.STAIRS_DOWN;
import static net.runelite.api.ObjectID.STEEP_ROOF;
import static net.runelite.api.ObjectID.STEPPING_STONE_11643;
import static net.runelite.api.ObjectID.STEPPING_STONE_15412;
import static net.runelite.api.ObjectID.STEPPING_STONE_21120;
import static net.runelite.api.ObjectID.STEPPING_STONE_21126;
import static net.runelite.api.ObjectID.STEPPING_STONE_21128;
import static net.runelite.api.ObjectID.STEPPING_STONE_21129;
import static net.runelite.api.ObjectID.STEPPING_STONE_21130;
import static net.runelite.api.ObjectID.STEPPING_STONE_21131;
import static net.runelite.api.ObjectID.STEPPING_STONE_21132;
import static net.runelite.api.ObjectID.STEPPING_STONE_21133;
import static net.runelite.api.ObjectID.STEPPING_STONE_23556;
import static net.runelite.api.ObjectID.STILE_7527;
import static net.runelite.api.ObjectID.TALL_TREE_10819;
import static net.runelite.api.ObjectID.TIGHTROPE;
import static net.runelite.api.ObjectID.TIGHTROPE_10075;
import static net.runelite.api.ObjectID.TIGHTROPE_10284;
import static net.runelite.api.ObjectID.TIGHTROPE_10583;
import static net.runelite.api.ObjectID.TIGHTROPE_10834;
import static net.runelite.api.ObjectID.TIGHTROPE_11361;
import static net.runelite.api.ObjectID.TIGHTROPE_11364;
import static net.runelite.api.ObjectID.TIGHTROPE_11378;
import static net.runelite.api.ObjectID.TIGHTROPE_11393;
import static net.runelite.api.ObjectID.TIGHTROPE_11397;
import static net.runelite.api.ObjectID.TREE_11384;
import static net.runelite.api.ObjectID.TREE_11389;
import static net.runelite.api.ObjectID.TREE_BRANCH_23559;
import static net.runelite.api.ObjectID.TREE_BRANCH_23560;
import static net.runelite.api.ObjectID.TROPICAL_TREE_10357;
import static net.runelite.api.ObjectID.TROPICAL_TREE_15414;
import static net.runelite.api.ObjectID.TROPICAL_TREE_16062;
import static net.runelite.api.ObjectID.TUNNEL_18085;
import static net.runelite.api.ObjectID.TUNNEL_22557;
import static net.runelite.api.ObjectID.WALL_10084;
import static net.runelite.api.ObjectID.WALL_10777;
import static net.runelite.api.ObjectID.WALL_11373;
import static net.runelite.api.ObjectID.WALL_17980;
import static net.runelite.api.ObjectID.WALL_18078;
import static net.runelite.api.ObjectID.WALL_18088;
import static net.runelite.api.ObjectID.WALL_RUBBLE;
import static net.runelite.api.ObjectID.WALL_RUBBLE_18038;
import static net.runelite.api.ObjectID.WASHING_LINE_18099;
import static net.runelite.api.ObjectID.WASHING_LINE_18100;
import static net.runelite.api.ObjectID.WOODEN_BEAMS;
import static net.runelite.api.ObjectID.ZIP_LINE;
import static net.runelite.api.ObjectID.ZIP_LINE_11644;
import static net.runelite.api.ObjectID.ZIP_LINE_11645;
import static net.runelite.api.ObjectID.ZIP_LINE_11646;
import net.runelite.client.game.AgilityShortcut;
class Obstacles

View File

@@ -26,8 +26,8 @@ package net.runelite.client.plugins.antidrag;
import java.awt.Color;
import java.awt.event.KeyEvent;
import net.runelite.client.config.Alpha;
import net.runelite.api.Constants;
import net.runelite.client.config.Alpha;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;

View File

@@ -32,7 +32,6 @@ import java.util.Map;
import net.runelite.api.ProjectileID;
public enum AoeProjectileInfo
{
LIZARDMAN_SHAMAN_AOE(ProjectileID.LIZARDMAN_SHAMAN_AOE, 5),

View File

@@ -145,18 +145,22 @@ public class AoeWarningOverlay extends Overlay
return null;
}
private void drawTile(Graphics2D graphics, WorldPoint point, Color color, int strokeWidth, int outlineAlpha, int fillAlpha) {
private void drawTile(Graphics2D graphics, WorldPoint point, Color color, int strokeWidth, int outlineAlpha, int fillAlpha)
{
WorldPoint playerLocation = client.getLocalPlayer().getWorldLocation();
if (point.distanceTo(playerLocation) >= 32) {
if (point.distanceTo(playerLocation) >= 32)
{
return;
}
LocalPoint lp = LocalPoint.fromWorld(client, point);
if (lp == null) {
if (lp == null)
{
return;
}
Polygon poly = Perspective.getCanvasTilePoly(client, lp);
if (poly == null) {
if (poly == null)
{
return;
}
//OverlayUtil.renderPolygon(graphics, poly, color);

View File

@@ -24,7 +24,6 @@
*/
package net.runelite.client.plugins.barbarianassault;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.awt.Color;
import java.awt.Font;

View File

@@ -180,6 +180,7 @@ class BarrowsOverlay extends Overlay
/**
* Get minimap dot color from client
*
* @param typeIndex index of minimap dot type (1 npcs, 2 players)
* @return color
*/

View File

@@ -31,8 +31,6 @@ import java.time.Duration;
import java.time.Instant;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.NPCComposition;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -63,7 +63,6 @@ import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.ItemManager;
@@ -371,10 +370,7 @@ public class BAToolsPlugin extends Plugin implements KeyListener
@Subscribe
public void onNpcDespawned(NpcDespawned event)
{
if (healers.remove(event.getNpc()) != null && healers.isEmpty())
{
healers.clear();
}
healers.remove(event.getNpc());
}
@Subscribe
@@ -466,7 +462,8 @@ public class BAToolsPlugin extends Plugin implements KeyListener
List<String> poison = Arrays.asList("poisoned tofu", "poisoned meat", "poisoned worms");
List<String> vials = Arrays.asList("healing vial", "healing vial(1)", "healing vial(2)", "healing vial(3)", "healing vial(4)");//"healing vial(4)"
if (poison.contains(item))
{//if item is a poison item
{
//if item is a poison item
int calledPoison = 0;
switch (healer.getText())//choose which poison to hide the use/destroy option for
{
@@ -509,11 +506,13 @@ public class BAToolsPlugin extends Plugin implements KeyListener
}
}
else if (option.equals("attack") && client.getWidget(WidgetInfo.BA_ATK_ROLE_TEXT) == null && !target.equals("queen spawn"))//if not attacker
{//remove attack option from everything but queen spawns
{
//remove attack option from everything but queen spawns
remove(option, target, true);
}
else if ((option.equals("fix") || (option.equals("block") && target.equals("penance cave"))) && client.getWidget(WidgetInfo.BA_DEF_ROLE_TEXT) == null)//if not defender
{//the check for option requires checking target as well because defensive attack style option is also called "block".
{
//the check for option requires checking target as well because defensive attack style option is also called "block".
remove(option, target, true);
}
else if ((option.equals("load")) && client.getWidget(WidgetInfo.BA_COLL_ROLE_TEXT) == null)//if not collector, remove hopper options
@@ -632,7 +631,7 @@ public class BAToolsPlugin extends Plugin implements KeyListener
if (correctEgg != null)
{
entries.add(correctEgg);
client.setMenuEntries(entries.toArray(new MenuEntry[entries.size()]));
client.setMenuEntries(entries.toArray(new MenuEntry[0]));
}
}

View File

@@ -24,10 +24,10 @@
*/
package net.runelite.client.plugins.batools;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
import lombok.Getter;
@Getter
public enum Calls
{

View File

@@ -24,11 +24,10 @@
*/
package net.runelite.client.plugins.batools;
import java.awt.image.BufferedImage;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.ui.overlay.infobox.Counter;
import java.awt.image.BufferedImage;
class CycleCounter extends Counter
{
CycleCounter(BufferedImage img, Plugin plugin, int tick)

View File

@@ -27,9 +27,7 @@ package net.runelite.client.plugins.batools;
import lombok.Getter;
import lombok.Setter;
import net.runelite.api.NPC;
import net.runelite.api.Actor;
class Healer
@@ -97,7 +95,8 @@ class Healer
return HealerCode.WAVENINE;
case 10:
return HealerCode.WAVETEN;
default: return null;
default:
return null;
}
}
}

View File

@@ -36,7 +36,6 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -24,12 +24,11 @@
*/
package net.runelite.client.plugins.blastmine;
import java.awt.Color;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import java.awt.Color;
@ConfigGroup("blastmine")
public interface BlastMinePluginConfig extends Config
{

View File

@@ -356,7 +356,7 @@ public class BoostsPlugin extends Plugin
* section it will "activate" adding an additional 15 second section
* to the boost timing. If again the preserve prayer is active for that
* entire section a second 15 second section will be added.
*
* <p>
* Preserve is only required to be on for the 4th and 5th sections of the boost timer
* to gain full effect (seconds 45-75).
*
@@ -406,6 +406,7 @@ public class BoostsPlugin extends Plugin
/**
* Converts tick-based time to accurate second time
*
* @param time tick-based time
* @return second-based time
*/

View File

@@ -77,7 +77,7 @@ enum Boss
bosses = builder.build();
}
private Boss(int id, long period, ChronoUnit unit, int itemSpriteId)
Boss(int id, long period, ChronoUnit unit, int itemSpriteId)
{
this.id = id;
this.spawnTime = Duration.of(period, unit);

View File

@@ -104,6 +104,7 @@ class CannonOverlay extends Overlay
/**
* Draw the double hit spots on a 6 by 6 grid around the cannon
*
* @param startTile The position of the cannon
*/
private void drawDoubleHitSpots(Graphics2D graphics, LocalPoint startTile, Color color)

View File

@@ -60,6 +60,7 @@ public enum CerberusGhost
/**
* Try to identify if NPC is ghost
*
* @param npc npc
* @return optional ghost
*/

View File

@@ -26,12 +26,12 @@ package net.runelite.client.plugins.chatboxperformance;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.widgets.WidgetType;
import net.runelite.api.events.WidgetPositioned;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetPositionMode;
import net.runelite.api.widgets.WidgetSizeMode;
import net.runelite.api.widgets.WidgetType;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;

View File

@@ -187,6 +187,7 @@ public class ChatHistoryPlugin extends Plugin implements KeyListener
/**
* Small hack to prevent plugins checking for specific messages to match
*
* @param message message
* @return message with nbsp
*/

View File

@@ -33,13 +33,11 @@ import java.awt.Color;
import java.awt.image.BufferedImage;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Deque;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.inject.Inject;
import net.runelite.api.ChatLineBuffer;
@@ -49,9 +47,7 @@ import net.runelite.api.ClanMemberRank;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.MessageNode;
import net.runelite.api.Opcodes;
import net.runelite.api.Player;
import net.runelite.api.Script;
import net.runelite.api.ScriptID;
import net.runelite.api.SpriteID;
import net.runelite.api.VarClientStr;
@@ -65,10 +61,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.PlayerDespawned;
import net.runelite.api.events.PlayerSpawned;
import net.runelite.api.events.ScriptCallbackEvent;
import net.runelite.api.events.VarClientStrChanged;
import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.widgets.JavaScriptCallback;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetType;
@@ -78,8 +71,6 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.ClanManager;
import net.runelite.client.game.SpriteManager;
import net.runelite.client.menus.MenuManager;
import net.runelite.client.menus.WidgetMenuOption;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.ui.JagexColors.CHAT_CLAN_NAME_OPAQUE_BACKGROUND;
@@ -120,9 +111,6 @@ public class ClanChatPlugin extends Plugin
@Inject
private ClientThread clientThread;
@Inject
private MenuManager menuManager;
private List<String> chats = new ArrayList<>();
public static CopyOnWriteArrayList<Player> getClanMembers()
@@ -139,8 +127,6 @@ public class ClanChatPlugin extends Plugin
private Map<String, ClanMemberActivity> activityBuffer = new HashMap<>();
private int clanJoinedTick;
private ConcurrentHashMap<Widget, WidgetMenuOption> ccWidgetMap = new ConcurrentHashMap<Widget, WidgetMenuOption>();
@Provides
ClanChatConfig getConfig(ConfigManager configManager)
{
@@ -561,13 +547,14 @@ public class ClanChatPlugin extends Plugin
private void loadClanChats()
{
Widget clanChatList = client.getWidget(WidgetInfo.CLAN_CHAT_LIST);
clanChatList.setScrollHeight( 14 * chats.size());
clanChatList.revalidateScroll();
if (clanChatList == null)
{
return;
}
clanChatList.setScrollHeight(14 * chats.size());
clanChatList.revalidateScroll();
int y = 2;
clanChatList.setChildren(null);
for (String chat : Lists.reverse(chats))

View File

@@ -7,7 +7,6 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.client.game.ClanManager;
import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -49,7 +48,8 @@ public class ClanManModeOverlay extends Overlay
if (textLocation != null)
{
if (config.getClanAttackableColor().equals(color) && config.ShowBold()) {
if (config.getClanAttackableColor().equals(color) && config.ShowBold())
{
graphics.setFont(FontManager.getRunescapeBoldFont());
}
OverlayUtil.renderTextLocation(graphics, textLocation, name, color);

View File

@@ -70,14 +70,16 @@ public class ClanManModePlugin extends Plugin
Map<String, Integer> clan = new HashMap<>();
@Override
protected void startUp() throws Exception {
protected void startUp() throws Exception
{
overlayManager.add(ClanManModeOverlay);
overlayManager.add(ClanManModeTileOverlay);
overlayManager.add(ClanManModeMinimapOverlay);
}
@Override
protected void shutDown() throws Exception {
protected void shutDown() throws Exception
{
overlayManager.remove(ClanManModeOverlay);
overlayManager.remove(ClanManModeTileOverlay);
overlayManager.remove(ClanManModeMinimapOverlay);
@@ -90,17 +92,21 @@ public class ClanManModePlugin extends Plugin
}
@Subscribe
public void onGameStateChanged(GameStateChanged gameStateChanged) {
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.HOPPING) {
public void onGameStateChanged(GameStateChanged gameStateChanged)
{
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN || gameStateChanged.getGameState() == GameState.HOPPING)
{
ticks = 0;
}
}
@Subscribe
public void onGameTick(GameTick event) {
public void onGameTick(GameTick event)
{
ticks++;
final Player localPlayer = client.getLocalPlayer();
if (!clan.containsKey(localPlayer.getName())) {
if (!clan.containsKey(localPlayer.getName()))
{
clan.put(localPlayer.getName(), localPlayer.getCombatLevel());
}
WorldPoint a = localPlayer.getWorldLocation();
@@ -108,30 +114,38 @@ public class ClanManModePlugin extends Plugin
int upperLevel = ((a.getY() - 3520) / 8) + 1;
wildernessLevel = a.getY() > 6400 ? underLevel : upperLevel;
inwildy = client.getVar(Varbits.IN_WILDERNESS);
if (clan.size() > 0) {
if (clan.size() > 0)
{
clanmin = Collections.min(clan.values());
clanmax = Collections.max(clan.values());
}
}
@Subscribe
public void onMenuEntryAdded(MenuEntryAdded event) {
if (!config.hideAtkOpt()) {
public void onMenuEntryAdded(MenuEntryAdded event)
{
if (!config.hideAtkOpt())
{
return;
}
if (client.getGameState() != GameState.LOGGED_IN) {
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
final String option = Text.removeTags(event.getOption()).toLowerCase();
if (option.equals("attack")) {
if (option.equals("attack"))
{
final Pattern ppattern = Pattern.compile("<col=ffffff>(.+?)<col=");
final Matcher pmatch = ppattern.matcher(event.getTarget());
if (pmatch.find() && pmatch.matches()) {
if (pmatch.group(1) != null) {
if (clan.containsKey(pmatch.group(1).replace(" ", " "))) {
if (pmatch.find() && pmatch.matches())
{
if (pmatch.group(1) != null)
{
if (clan.containsKey(pmatch.group(1).replace(" ", " ")))
{
MenuEntry[] entries = client.getMenuEntries();
entries = ArrayUtils.removeElement(entries, entries[entries.length - 1]);
client.setMenuEntries(entries);

View File

@@ -39,52 +39,70 @@ public class ClanManModeService
int selfmax = localPlayer.getCombatLevel() + plugin.wildernessLevel;
for (Player player : client.getPlayers())
{
if (player == null || player.getName() == null) {
if (player == null || player.getName() == null)
{
continue;
}
if (player == localPlayer) {
if (player == localPlayer)
{
continue;
}
boolean isClanMember = player.isClanMember();
Actor interacting = player.getInteracting();
Player interactor = null;
if (interacting != null && !(interacting instanceof NPC)) {
if (interacting != null && !(interacting instanceof NPC))
{
interactor = ((Player) interacting);
}
if (config.showAttackers()) {
if (interactor != null) {
if (interactor.getName().equals(localName)) {
if (config.showAttackers())
{
if (interactor != null)
{
if (interactor.getName().equals(localName))
{
consumer.accept(player, config.getAttackerColor());
}
}
}
if (plugin.inwildy == 1) {
if (isClanMember) {
if (!plugin.clan.containsKey(player.getName())) {
if (plugin.inwildy == 1)
{
if (isClanMember)
{
if (!plugin.clan.containsKey(player.getName()))
{
plugin.clan.put(player.getName(), player.getCombatLevel());
}
if (config.highlightAttacked()) {
if (interactor != null) {
if (!interactors.containsKey(interactor.getName())) {
if (config.highlightAttacked())
{
if (interactor != null)
{
if (!interactors.containsKey(interactor.getName()))
{
WorldPoint a = interactor.getWorldLocation();
int underLevel = ((a.getY() - 9920) / 8) + 1;
int upperLevel = ((a.getY() - 3520) / 8) + 1;
int wildernessLevel = a.getY() > 6400 ? underLevel : upperLevel;
int wildydiff = plugin.wildernessLevel - wildernessLevel;
if (wildydiff < 0) {
if (wildydiff < 0)
{
wildydiff = 0;
}
if (config.CalcSelfCB()) {
if (interacting.getCombatLevel() <= selfmax && interacting.getCombatLevel() - wildydiff >= selfmin && !interactor.isClanMember()) {
if (config.CalcSelfCB())
{
if (interacting.getCombatLevel() <= selfmax && interacting.getCombatLevel() - wildydiff >= selfmin && !interactor.isClanMember())
{
interactors.put(interactor.getName(), player.getName());
consumer.accept(interactor, config.getClanAttackableColor());
}
} else {
if (interacting.getCombatLevel() <= maxatk && interacting.getCombatLevel() - wildydiff >= minatk && !interactor.isClanMember()) {
}
else
{
if (interacting.getCombatLevel() <= maxatk && interacting.getCombatLevel() - wildydiff >= minatk && !interactor.isClanMember())
{
interactors.put(interactor.getName(), player.getName());
consumer.accept(interactor, config.getClanAttackableColor());
}
@@ -92,43 +110,61 @@ public class ClanManModeService
}
}
}
} else {
if (config.PersistentClan()) {
if (plugin.clan.containsKey(player.getName())) {
}
else
{
if (config.PersistentClan())
{
if (plugin.clan.containsKey(player.getName()))
{
consumer.accept(player, config.getClanMemberColor());
}
}
if (config.highlightAttacked()) {
if (interactors.containsKey(player.getName())) {
if (config.highlightAttacked())
{
if (interactors.containsKey(player.getName()))
{
String attackername = interactors.get(player.getName());
boolean found = false;
for (Player attacker : client.getPlayers()) {
if (attacker == null || attacker.getName() == null) {
for (Player attacker : client.getPlayers())
{
if (attacker == null || attacker.getName() == null)
{
continue;
}
if (attacker.getName().equals(attackername)) {
if (attacker.getName().equals(attackername))
{
found = true;
Actor ainteract = attacker.getInteracting();
if (ainteract != null) {
if (ainteract.getName().equals(player.getName())) {
if (ainteract != null)
{
if (ainteract.getName().equals(player.getName()))
{
consumer.accept(player, config.getClanAttackableColor());
} else {
}
else
{
interactors.remove(player.getName());
}
} else {
}
else
{
interactors.remove(player.getName());
}
break;
}
}
if (!found) {
if (!found)
{
interactors.remove(player.getName());
}
continue;
}
}
if (config.highlightAttackable()) {
if ((config.hideAttackable() && plugin.ticks >= config.hideTime()) || plugin.clan.containsKey(player.getName())) {
if (config.highlightAttackable())
{
if ((config.hideAttackable() && plugin.ticks >= config.hideTime()) || plugin.clan.containsKey(player.getName()))
{
continue;
}
WorldPoint a = player.getWorldLocation();
@@ -136,15 +172,21 @@ public class ClanManModeService
int upperLevel = ((a.getY() - 3520) / 8) + 1;
int wildernessLevel = a.getY() > 6400 ? underLevel : upperLevel;
int wildydiff = plugin.wildernessLevel - wildernessLevel;
if (wildydiff < 0) {
if (wildydiff < 0)
{
wildydiff = 0;
}
if (config.CalcSelfCB()) {
if (player.getCombatLevel() <= selfmax && player.getCombatLevel() - wildydiff >= selfmin) {
if (config.CalcSelfCB())
{
if (player.getCombatLevel() <= selfmax && player.getCombatLevel() - wildydiff >= selfmin)
{
consumer.accept(player, config.getAttackableColor());
}
} else {
if (player.getCombatLevel() <= maxatk && player.getCombatLevel() - wildydiff >= minatk) {
}
else
{
if (player.getCombatLevel() <= maxatk && player.getCombatLevel() - wildydiff >= minatk)
{
consumer.accept(player, config.getAttackableColor());
}
}

View File

@@ -32,7 +32,56 @@ import lombok.Getter;
import net.runelite.api.NPC;
import static net.runelite.api.NullObjectID.NULL_1293;
import net.runelite.api.ObjectComposition;
import static net.runelite.api.ObjectID.*;
import static net.runelite.api.ObjectID.BOOKCASE_12539;
import static net.runelite.api.ObjectID.BOOKCASE_380;
import static net.runelite.api.ObjectID.BOOKCASE_394;
import static net.runelite.api.ObjectID.BOOKCASE_9523;
import static net.runelite.api.ObjectID.BOXES;
import static net.runelite.api.ObjectID.BOXES_360;
import static net.runelite.api.ObjectID.BOXES_361;
import static net.runelite.api.ObjectID.BOXES_3686;
import static net.runelite.api.ObjectID.BOXES_5111;
import static net.runelite.api.ObjectID.BOXES_6176;
import static net.runelite.api.ObjectID.BUCKET_9568;
import static net.runelite.api.ObjectID.BUSH_2357;
import static net.runelite.api.ObjectID.CLOSED_CHEST_25592;
import static net.runelite.api.ObjectID.CLOSED_CHEST_375;
import static net.runelite.api.ObjectID.CLOSED_CHEST_5108;
import static net.runelite.api.ObjectID.COFFIN;
import static net.runelite.api.ObjectID.CRATES_11600;
import static net.runelite.api.ObjectID.CRATES_24088;
import static net.runelite.api.ObjectID.CRATE_11485;
import static net.runelite.api.ObjectID.CRATE_12963;
import static net.runelite.api.ObjectID.CRATE_18204;
import static net.runelite.api.ObjectID.CRATE_18506;
import static net.runelite.api.ObjectID.CRATE_18889;
import static net.runelite.api.ObjectID.CRATE_24344;
import static net.runelite.api.ObjectID.CRATE_25775;
import static net.runelite.api.ObjectID.CRATE_26635;
import static net.runelite.api.ObjectID.CRATE_27532;
import static net.runelite.api.ObjectID.CRATE_27533;
import static net.runelite.api.ObjectID.CRATE_354;
import static net.runelite.api.ObjectID.CRATE_355;
import static net.runelite.api.ObjectID.CRATE_356;
import static net.runelite.api.ObjectID.CRATE_357;
import static net.runelite.api.ObjectID.CRATE_358;
import static net.runelite.api.ObjectID.CRATE_366;
import static net.runelite.api.ObjectID.CRATE_5106;
import static net.runelite.api.ObjectID.CRATE_5107;
import static net.runelite.api.ObjectID.CRATE_5113;
import static net.runelite.api.ObjectID.CRATE_9534;
import static net.runelite.api.ObjectID.DRAWERS;
import static net.runelite.api.ObjectID.DRAWERS_25766;
import static net.runelite.api.ObjectID.DRAWERS_350;
import static net.runelite.api.ObjectID.DRAWERS_352;
import static net.runelite.api.ObjectID.DRAWERS_5618;
import static net.runelite.api.ObjectID.DRAWERS_7194;
import static net.runelite.api.ObjectID.HAYSTACK;
import static net.runelite.api.ObjectID.JUNA;
import static net.runelite.api.ObjectID.MINE_CART_6045;
import static net.runelite.api.ObjectID.STONES_26633;
import static net.runelite.api.ObjectID.WARDROBE_5622;
import static net.runelite.api.ObjectID.WHEELBARROW_9625;
import net.runelite.api.TileObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;

View File

@@ -31,11 +31,395 @@ import java.util.Set;
import javax.annotation.Nonnull;
import lombok.Getter;
import net.runelite.api.EquipmentInventorySlot;
import static net.runelite.api.EquipmentInventorySlot.*;
import static net.runelite.api.EquipmentInventorySlot.AMMO;
import static net.runelite.api.EquipmentInventorySlot.AMULET;
import static net.runelite.api.EquipmentInventorySlot.BODY;
import static net.runelite.api.EquipmentInventorySlot.BOOTS;
import static net.runelite.api.EquipmentInventorySlot.CAPE;
import static net.runelite.api.EquipmentInventorySlot.GLOVES;
import static net.runelite.api.EquipmentInventorySlot.HEAD;
import static net.runelite.api.EquipmentInventorySlot.LEGS;
import static net.runelite.api.EquipmentInventorySlot.RING;
import static net.runelite.api.EquipmentInventorySlot.SHIELD;
import static net.runelite.api.EquipmentInventorySlot.WEAPON;
import net.runelite.api.Item;
import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.*;
import static net.runelite.api.ItemID.ABYSSAL_WHIP;
import static net.runelite.api.ItemID.ADAMANT_2H_SWORD;
import static net.runelite.api.ItemID.ADAMANT_BOOTS;
import static net.runelite.api.ItemID.ADAMANT_DAGGER;
import static net.runelite.api.ItemID.ADAMANT_FULL_HELM;
import static net.runelite.api.ItemID.ADAMANT_HALBERD;
import static net.runelite.api.ItemID.ADAMANT_MED_HELM;
import static net.runelite.api.ItemID.ADAMANT_PLATEBODY;
import static net.runelite.api.ItemID.ADAMANT_PLATELEGS;
import static net.runelite.api.ItemID.ADAMANT_PLATESKIRT;
import static net.runelite.api.ItemID.ADAMANT_SQ_SHIELD;
import static net.runelite.api.ItemID.ADAMANT_SWORD;
import static net.runelite.api.ItemID.ADAMANT_WARHAMMER;
import static net.runelite.api.ItemID.AHRIMS_HOOD_0;
import static net.runelite.api.ItemID.AHRIMS_HOOD_100;
import static net.runelite.api.ItemID.AHRIMS_ROBESKIRT_0;
import static net.runelite.api.ItemID.AHRIMS_ROBESKIRT_100;
import static net.runelite.api.ItemID.AHRIMS_ROBETOP_0;
import static net.runelite.api.ItemID.AHRIMS_ROBETOP_100;
import static net.runelite.api.ItemID.AHRIMS_STAFF_0;
import static net.runelite.api.ItemID.AHRIMS_STAFF_100;
import static net.runelite.api.ItemID.AIR_TIARA;
import static net.runelite.api.ItemID.AMULET_OF_GLORY;
import static net.runelite.api.ItemID.AMULET_OF_GLORY1;
import static net.runelite.api.ItemID.AMULET_OF_GLORY2;
import static net.runelite.api.ItemID.AMULET_OF_GLORY3;
import static net.runelite.api.ItemID.AMULET_OF_GLORY4;
import static net.runelite.api.ItemID.AMULET_OF_GLORY5;
import static net.runelite.api.ItemID.AMULET_OF_GLORY6;
import static net.runelite.api.ItemID.AMULET_OF_POWER;
import static net.runelite.api.ItemID.AMULET_OF_STRENGTH;
import static net.runelite.api.ItemID.AMULET_OF_THE_DAMNED;
import static net.runelite.api.ItemID.AMULET_OF_THE_DAMNED_FULL;
import static net.runelite.api.ItemID.ANCIENT_CROZIER;
import static net.runelite.api.ItemID.ANCIENT_MITRE;
import static net.runelite.api.ItemID.ANCIENT_STOLE;
import static net.runelite.api.ItemID.ARCLIGHT;
import static net.runelite.api.ItemID.ARMADYL_CROZIER;
import static net.runelite.api.ItemID.ARMADYL_MITRE;
import static net.runelite.api.ItemID.ARMADYL_STOLE;
import static net.runelite.api.ItemID.BANDOS_BOOTS;
import static net.runelite.api.ItemID.BANDOS_CLOAK;
import static net.runelite.api.ItemID.BANDOS_CROZIER;
import static net.runelite.api.ItemID.BANDOS_GODSWORD;
import static net.runelite.api.ItemID.BANDOS_MITRE;
import static net.runelite.api.ItemID.BANDOS_PLATEBODY;
import static net.runelite.api.ItemID.BANDOS_STOLE;
import static net.runelite.api.ItemID.BARROWS_GLOVES;
import static net.runelite.api.ItemID.BLACK_AXE;
import static net.runelite.api.ItemID.BLACK_BOATER;
import static net.runelite.api.ItemID.BLACK_CAPE;
import static net.runelite.api.ItemID.BLACK_DHIDE_BODY;
import static net.runelite.api.ItemID.BLACK_DHIDE_CHAPS;
import static net.runelite.api.ItemID.BLACK_DHIDE_VAMB;
import static net.runelite.api.ItemID.BLACK_DRAGON_MASK;
import static net.runelite.api.ItemID.BLACK_PLATEBODY;
import static net.runelite.api.ItemID.BLACK_SALAMANDER;
import static net.runelite.api.ItemID.BLACK_SLAYER_HELMET;
import static net.runelite.api.ItemID.BLACK_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.BLUE_BOATER;
import static net.runelite.api.ItemID.BLUE_BOOTS;
import static net.runelite.api.ItemID.BLUE_DHIDE_BODY;
import static net.runelite.api.ItemID.BLUE_DHIDE_CHAPS;
import static net.runelite.api.ItemID.BLUE_DHIDE_VAMB;
import static net.runelite.api.ItemID.BLUE_ROBE_TOP;
import static net.runelite.api.ItemID.BLUE_WIZARD_HAT;
import static net.runelite.api.ItemID.BLUE_WIZARD_ROBE;
import static net.runelite.api.ItemID.BOBS_PURPLE_SHIRT;
import static net.runelite.api.ItemID.BOBS_RED_SHIRT;
import static net.runelite.api.ItemID.BODY_TIARA;
import static net.runelite.api.ItemID.BONE_DAGGER;
import static net.runelite.api.ItemID.BONE_SPEAR;
import static net.runelite.api.ItemID.BOOK_OF_BALANCE;
import static net.runelite.api.ItemID.BOOK_OF_DARKNESS;
import static net.runelite.api.ItemID.BOOK_OF_LAW;
import static net.runelite.api.ItemID.BOOK_OF_WAR;
import static net.runelite.api.ItemID.BRINE_SABRE;
import static net.runelite.api.ItemID.BRONZE_2H_SWORD;
import static net.runelite.api.ItemID.BRONZE_AXE;
import static net.runelite.api.ItemID.BRONZE_CHAINBODY;
import static net.runelite.api.ItemID.BRONZE_DAGGER;
import static net.runelite.api.ItemID.BRONZE_FULL_HELM;
import static net.runelite.api.ItemID.BRONZE_PLATELEGS;
import static net.runelite.api.ItemID.BRONZE_SPEAR;
import static net.runelite.api.ItemID.BRONZE_SQ_SHIELD;
import static net.runelite.api.ItemID.BROWN_APRON;
import static net.runelite.api.ItemID.BROWN_HEADBAND;
import static net.runelite.api.ItemID.BRUISE_BLUE_SNELM_3343;
import static net.runelite.api.ItemID.CAPE_OF_LEGENDS;
import static net.runelite.api.ItemID.CASTLE_WARS_BRACELET1;
import static net.runelite.api.ItemID.CASTLE_WARS_BRACELET3;
import static net.runelite.api.ItemID.CHEFS_HAT;
import static net.runelite.api.ItemID.CLIMBING_BOOTS;
import static net.runelite.api.ItemID.COIF;
import static net.runelite.api.ItemID.COMBAT_BRACELET;
import static net.runelite.api.ItemID.COMBAT_BRACELET4;
import static net.runelite.api.ItemID.CREAM_ROBE_TOP;
import static net.runelite.api.ItemID.CRYSTAL_BOW_110_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_210_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_310_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_410_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_510_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_610_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_710_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_810_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_910_I;
import static net.runelite.api.ItemID.CRYSTAL_BOW_FULL_I;
import static net.runelite.api.ItemID.DEATH_TIARA;
import static net.runelite.api.ItemID.DESERT_SHIRT;
import static net.runelite.api.ItemID.DHAROKS_GREATAXE_0;
import static net.runelite.api.ItemID.DHAROKS_GREATAXE_100;
import static net.runelite.api.ItemID.DHAROKS_HELM_0;
import static net.runelite.api.ItemID.DHAROKS_HELM_100;
import static net.runelite.api.ItemID.DHAROKS_PLATEBODY_0;
import static net.runelite.api.ItemID.DHAROKS_PLATEBODY_100;
import static net.runelite.api.ItemID.DHAROKS_PLATELEGS_0;
import static net.runelite.api.ItemID.DHAROKS_PLATELEGS_100;
import static net.runelite.api.ItemID.DIAMOND_BRACELET;
import static net.runelite.api.ItemID.DIAMOND_RING;
import static net.runelite.api.ItemID.DRAGONSTONE_AMULET;
import static net.runelite.api.ItemID.DRAGONSTONE_RING;
import static net.runelite.api.ItemID.DRAGON_2H_SWORD;
import static net.runelite.api.ItemID.DRAGON_AXE;
import static net.runelite.api.ItemID.DRAGON_BATTLEAXE;
import static net.runelite.api.ItemID.DRAGON_BOOTS;
import static net.runelite.api.ItemID.DRAGON_CHAINBODY_3140;
import static net.runelite.api.ItemID.DRAGON_DEFENDER;
import static net.runelite.api.ItemID.DRAGON_MED_HELM;
import static net.runelite.api.ItemID.DRAGON_NECKLACE;
import static net.runelite.api.ItemID.DRAGON_PICKAXE;
import static net.runelite.api.ItemID.DRAGON_PICKAXE_12797;
import static net.runelite.api.ItemID.DRAGON_PLATESKIRT;
import static net.runelite.api.ItemID.DRAGON_SPEAR;
import static net.runelite.api.ItemID.DRAGON_SQ_SHIELD;
import static net.runelite.api.ItemID.ELEMENTAL_SHIELD;
import static net.runelite.api.ItemID.EMERALD_AMULET;
import static net.runelite.api.ItemID.EMERALD_RING;
import static net.runelite.api.ItemID.FIRE_BATTLESTAFF;
import static net.runelite.api.ItemID.FIRE_CAPE;
import static net.runelite.api.ItemID.FIRE_MAX_CAPE;
import static net.runelite.api.ItemID.FLARED_TROUSERS;
import static net.runelite.api.ItemID.FROZEN_ABYSSAL_WHIP;
import static net.runelite.api.ItemID.GOLD_NECKLACE;
import static net.runelite.api.ItemID.GOLD_RING;
import static net.runelite.api.ItemID.GRANITE_SHIELD;
import static net.runelite.api.ItemID.GREEN_BOATER;
import static net.runelite.api.ItemID.GREEN_BOOTS;
import static net.runelite.api.ItemID.GREEN_DHIDE_BODY;
import static net.runelite.api.ItemID.GREEN_DHIDE_CHAPS;
import static net.runelite.api.ItemID.GREEN_HAT;
import static net.runelite.api.ItemID.GREEN_HEADBAND;
import static net.runelite.api.ItemID.GREEN_ROBE_BOTTOMS;
import static net.runelite.api.ItemID.GREEN_ROBE_TOP;
import static net.runelite.api.ItemID.GREEN_SLAYER_HELMET;
import static net.runelite.api.ItemID.GREEN_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.GUTHANS_CHAINSKIRT_0;
import static net.runelite.api.ItemID.GUTHANS_CHAINSKIRT_100;
import static net.runelite.api.ItemID.GUTHANS_HELM_0;
import static net.runelite.api.ItemID.GUTHANS_HELM_100;
import static net.runelite.api.ItemID.GUTHANS_PLATEBODY_0;
import static net.runelite.api.ItemID.GUTHANS_PLATEBODY_100;
import static net.runelite.api.ItemID.GUTHANS_WARSPEAR_0;
import static net.runelite.api.ItemID.GUTHANS_WARSPEAR_100;
import static net.runelite.api.ItemID.GUTHIX_MITRE;
import static net.runelite.api.ItemID.GUTHIX_STOLE;
import static net.runelite.api.ItemID.HAM_BOOTS;
import static net.runelite.api.ItemID.HAM_ROBE;
import static net.runelite.api.ItemID.HARDLEATHER_BODY;
import static net.runelite.api.ItemID.HELM_OF_NEITIZNOT;
import static net.runelite.api.ItemID.HOLY_BOOK;
import static net.runelite.api.ItemID.HYDRA_SLAYER_HELMET;
import static net.runelite.api.ItemID.HYDRA_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.IBANS_STAFF;
import static net.runelite.api.ItemID.IBANS_STAFF_U;
import static net.runelite.api.ItemID.INFERNAL_PICKAXE;
import static net.runelite.api.ItemID.INFERNAL_PICKAXE_UNCHARGED;
import static net.runelite.api.ItemID.IRON_2H_SWORD;
import static net.runelite.api.ItemID.IRON_CHAINBODY;
import static net.runelite.api.ItemID.IRON_FULL_HELM;
import static net.runelite.api.ItemID.IRON_KITESHIELD;
import static net.runelite.api.ItemID.IRON_MED_HELM;
import static net.runelite.api.ItemID.IRON_PICKAXE;
import static net.runelite.api.ItemID.IRON_PLATEBODY;
import static net.runelite.api.ItemID.IRON_PLATELEGS;
import static net.runelite.api.ItemID.IRON_PLATESKIRT;
import static net.runelite.api.ItemID.IRON_SCIMITAR;
import static net.runelite.api.ItemID.IRON_WARHAMMER;
import static net.runelite.api.ItemID.KARILS_COIF_0;
import static net.runelite.api.ItemID.KARILS_COIF_100;
import static net.runelite.api.ItemID.KARILS_CROSSBOW_0;
import static net.runelite.api.ItemID.KARILS_CROSSBOW_100;
import static net.runelite.api.ItemID.KARILS_LEATHERSKIRT_0;
import static net.runelite.api.ItemID.KARILS_LEATHERSKIRT_100;
import static net.runelite.api.ItemID.KARILS_LEATHERTOP_0;
import static net.runelite.api.ItemID.KARILS_LEATHERTOP_100;
import static net.runelite.api.ItemID.LAVA_BATTLESTAFF;
import static net.runelite.api.ItemID.LEATHER_BOOTS;
import static net.runelite.api.ItemID.LEATHER_CHAPS;
import static net.runelite.api.ItemID.LEATHER_COWL;
import static net.runelite.api.ItemID.LEATHER_GLOVES;
import static net.runelite.api.ItemID.LOCKPICK;
import static net.runelite.api.ItemID.LONGBOW;
import static net.runelite.api.ItemID.MAGIC_LONGBOW;
import static net.runelite.api.ItemID.MAPLE_LONGBOW;
import static net.runelite.api.ItemID.MAPLE_SHORTBOW;
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_HAT;
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_KILT;
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_ROBE;
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_TOP;
import static net.runelite.api.ItemID.MENAPHITE_RED_HAT;
import static net.runelite.api.ItemID.MENAPHITE_RED_KILT;
import static net.runelite.api.ItemID.MENAPHITE_RED_ROBE;
import static net.runelite.api.ItemID.MENAPHITE_RED_TOP;
import static net.runelite.api.ItemID.MIND_SHIELD;
import static net.runelite.api.ItemID.MITHRIL_BOOTS;
import static net.runelite.api.ItemID.MITHRIL_CHAINBODY;
import static net.runelite.api.ItemID.MITHRIL_FULL_HELM;
import static net.runelite.api.ItemID.MITHRIL_MED_HELM;
import static net.runelite.api.ItemID.MITHRIL_PICKAXE;
import static net.runelite.api.ItemID.MITHRIL_PLATEBODY;
import static net.runelite.api.ItemID.MITHRIL_PLATELEGS;
import static net.runelite.api.ItemID.MITHRIL_PLATESKIRT;
import static net.runelite.api.ItemID.MITHRIL_SCIMITAR;
import static net.runelite.api.ItemID.MYSTIC_FIRE_STAFF;
import static net.runelite.api.ItemID.MYSTIC_GLOVES;
import static net.runelite.api.ItemID.MYSTIC_HAT;
import static net.runelite.api.ItemID.MYSTIC_ROBE_BOTTOM;
import static net.runelite.api.ItemID.MYSTIC_ROBE_BOTTOM_DARK;
import static net.runelite.api.ItemID.MYSTIC_ROBE_TOP;
import static net.runelite.api.ItemID.MYSTIC_ROBE_TOP_DARK;
import static net.runelite.api.ItemID.NEW_CRYSTAL_BOW_I;
import static net.runelite.api.ItemID.OAK_LONGBOW;
import static net.runelite.api.ItemID.OAK_SHORTBOW;
import static net.runelite.api.ItemID.OBSIDIAN_CAPE;
import static net.runelite.api.ItemID.ORANGE_BOATER;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_1;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_2;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_3;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_4;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_5;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_6;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_7;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_8;
import static net.runelite.api.ItemID.PINK_BOATER;
import static net.runelite.api.ItemID.PINK_ROBE_TOP;
import static net.runelite.api.ItemID.PINK_SKIRT;
import static net.runelite.api.ItemID.PIRATE_BANDANA;
import static net.runelite.api.ItemID.PIRATE_BANDANA_7124;
import static net.runelite.api.ItemID.PIRATE_BANDANA_7130;
import static net.runelite.api.ItemID.PIRATE_BANDANA_7136;
import static net.runelite.api.ItemID.PROSELYTE_HAUBERK;
import static net.runelite.api.ItemID.PURPLE_BOATER;
import static net.runelite.api.ItemID.PURPLE_GLOVES;
import static net.runelite.api.ItemID.PURPLE_SLAYER_HELMET;
import static net.runelite.api.ItemID.PURPLE_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.RED_BOATER;
import static net.runelite.api.ItemID.RED_CAPE;
import static net.runelite.api.ItemID.RED_DHIDE_CHAPS;
import static net.runelite.api.ItemID.RED_HEADBAND;
import static net.runelite.api.ItemID.RED_SLAYER_HELMET;
import static net.runelite.api.ItemID.RED_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.RING_OF_DUELING1;
import static net.runelite.api.ItemID.RING_OF_DUELING2;
import static net.runelite.api.ItemID.RING_OF_DUELING3;
import static net.runelite.api.ItemID.RING_OF_DUELING4;
import static net.runelite.api.ItemID.RING_OF_DUELING5;
import static net.runelite.api.ItemID.RING_OF_DUELING6;
import static net.runelite.api.ItemID.RING_OF_DUELING7;
import static net.runelite.api.ItemID.RING_OF_DUELING8;
import static net.runelite.api.ItemID.RING_OF_FORGING;
import static net.runelite.api.ItemID.RING_OF_LIFE;
import static net.runelite.api.ItemID.RING_OF_VISIBILITY;
import static net.runelite.api.ItemID.RING_OF_WEALTH;
import static net.runelite.api.ItemID.RING_OF_WEALTH_1;
import static net.runelite.api.ItemID.RING_OF_WEALTH_2;
import static net.runelite.api.ItemID.RING_OF_WEALTH_3;
import static net.runelite.api.ItemID.RING_OF_WEALTH_4;
import static net.runelite.api.ItemID.RING_OF_WEALTH_5;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I1;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I2;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I3;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I4;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I5;
import static net.runelite.api.ItemID.ROLLING_PIN;
import static net.runelite.api.ItemID.RUBY_AMULET;
import static net.runelite.api.ItemID.RUBY_RING;
import static net.runelite.api.ItemID.RUNE_AXE;
import static net.runelite.api.ItemID.RUNE_BOOTS;
import static net.runelite.api.ItemID.RUNE_CROSSBOW;
import static net.runelite.api.ItemID.RUNE_FULL_HELM;
import static net.runelite.api.ItemID.RUNE_HALBERD;
import static net.runelite.api.ItemID.RUNE_HELM_H1;
import static net.runelite.api.ItemID.RUNE_HELM_H5;
import static net.runelite.api.ItemID.RUNE_KITESHIELD;
import static net.runelite.api.ItemID.RUNE_LONGSWORD;
import static net.runelite.api.ItemID.RUNE_PICKAXE;
import static net.runelite.api.ItemID.RUNE_PLATEBODY;
import static net.runelite.api.ItemID.RUNE_PLATELEGS;
import static net.runelite.api.ItemID.RUNE_PLATESKIRT;
import static net.runelite.api.ItemID.RUNE_SHIELD_H1;
import static net.runelite.api.ItemID.RUNE_SHIELD_H2;
import static net.runelite.api.ItemID.RUNE_SHIELD_H3;
import static net.runelite.api.ItemID.RUNE_SHIELD_H4;
import static net.runelite.api.ItemID.RUNE_SHIELD_H5;
import static net.runelite.api.ItemID.RUNE_SPEAR;
import static net.runelite.api.ItemID.RUNE_WARHAMMER;
import static net.runelite.api.ItemID.SAPPHIRE_AMULET;
import static net.runelite.api.ItemID.SAPPHIRE_NECKLACE;
import static net.runelite.api.ItemID.SAPPHIRE_RING;
import static net.runelite.api.ItemID.SARADOMIN_CROZIER;
import static net.runelite.api.ItemID.SARADOMIN_MITRE;
import static net.runelite.api.ItemID.SARADOMIN_STOLE;
import static net.runelite.api.ItemID.SEERCULL;
import static net.runelite.api.ItemID.SHADOW_SWORD;
import static net.runelite.api.ItemID.SILVER_SICKLE;
import static net.runelite.api.ItemID.SLAYER_HELMET;
import static net.runelite.api.ItemID.SLAYER_HELMET_I;
import static net.runelite.api.ItemID.SLED_4084;
import static net.runelite.api.ItemID.SNAKESKIN_BOOTS;
import static net.runelite.api.ItemID.SNAKESKIN_CHAPS;
import static net.runelite.api.ItemID.SPINED_CHAPS;
import static net.runelite.api.ItemID.SPLITBARK_BODY;
import static net.runelite.api.ItemID.SPLITBARK_LEGS;
import static net.runelite.api.ItemID.SPOTTED_CAPE;
import static net.runelite.api.ItemID.SPOTTED_CAPE_10073;
import static net.runelite.api.ItemID.STAFF;
import static net.runelite.api.ItemID.STAFF_OF_AIR;
import static net.runelite.api.ItemID.STAFF_OF_WATER;
import static net.runelite.api.ItemID.STEEL_AXE;
import static net.runelite.api.ItemID.STEEL_FULL_HELM;
import static net.runelite.api.ItemID.STEEL_KITESHIELD;
import static net.runelite.api.ItemID.STEEL_LONGSWORD;
import static net.runelite.api.ItemID.STEEL_MACE;
import static net.runelite.api.ItemID.STEEL_MED_HELM;
import static net.runelite.api.ItemID.STEEL_PICKAXE;
import static net.runelite.api.ItemID.STEEL_PLATEBODY;
import static net.runelite.api.ItemID.STEEL_PLATESKIRT;
import static net.runelite.api.ItemID.STEEL_SQ_SHIELD;
import static net.runelite.api.ItemID.STUDDED_BODY;
import static net.runelite.api.ItemID.STUDDED_CHAPS;
import static net.runelite.api.ItemID.TEAM1_CAPE;
import static net.runelite.api.ItemID.TEAM50_CAPE;
import static net.runelite.api.ItemID.TIARA;
import static net.runelite.api.ItemID.TOKTZKETXIL;
import static net.runelite.api.ItemID.TOKTZXILUL;
import static net.runelite.api.ItemID.TORAGS_HAMMERS_0;
import static net.runelite.api.ItemID.TORAGS_HAMMERS_100;
import static net.runelite.api.ItemID.TORAGS_HELM_0;
import static net.runelite.api.ItemID.TORAGS_HELM_100;
import static net.runelite.api.ItemID.TORAGS_PLATEBODY_0;
import static net.runelite.api.ItemID.TORAGS_PLATEBODY_100;
import static net.runelite.api.ItemID.TORAGS_PLATELEGS_0;
import static net.runelite.api.ItemID.TORAGS_PLATELEGS_100;
import static net.runelite.api.ItemID.TURQUOISE_ROBE_BOTTOMS;
import static net.runelite.api.ItemID.TURQUOISE_SLAYER_HELMET;
import static net.runelite.api.ItemID.TURQUOISE_SLAYER_HELMET_I;
import static net.runelite.api.ItemID.UNHOLY_BOOK;
import static net.runelite.api.ItemID.VERACS_BRASSARD_0;
import static net.runelite.api.ItemID.VERACS_BRASSARD_100;
import static net.runelite.api.ItemID.VERACS_FLAIL_0;
import static net.runelite.api.ItemID.VERACS_FLAIL_100;
import static net.runelite.api.ItemID.VERACS_HELM_0;
import static net.runelite.api.ItemID.VERACS_HELM_100;
import static net.runelite.api.ItemID.VERACS_PLATESKIRT_0;
import static net.runelite.api.ItemID.VERACS_PLATESKIRT_100;
import static net.runelite.api.ItemID.VOLCANIC_ABYSSAL_WHIP;
import static net.runelite.api.ItemID.WHITE_APRON;
import static net.runelite.api.ItemID.WHITE_BOATER;
import static net.runelite.api.ItemID.WHITE_HEADBAND;
import static net.runelite.api.ItemID.ZAMORAK_CROZIER;
import static net.runelite.api.ItemID.ZAMORAK_FULL_HELM;
import static net.runelite.api.ItemID.ZAMORAK_GODSWORD;
import static net.runelite.api.ItemID.ZAMORAK_MITRE;
import static net.runelite.api.ItemID.ZAMORAK_STOLE;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR;
@@ -43,12 +427,143 @@ import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
import net.runelite.client.plugins.cluescrolls.clues.emote.AllRequirementsCollection;
import net.runelite.client.plugins.cluescrolls.clues.emote.AnyRequirementCollection;
import net.runelite.client.plugins.cluescrolls.clues.emote.Emote;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.*;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.ANGRY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BECKON;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BLOW_KISS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BOW;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BULL_ROARER;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CHEER;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CLAP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CRY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.DANCE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.FLAP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.GOBLIN_SALUTE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.HEADBANG;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.JIG;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.JUMP_FOR_JOY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.LAUGH;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.NO;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.PANIC;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.PUSH_UP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.RASPBERRY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SALUTE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SHRUG;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SLAP_HEAD;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SPIN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.STOMP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.THINK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.WAVE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.YAWN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.YES;
import net.runelite.client.plugins.cluescrolls.clues.emote.ItemRequirement;
import net.runelite.client.plugins.cluescrolls.clues.emote.RangeItemRequirement;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.*;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.AGILITY_PYRAMID;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.AL_KHARID_SCORPION_MINE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.AUBURYS_SHOP_IN_VARROCK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.BARBARIAN_OUTPOST_OBSTACLE_COURSE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.BARROWS_CHEST;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.BEHIND_MISS_SCHISM_IN_DRAYNOR_VILLAGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.BOB_AXES_ENTRANCE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.BY_THE_BEAR_CAGE_IN_VARROCK_PALACE_GARDENS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CASTLE_WARS_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CATHERBY_BEEHIVE_FIELD;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CENTRE_OF_CANIFIS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CENTRE_OF_THE_CATACOMBS_OF_KOUREND;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CHAOS_TEMPLE_IN_THE_SOUTHEASTERN_WILDERNESS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CHAPEL_IN_WEST_ARDOUGNE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.CROSSROADS_NORTH_OF_DRAYNOR_VILLAGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.DEATH_ALTAR;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.DIGSITE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.DRAYNOR_MANOR_BY_THE_FOUNTAIN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.DRAYNOR_VILLAGE_MARKET;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.EAST_OF_THE_BARBARIAN_VILLAGE_BRIDGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ENTRANA_CHAPEL;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ENTRANCE_OF_THE_ARCEUUS_LIBRARY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ENTRANCE_OF_THE_CAVERN_UNDER_THE_WHIRLPOOL;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ENTRANCE_OF_THE_CAVE_OF_DAMIS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.FINE_CLOTHES_ENTRANCE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.FISHING_GUILD_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.FOUNTAIN_OF_HEROES;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.GNOME_GLIDER_ON_WHITE_WOLF_MOUNTAIN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.GNOME_STRONGHOLD_BALANCING_ROPE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.GYPSY_TENT_ENTRANCE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.HALFWAY_DOWN_TROLLWEISS_MOUNTAIN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.HICKTONS_ARCHERY_EMPORIUM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.HOSIDIUS_MESS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.INSIDE_THE_DIGSITE_EXAM_CENTRE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.IN_THE_MIDDLE_OF_JIGGIG;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.KING_BLACK_DRAGONS_LAIR;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.LIMESTONE_MINE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.LUMBRIDGE_SWAMP_CAVES;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.MAUSOLEUM_OFF_THE_MORYTANIA_COAST;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.MOUNTAIN_CAMP_GOAT_ENCLOSURE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.MUBARIZS_ROOM_AT_THE_DUEL_ARENA;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.MUDSKIPPER_POINT;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_A_LADDER_IN_THE_WILDERNESS_LAVA_MAZE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_A_RUNITE_ROCK_IN_THE_FREMENNIK_ISLES;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_A_SHED_IN_LUMBRIDGE_SWAMP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_HERQUINS_SHOP_IN_FALADOR;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_THE_ENTRANA_FERRY_IN_PORT_SARIM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_THE_GEM_STALL_IN_ARDOUGNE_MARKET;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_THE_PARROTS_IN_ARDOUGNE_ZOO;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_THE_PIER_IN_ZULANDRA;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NEAR_THE_SAWMILL_OPERATORS_BOOTH;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NORTHEAST_CORNER_OF_THE_KHARAZI_JUNGLE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NORTHERN_WALL_OF_CASTLE_DRAKAN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NORTHWESTERN_CORNER_OF_THE_ENCHANTED_VALLEY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NORTH_OF_EVIL_DAVES_HOUSE_IN_EDGEVILLE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NORTH_OF_MOUNT_KARUULM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.NOTERAZZOS_SHOP_IN_THE_WILDERNESS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OBSERVATORY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OGRE_CAGE_IN_KING_LATHAS_TRAINING_CAMP;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ON_THE_BRIDGE_TO_THE_MISTHALIN_WIZARDS_TOWER;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ON_TOP_OF_TROLLHEIM_MOUNTAIN;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_CATHERBY_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_DRAYNOR_VILLAGE_JAIL;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_HARRYS_FISHING_SHOP_IN_CATHERBY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_KEEP_LE_FAYE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_KRIL_TSUTSAROTHS_ROOM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_MUDKNUCKLES_HUT;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_BAR_BY_THE_FIGHT_ARENA;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_DIGSITE_EXAM_CENTRE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_FALADOR_PARTY_ROOM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_FISHING_GUILD;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_GREAT_PYRAMID_OF_SOPHANEM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_LEGENDS_GUILD_DOOR;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_LEGENDS_GUILD_GATES;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_SEERS_VILLAGE_COURTHOUSE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_SLAYER_TOWER_GARGOYLE_ROOM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_THE_WILDERNESS_AXE_HUT;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_VARROCK_PALACE_COURTYARD;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.OUTSIDE_YANILLE_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.RIMMINGTON_MINE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ROAD_JUNCTION_NORTH_OF_RIMMINGTON;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.ROAD_JUNCTION_SOUTH_OF_SINCLAIR_MANSION;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SHANTAY_PASS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SHAYZIEN_WAR_TENT;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SHILO_VILLAGE_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUL_ALTAR;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUTHEAST_CORNER_OF_LAVA_DRAGON_ISLE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUTHEAST_CORNER_OF_THE_FISHING_PLATFORM;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUTHEAST_CORNER_OF_THE_MONASTERY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUTH_OF_THE_GRAND_EXCHANGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.SOUTH_OF_THE_SHRINE_IN_TAI_BWO_WANNAI_VILLAGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TAVERLEY_STONE_CIRCLE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TENT_IN_LORD_IORWERTHS_ENCAMPMENT;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TOP_FLOOR_OF_THE_LIGHTHOUSE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TOP_FLOOR_OF_THE_YANILLE_WATCHTOWER;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TZHAAR_GEM_STORE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.TZHAAR_WEAPONS_STORE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.UPSTAIRS_IN_THE_ARDOUGNE_WINDMILL;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.VARROCK_PALACE_LIBRARY;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.VOLCANO_IN_THE_NORTHEASTERN_WILDERNESS;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WARRIORS_GUILD_BANK;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WARRIORS_GUILD_BANK_29047;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WELL_OF_VOYAGE;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WEST_OF_THE_SHAYZIEN_COMBAT_RING;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WEST_SIDE_OF_THE_KARAMJA_BANANA_PLANTATION;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit.WHEAT_FIELD_NEAR_THE_LUMBRIDGE_WINDMILL;
import static net.runelite.client.plugins.cluescrolls.clues.emote.STASHUnit._7TH_CHAMBER_OF_JALSAVRAH;
import net.runelite.client.plugins.cluescrolls.clues.emote.SingleItemRequirement;
import net.runelite.client.plugins.cluescrolls.clues.emote.SlotLimitationRequirement;
import net.runelite.client.ui.overlay.OverlayUtil;

View File

@@ -29,7 +29,38 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.util.Set;
import lombok.Getter;
import static net.runelite.api.ItemID.*;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_12179;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_2713;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_2716;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_2719;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_3516;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_3518;
import static net.runelite.api.ItemID.CLUE_SCROLL_EASY_7236;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_12130;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_19782;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_19783;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_19784;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_19785;
import static net.runelite.api.ItemID.CLUE_SCROLL_ELITE_19786;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_2729;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_3520;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_3522;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_3524;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_3525;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_7239;
import static net.runelite.api.ItemID.CLUE_SCROLL_HARD_7241;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_2827;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_3596;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_3598;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_3599;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_3601;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_3602;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_7286;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_7288;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_7290;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_7292;
import static net.runelite.api.ItemID.CLUE_SCROLL_MEDIUM_7294;
import net.runelite.api.ObjectComposition;
import static net.runelite.api.ObjectID.CRATE_18506;
import static net.runelite.api.ObjectID.CRATE_2620;

View File

@@ -25,7 +25,33 @@
package net.runelite.client.plugins.cluescrolls.clues.emote;
import lombok.Getter;
import static net.runelite.api.SpriteID.*;
import static net.runelite.api.SpriteID.EMOTE_ANGRY;
import static net.runelite.api.SpriteID.EMOTE_BECKON;
import static net.runelite.api.SpriteID.EMOTE_BLOW_KISS;
import static net.runelite.api.SpriteID.EMOTE_BOW;
import static net.runelite.api.SpriteID.EMOTE_CHEER;
import static net.runelite.api.SpriteID.EMOTE_CLAP;
import static net.runelite.api.SpriteID.EMOTE_CRY;
import static net.runelite.api.SpriteID.EMOTE_DANCE;
import static net.runelite.api.SpriteID.EMOTE_FLAP;
import static net.runelite.api.SpriteID.EMOTE_GOBLIN_SALUTE;
import static net.runelite.api.SpriteID.EMOTE_HEADBANG;
import static net.runelite.api.SpriteID.EMOTE_JIG;
import static net.runelite.api.SpriteID.EMOTE_JUMP_FOR_JOY;
import static net.runelite.api.SpriteID.EMOTE_LAUGH;
import static net.runelite.api.SpriteID.EMOTE_NO;
import static net.runelite.api.SpriteID.EMOTE_PANIC;
import static net.runelite.api.SpriteID.EMOTE_PUSH_UP;
import static net.runelite.api.SpriteID.EMOTE_RASPBERRY;
import static net.runelite.api.SpriteID.EMOTE_SALUTE;
import static net.runelite.api.SpriteID.EMOTE_SHRUG;
import static net.runelite.api.SpriteID.EMOTE_SLAP_HEAD;
import static net.runelite.api.SpriteID.EMOTE_SPIN;
import static net.runelite.api.SpriteID.EMOTE_STOMP;
import static net.runelite.api.SpriteID.EMOTE_THINK;
import static net.runelite.api.SpriteID.EMOTE_WAVE;
import static net.runelite.api.SpriteID.EMOTE_YAWN;
import static net.runelite.api.SpriteID.EMOTE_YES;
@Getter
public enum Emote

View File

@@ -25,6 +25,11 @@
package net.runelite.client.plugins.combatlevel;
import com.google.common.annotations.VisibleForTesting;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.Experience;
import net.runelite.api.Skill;
@@ -34,11 +39,6 @@ import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.tooltip.Tooltip;
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
import net.runelite.client.util.ColorUtil;
import javax.inject.Inject;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
class CombatLevelOverlay extends Overlay
{
@@ -143,6 +143,7 @@ class CombatLevelOverlay extends Overlay
/**
* Calculate skill levels required for increasing combat level, meant
* for all combat skills besides prayer, ranged, and magic.
*
* @param start initial value
* @param end ending value (combat level + 1)
* @param multiple how much adding one skill level will change combat
@@ -160,6 +161,7 @@ class CombatLevelOverlay extends Overlay
* Note: Prayer is a special case, only leveling up upon even level numbers. This is accounted
* for in this function.
* </p>
*
* @param start current combat level
* @param end ending value (combat level + 1)
* @param prayerLevel the player's current prayer level
@@ -191,6 +193,7 @@ class CombatLevelOverlay extends Overlay
/**
* Calculate skill levels required for increasing combat level, meant
* ONLY for Ranged and Magic skills.
*
* @param start either the current ranged or magic level
* @param end ending value (combat level + 1)
* @param dhp defence, hitpoints, and prayer; this is the initial calculated "base" value

View File

@@ -83,7 +83,6 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.pluginsorter.PluginSorterPlugin;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout;
import net.runelite.client.ui.PluginPanel;
@@ -404,7 +403,9 @@ public class ConfigPanel extends PluginPanel
topPanel.add(topPanelBackButton, BorderLayout.WEST);
if (!listItem.getName().equals("RuneLitePlus"))
{
topPanel.add(listItem.createToggleButton(), BorderLayout.EAST);
}
String name = listItem.getName();
JLabel title = new JLabel(name);

View File

@@ -25,7 +25,6 @@
package net.runelite.client.plugins.config;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.image.BufferedImage;
@@ -33,7 +32,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
@@ -41,13 +39,11 @@ import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.client.config.Config;
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.PluginDescriptor;
import net.runelite.client.ui.PluginPanel;
import net.runelite.client.ui.components.IconButton;
import net.runelite.client.util.ColorUtil;
import net.runelite.client.util.ImageUtil;
import org.apache.commons.text.similarity.JaroWinklerDistance;
@@ -199,7 +195,8 @@ public class PluginListItem extends JPanel
configButton.setVisible(true);
configButton.setToolTipText("Edit plugin configuration");
}
if (!name.equals("RuneLitePlus")) {
if (!name.equals("RuneLitePlus"))
{
toggleButton.setPreferredSize(new Dimension(25, 0));
attachToggleButtonListener(toggleButton);
buttonPanel.add(toggleButton);
@@ -261,6 +258,7 @@ public class PluginListItem extends JPanel
/**
* Checks if all the search terms in the given list matches at least one keyword.
*
* @return true if all search terms matches at least one keyword, or false if otherwise.
*/
boolean matchesSearchTerms(String[] searchTerms)

View File

@@ -31,9 +31,9 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.events.GameStateChanged;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.util.WorldUtil;

View File

@@ -70,9 +70,12 @@ public class DemonicGorillaOverlay extends Overlay
{
switch (attackStyle)
{
case MELEE: return iconManager.getSkillImage(Skill.ATTACK);
case RANGED: return iconManager.getSkillImage(Skill.RANGED);
case MAGIC: return iconManager.getSkillImage(Skill.MAGIC);
case MELEE:
return iconManager.getSkillImage(Skill.ATTACK);
case RANGED:
return iconManager.getSkillImage(Skill.RANGED);
case MAGIC:
return iconManager.getSkillImage(Skill.MAGIC);
}
return null;
}

View File

@@ -358,29 +358,52 @@ enum DiscordGameEventType
{
switch (skill)
{
case ATTACK: return TRAINING_ATTACK;
case DEFENCE: return TRAINING_DEFENCE;
case STRENGTH: return TRAINING_STRENGTH;
case RANGED: return TRAINING_RANGED;
case PRAYER: return TRAINING_PRAYER;
case MAGIC: return TRAINING_MAGIC;
case COOKING: return TRAINING_COOKING;
case WOODCUTTING: return TRAINING_WOODCUTTING;
case FLETCHING: return TRAINING_FLETCHING;
case FISHING: return TRAINING_FISHING;
case FIREMAKING: return TRAINING_FIREMAKING;
case CRAFTING: return TRAINING_CRAFTING;
case SMITHING: return TRAINING_SMITHING;
case MINING: return TRAINING_MINING;
case HERBLORE: return TRAINING_HERBLORE;
case AGILITY: return TRAINING_AGILITY;
case THIEVING: return TRAINING_THIEVING;
case SLAYER: return TRAINING_SLAYER;
case FARMING: return TRAINING_FARMING;
case RUNECRAFT: return TRAINING_RUNECRAFT;
case HUNTER: return TRAINING_HUNTER;
case CONSTRUCTION: return TRAINING_CONSTRUCTION;
default: return null;
case ATTACK:
return TRAINING_ATTACK;
case DEFENCE:
return TRAINING_DEFENCE;
case STRENGTH:
return TRAINING_STRENGTH;
case RANGED:
return TRAINING_RANGED;
case PRAYER:
return TRAINING_PRAYER;
case MAGIC:
return TRAINING_MAGIC;
case COOKING:
return TRAINING_COOKING;
case WOODCUTTING:
return TRAINING_WOODCUTTING;
case FLETCHING:
return TRAINING_FLETCHING;
case FISHING:
return TRAINING_FISHING;
case FIREMAKING:
return TRAINING_FIREMAKING;
case CRAFTING:
return TRAINING_CRAFTING;
case SMITHING:
return TRAINING_SMITHING;
case MINING:
return TRAINING_MINING;
case HERBLORE:
return TRAINING_HERBLORE;
case AGILITY:
return TRAINING_AGILITY;
case THIEVING:
return TRAINING_THIEVING;
case SLAYER:
return TRAINING_SLAYER;
case FARMING:
return TRAINING_FARMING;
case RUNECRAFT:
return TRAINING_RUNECRAFT;
case HUNTER:
return TRAINING_HUNTER;
case CONSTRUCTION:
return TRAINING_CONSTRUCTION;
default:
return null;
}
}

View File

@@ -417,10 +417,14 @@ public class DiscordPlugin extends Plugin
switch (event.getDiscordAreaType())
{
case BOSSES: return config.showBossActivity();
case CITIES: return config.showCityActivity();
case DUNGEONS: return config.showDungeonActivity();
case MINIGAMES: return config.showMinigameActivity();
case BOSSES:
return config.showBossActivity();
case CITIES:
return config.showCityActivity();
case DUNGEONS:
return config.showDungeonActivity();
case MINIGAMES:
return config.showMinigameActivity();
}
return false;

View File

@@ -24,19 +24,22 @@
*/
package net.runelite.client.plugins.easyscape;
public enum DuelingRingMode {
public enum DuelingRingMode
{
DUEL_ARENA("Duel Arena"),
CASTLE_WARS("Castle Wars"),
CLAN_WARS("Clan Wars");
private final String name;
DuelingRingMode(String name) {
DuelingRingMode(String name)
{
this.name = name;
}
@Override
public String toString() {
public String toString()
{
return name;
}
}

View File

@@ -25,10 +25,13 @@
package net.runelite.client.plugins.easyscape;
import com.google.inject.Provides;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.MenuAction;
import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET;
import static net.runelite.api.MenuAction.WALK;
import net.runelite.api.MenuEntry;
import net.runelite.api.Player;
import net.runelite.api.coords.WorldPoint;
@@ -43,9 +46,6 @@ import net.runelite.client.plugins.PluginType;
import static net.runelite.client.util.MenuUtil.swap;
import net.runelite.client.util.Text;
import org.apache.commons.lang3.ArrayUtils;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET;
import static net.runelite.api.MenuAction.WALK;
@PluginDescriptor(
@@ -57,7 +57,8 @@ import static net.runelite.api.MenuAction.WALK;
)
@Slf4j
public class EasyscapePlugin extends Plugin {
public class EasyscapePlugin extends Plugin
{
private static final int PURO_PURO_REGION_ID = 10307;
private static final int HOUSE_REGION_ID = 7513;
@@ -71,31 +72,37 @@ public class EasyscapePlugin extends Plugin {
private EasyscapePluginConfig config;
@Provides
EasyscapePluginConfig provideConfig(ConfigManager configManager) {
EasyscapePluginConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(EasyscapePluginConfig.class);
}
@Override
public void startUp() {
public void startUp()
{
log.debug("Easyscape Started.");
}
@Override
public void shutDown() {
public void shutDown()
{
log.debug("Easyscape Stopped.");
}
@Subscribe
public void onMenuEntryAdded(MenuEntryAdded event) {
public void onMenuEntryAdded(MenuEntryAdded event)
{
if (client.getGameState() != GameState.LOGGED_IN) {
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
Widget loginScreenOne = client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN);
Widget loginScreenTwo = client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN_MESSAGE_OF_THE_DAY);
if (loginScreenOne != null || loginScreenTwo != null) {
if (loginScreenOne != null || loginScreenTwo != null)
{
return;
}
@@ -104,9 +111,12 @@ public class EasyscapePlugin extends Plugin {
entries = client.getMenuEntries();
if (config.getRemoveExamine()) {
for (int i = entries.length - 1; i >= 0; i--) {
if (entries[i].getOption().equals("Examine")) {
if (config.getRemoveExamine())
{
for (int i = entries.length - 1; i >= 0; i--)
{
if (entries[i].getOption().equals("Examine"))
{
entries = ArrayUtils.remove(entries, i);
i--;
}
@@ -114,39 +124,50 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries);
}
if (config.getRemoveObjects() && !config.getRemovedObjects().equals("")) {
for (String removed : config.getRemovedObjects().split(",")) {
if (config.getRemoveObjects() && !config.getRemovedObjects().equals(""))
{
for (String removed : config.getRemovedObjects().split(","))
{
removed = removed.trim();
if (target.contains("->")) {
if (target.contains("->"))
{
String trimmed = target.split("->")[1].trim();
if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed)) {
if (trimmed.length() >= removed.length() && trimmed.substring(0, removed.length()).equalsIgnoreCase(removed))
{
delete(event.getIdentifier());
break;
}
}
if (target.length() >= removed.length() && target.substring(0, removed.length()).equalsIgnoreCase(removed)) {
if (target.length() >= removed.length() && target.substring(0, removed.length()).equalsIgnoreCase(removed))
{
delete(event.getIdentifier());
break;
}
}
}
if (config.getSwapPuro() && isPuroPuro()) {
if (event.getType() == WALK.getId()) {
if (config.getSwapPuro() && isPuroPuro())
{
if (event.getType() == WALK.getId())
{
MenuEntry menuEntry = entries[entries.length - 1];
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
client.setMenuEntries(entries);
}
else if (option.equalsIgnoreCase("examine")) {
else if (option.equalsIgnoreCase("examine"))
{
swap(client, "push-through", option, target);
}
else if (option.equalsIgnoreCase("use")) {
else if (option.equalsIgnoreCase("use"))
{
swap(client, "escape", option, target);
}
}
if (config.getEasyConstruction() && !config.getConstructionItems().equals("")) {
if (event.getType() == WALK.getId()) {
if (config.getEasyConstruction() && !config.getConstructionItems().equals(""))
{
if (event.getType() == WALK.getId())
{
MenuEntry menuEntry = entries[entries.length - 1];
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
client.setMenuEntries(entries);
@@ -154,10 +175,14 @@ public class EasyscapePlugin extends Plugin {
swap(client, "Build", option, target);
for (int i = entries.length - 1; i >= 0; i--) {
for (String item : config.getConstructionItems().split(",")) {
if (item.trim().equalsIgnoreCase(Text.removeTags(entries[i].getTarget()))) {
if (!entries[i].getOption().equalsIgnoreCase("remove")) {
for (int i = entries.length - 1; i >= 0; i--)
{
for (String item : config.getConstructionItems().split(","))
{
if (item.trim().equalsIgnoreCase(Text.removeTags(entries[i].getTarget())))
{
if (!entries[i].getOption().equalsIgnoreCase("remove"))
{
entries = ArrayUtils.remove(entries, i);
i--;
}
@@ -168,66 +193,89 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries);
}
if (config.getSwapShop() && !config.getSwappedItems().equals("")) {
for (String item : config.getSwappedItems().split(",")) {
if (target.equalsIgnoreCase(item.trim())) {
if (config.getSwapShop() && !config.getSwappedItems().equals(""))
{
for (String item : config.getSwappedItems().split(","))
{
if (target.equalsIgnoreCase(item.trim()))
{
swap(client, "Buy 50", option, target);
}
}
}
if (config.getSwapSmithing()) {
if (option.equalsIgnoreCase("Smith 1")) {
if (config.getSwapSmithing())
{
if (option.equalsIgnoreCase("Smith 1"))
{
swap(client, "Smith All", option, target);
} else if (option.equalsIgnoreCase("Smith 1 Set")) {
}
else if (option.equalsIgnoreCase("Smith 1 Set"))
{
swap(client, "Smith All Sets", option, target);
}
}
if (config.getSwapTanning() && option.equalsIgnoreCase("Tan 1")) {
if (config.getSwapTanning() && option.equalsIgnoreCase("Tan 1"))
{
swap(client, "Tan All", option, target);
}
if (config.getSwapCrafting() && option.equalsIgnoreCase("Make-1")) {
if (config.getSwapCrafting() && option.equalsIgnoreCase("Make-1"))
{
swap(client, "Make-All", option, target);
}
if (config.getSwapSawmill() && target.equalsIgnoreCase("Sawmill operator")) {
if (config.getSwapSawmill() && target.equalsIgnoreCase("Sawmill operator"))
{
swap(client, "Buy-plank", option, target);
}
if (config.getSwapSawmillPlanks() && option.equalsIgnoreCase("Buy 1")) {
if (config.getSwapSawmillPlanks() && option.equalsIgnoreCase("Buy 1"))
{
swap(client, "Buy All", option, target);
}
if (config.getSwapStairs() && option.equalsIgnoreCase("Climb Stairs")) {
if (config.getSwapStairs() && option.equalsIgnoreCase("Climb Stairs"))
{
swap(client, "Climb Up Stairs", option, target);
}
if (option.equalsIgnoreCase("Clear-All") && target.equalsIgnoreCase("Bank Filler")) {
if (option.equalsIgnoreCase("Clear-All") && target.equalsIgnoreCase("Bank Filler"))
{
swap(client, "Clear", option, target);
}
if (target.toLowerCase().contains("ardougne cloak") && config.getSwapArdougneCape()) {
if (target.toLowerCase().contains("ardougne cloak") && config.getSwapArdougneCape())
{
swap(client, "Kandarin Monastery", option, target);
swap(client, "Monastery Teleport", option, target);
}
if (config.getSwapEssencePouch()) {
if (isEssencePouch(target)) {
if (config.getSwapEssencePouch())
{
if (isEssencePouch(target))
{
Widget widgetBankTitleBar = client.getWidget(WidgetInfo.BANK_TITLE_BAR);
switch (config.getEssenceMode()) {
switch (config.getEssenceMode())
{
case RUNECRAFTING:
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden()) {
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden())
{
swap(client, "Empty", option, target);
} else {
}
else
{
swap(client, "Fill", option, target);
}
break;
case ESSENCE_MINING:
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden()) {
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden())
{
swap(client, "Fill", option, target);
} else {
}
else
{
swap(client, "Empty", option, target);
}
break;
@@ -237,9 +285,12 @@ public class EasyscapePlugin extends Plugin {
}
}
if (config.getGamesNecklace()) {
if (target.toLowerCase().contains("games necklace")) {
switch (config.getGamesNecklaceMode()) {
if (config.getGamesNecklace())
{
if (target.toLowerCase().contains("games necklace"))
{
switch (config.getGamesNecklaceMode())
{
case BURTHORPE:
swap(client, GamesNecklaceMode.BURTHORPE.toString(), option, target);
break;
@@ -261,9 +312,12 @@ public class EasyscapePlugin extends Plugin {
}
}
if (config.getDuelingRing()) {
if (target.toLowerCase().contains("ring of dueling")) {
switch (config.getDuelingRingMode()) {
if (config.getDuelingRing())
{
if (target.toLowerCase().contains("ring of dueling"))
{
switch (config.getDuelingRingMode())
{
case DUEL_ARENA:
swap(client, DuelingRingMode.DUEL_ARENA.toString(), option, target);
break;
@@ -279,9 +333,12 @@ public class EasyscapePlugin extends Plugin {
}
}
if (config.getWealthRing()) {
if (target.toLowerCase().contains("ring of wealth")) {
switch (config.getWealthRingMode()) {
if (config.getWealthRing())
{
if (target.toLowerCase().contains("ring of wealth"))
{
switch (config.getWealthRingMode())
{
case MISCELLANIA:
swap(client, WealthRingMode.MISCELLANIA.toString(), option, target);
break;
@@ -300,9 +357,12 @@ public class EasyscapePlugin extends Plugin {
}
}
if (config.getGlory()) {
if (target.toLowerCase().contains("amulet of glory") || target.toLowerCase().contains("amulet of eternal glory")) {
switch (config.getGloryMode()) {
if (config.getGlory())
{
if (target.toLowerCase().contains("amulet of glory") || target.toLowerCase().contains("amulet of eternal glory"))
{
switch (config.getGloryMode())
{
case EDGEVILLE:
swap(client, GloryMode.EDGEVILLE.toString(), option, target);
break;
@@ -321,20 +381,25 @@ public class EasyscapePlugin extends Plugin {
}
}
if (target.toLowerCase().contains("crafting cape") && config.getSwapCraftingCape()) {
if (target.toLowerCase().contains("crafting cape") && config.getSwapCraftingCape())
{
swap(client, "Teleport", option, target);
}
if (target.toLowerCase().contains("construct. cape") && config.getSwapConstructionCape()) {
if (target.toLowerCase().contains("construct. cape") && config.getSwapConstructionCape())
{
swap(client, "Tele to poh", option, target);
}
}
private void delete(int target) {
for (int i = entries.length - 1; i >= 0; i--) {
if (entries[i].getIdentifier() == target) {
private void delete(int target)
{
for (int i = entries.length - 1; i >= 0; i--)
{
if (entries[i].getIdentifier() == target)
{
entries = ArrayUtils.remove(entries, i);
i--;
}
@@ -342,20 +407,26 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries);
}
private boolean isEssencePouch(String target) {
private boolean isEssencePouch(String target)
{
return (target.equalsIgnoreCase("Small Pouch") || target.equalsIgnoreCase("Medium Pouch") || target.equalsIgnoreCase("Large Pouch") || target.equalsIgnoreCase("Giant Pouch"));
}
private boolean isHouse() {
private boolean isHouse()
{
return client.getMapRegions()[0] == HOUSE_REGION_ID;
}
private boolean isPuroPuro() {
private boolean isPuroPuro()
{
Player player = client.getLocalPlayer();
if (player == null) {
if (player == null)
{
return false;
} else {
}
else
{
WorldPoint location = player.getWorldLocation();
return location.getRegionID() == PURO_PURO_REGION_ID;
}

View File

@@ -29,7 +29,8 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("easyscape")
public interface EasyscapePluginConfig extends Config {
public interface EasyscapePluginConfig extends Config
{
@ConfigItem(
keyName = "removeExamine",
@@ -37,7 +38,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 0
)
default boolean getRemoveExamine() {
default boolean getRemoveExamine()
{
return true;
}
@@ -47,7 +49,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of items in the shop with their buy-50 option.",
position = 1
)
default boolean getSwapShop() {
default boolean getSwapShop()
{
return true;
}
@@ -57,7 +60,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Items listed here will have their value and buy-50 options swapped.",
position = 2
)
default String getSwappedItems() {
default String getSwappedItems()
{
return "";
}
@@ -68,7 +72,8 @@ public interface EasyscapePluginConfig extends Config {
position = 3
)
default boolean getEasyConstruction() {
default boolean getEasyConstruction()
{
return true;
}
@@ -79,7 +84,8 @@ public interface EasyscapePluginConfig extends Config {
position = 4
)
default String getConstructionItems() {
default String getConstructionItems()
{
return "";
}
@@ -89,7 +95,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 5
)
default boolean getRemoveObjects() {
default boolean getRemoveObjects()
{
return true;
}
@@ -99,7 +106,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 6
)
default String getRemovedObjects() {
default String getRemovedObjects()
{
return "";
}
@@ -109,7 +117,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of smith-1 and smith-all options.",
position = 7
)
default boolean getSwapSmithing() {
default boolean getSwapSmithing()
{
return true;
}
@@ -119,7 +128,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of tan-1 and tan-all options.",
position = 8
)
default boolean getSwapTanning() {
default boolean getSwapTanning()
{
return true;
}
@@ -129,7 +139,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 9
)
default boolean getSwapCrafting() {
default boolean getSwapCrafting()
{
return true;
}
@@ -139,7 +150,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.",
position = 10
)
default boolean getSwapArdougneCape() {
default boolean getSwapArdougneCape()
{
return true;
}
@@ -150,7 +162,8 @@ public interface EasyscapePluginConfig extends Config {
position = 11
)
default boolean getSwapStairs() {
default boolean getSwapStairs()
{
return true;
}
@@ -160,7 +173,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 12
)
default boolean getSwapSawmill() {
default boolean getSwapSawmill()
{
return true;
}
@@ -171,7 +185,8 @@ public interface EasyscapePluginConfig extends Config {
position = 13
)
default boolean getSwapSawmillPlanks() {
default boolean getSwapSawmillPlanks()
{
return true;
}
@@ -181,7 +196,8 @@ public interface EasyscapePluginConfig extends Config {
description = "",
position = 14
)
default boolean getSwapPuro() {
default boolean getSwapPuro()
{
return true;
}
@@ -191,7 +207,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of fill and empty for essence pounch.",
position = 15
)
default boolean getSwapEssencePouch() {
default boolean getSwapEssencePouch()
{
return true;
}
@@ -202,7 +219,8 @@ public interface EasyscapePluginConfig extends Config {
position = 16
)
default EssenceMode getEssenceMode() {
default EssenceMode getEssenceMode()
{
return EssenceMode.RUNECRAFTING;
}
@@ -212,7 +230,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of games necklace.",
position = 17
)
default boolean getGamesNecklace() {
default boolean getGamesNecklace()
{
return true;
}
@@ -223,7 +242,8 @@ public interface EasyscapePluginConfig extends Config {
position = 18
)
default GamesNecklaceMode getGamesNecklaceMode() {
default GamesNecklaceMode getGamesNecklaceMode()
{
return GamesNecklaceMode.BURTHORPE;
}
@@ -233,7 +253,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of dueling ring.",
position = 19
)
default boolean getDuelingRing() {
default boolean getDuelingRing()
{
return true;
}
@@ -244,7 +265,8 @@ public interface EasyscapePluginConfig extends Config {
position = 20
)
default DuelingRingMode getDuelingRingMode() {
default DuelingRingMode getDuelingRingMode()
{
return DuelingRingMode.DUEL_ARENA;
}
@@ -254,7 +276,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of Amulet of Glory.",
position = 21
)
default boolean getGlory() {
default boolean getGlory()
{
return true;
}
@@ -265,7 +288,8 @@ public interface EasyscapePluginConfig extends Config {
position = 22
)
default GloryMode getGloryMode() {
default GloryMode getGloryMode()
{
return GloryMode.EDGEVILLE;
}
@@ -275,7 +299,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of Ring of Wealth.",
position = 23
)
default boolean getWealthRing() {
default boolean getWealthRing()
{
return true;
}
@@ -286,7 +311,8 @@ public interface EasyscapePluginConfig extends Config {
position = 24
)
default WealthRingMode getWealthRingMode() {
default WealthRingMode getWealthRingMode()
{
return WealthRingMode.GRAND_EXCHANGE;
}
@@ -296,7 +322,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.",
position = 25
)
default boolean getSwapConstructionCape() {
default boolean getSwapConstructionCape()
{
return true;
}
@@ -306,7 +333,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.",
position = 26
)
default boolean getSwapCraftingCape() {
default boolean getSwapCraftingCape()
{
return true;
}
}

View File

@@ -24,18 +24,21 @@
*/
package net.runelite.client.plugins.easyscape;
public enum EssenceMode {
public enum EssenceMode
{
RUNECRAFTING("Runecrafting"),
ESSENCE_MINING("Essence Mining");
private final String name;
EssenceMode(String name) {
EssenceMode(String name)
{
this.name = name;
}
@Override
public String toString() {
public String toString()
{
return name;
}
}

View File

@@ -24,7 +24,8 @@
*/
package net.runelite.client.plugins.easyscape;
public enum GamesNecklaceMode {
public enum GamesNecklaceMode
{
BURTHORPE("Burthorpe"),
BARBARIAN_OUTPOST("Barbarian Outpost"),
CORPOREAL_BEAST("Corporeal Beast"),
@@ -33,12 +34,14 @@ public enum GamesNecklaceMode {
private final String name;
GamesNecklaceMode(String name) {
GamesNecklaceMode(String name)
{
this.name = name;
}
@Override
public String toString() {
public String toString()
{
return name;
}
}

View File

@@ -24,7 +24,8 @@
*/
package net.runelite.client.plugins.easyscape;
public enum GloryMode {
public enum GloryMode
{
EDGEVILLE("Edgeville"),
KARAMJA("Karamja"),
DRAYNOR_VILLAGE("Draynor Village"),
@@ -32,12 +33,14 @@ public enum GloryMode {
private final String name;
GloryMode(String name) {
GloryMode(String name)
{
this.name = name;
}
@Override
public String toString() {
public String toString()
{
return name;
}
}

View File

@@ -24,7 +24,8 @@
*/
package net.runelite.client.plugins.easyscape;
public enum WealthRingMode {
public enum WealthRingMode
{
MISCELLANIA("Miscellania"),
GRAND_EXCHANGE("Grand Exchange"),
FALADOR("Falador"),
@@ -32,12 +33,14 @@ public enum WealthRingMode {
private final String name;
WealthRingMode(String name) {
WealthRingMode(String name)
{
this.name = name;
}
@Override
public String toString() {
public String toString()
{
return name;
}
}

View File

@@ -66,10 +66,6 @@ class CacheKey
{
return false;
}
if (this.type != other.type)
{
return false;
}
return true;
return this.type == other.type;
}
}

View File

@@ -29,5 +29,5 @@ public enum ExamineType
ITEM,
ITEM_BANK_EQ,
NPC,
OBJECT;
OBJECT
}

View File

@@ -28,5 +28,5 @@ enum PrayerType
{
MELEE,
RANGE,
MAGIC;
MAGIC
}

View File

@@ -27,7 +27,6 @@ package net.runelite.client.plugins.experiencedrop;
import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import net.runelite.api.Actor;
import net.runelite.api.Point;
import net.runelite.client.ui.overlay.Overlay;

View File

@@ -25,7 +25,6 @@
package net.runelite.client.plugins.experiencedrop;
import com.google.inject.Provides;
import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;
@@ -33,15 +32,23 @@ import java.util.EnumMap;
import java.util.Map;
import java.util.stream.IntStream;
import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
import net.runelite.api.*;
import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.NPC;
import net.runelite.api.Player;
import static net.runelite.api.ScriptID.XPDROP_DISABLED;
import static net.runelite.client.plugins.attackstyles.AttackStyle.*;
import net.runelite.api.events.*;
import net.runelite.api.Skill;
import net.runelite.api.SpriteID;
import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits;
import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.InteractingChanged;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetHiddenChanged;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo;
@@ -52,6 +59,15 @@ import net.runelite.client.game.NPCManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.attackstyles.AttackStyle;
import static net.runelite.client.plugins.attackstyles.AttackStyle.ACCURATE;
import static net.runelite.client.plugins.attackstyles.AttackStyle.AGGRESSIVE;
import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.CONTROLLED;
import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE;
import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE_CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.LONGRANGE;
import static net.runelite.client.plugins.attackstyles.AttackStyle.OTHER;
import static net.runelite.client.plugins.attackstyles.AttackStyle.RANGING;
import net.runelite.client.plugins.attackstyles.WeaponType;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Text;

View File

@@ -26,7 +26,22 @@ package net.runelite.client.plugins.experiencedrop;
import lombok.Getter;
import net.runelite.api.Prayer;
import static net.runelite.api.Prayer.*;
import static net.runelite.api.Prayer.AUGURY;
import static net.runelite.api.Prayer.BURST_OF_STRENGTH;
import static net.runelite.api.Prayer.CHIVALRY;
import static net.runelite.api.Prayer.CLARITY_OF_THOUGHT;
import static net.runelite.api.Prayer.EAGLE_EYE;
import static net.runelite.api.Prayer.HAWK_EYE;
import static net.runelite.api.Prayer.IMPROVED_REFLEXES;
import static net.runelite.api.Prayer.INCREDIBLE_REFLEXES;
import static net.runelite.api.Prayer.MYSTIC_LORE;
import static net.runelite.api.Prayer.MYSTIC_MIGHT;
import static net.runelite.api.Prayer.MYSTIC_WILL;
import static net.runelite.api.Prayer.PIETY;
import static net.runelite.api.Prayer.RIGOUR;
import static net.runelite.api.Prayer.SHARP_EYE;
import static net.runelite.api.Prayer.SUPERHUMAN_STRENGTH;
import static net.runelite.api.Prayer.ULTIMATE_STRENGTH;
import static net.runelite.client.plugins.experiencedrop.PrayerType.MAGIC;
import static net.runelite.client.plugins.experiencedrop.PrayerType.MELEE;
import static net.runelite.client.plugins.experiencedrop.PrayerType.RANGE;

View File

@@ -43,7 +43,6 @@ import net.runelite.api.ScriptID;
import net.runelite.api.SoundEffectID;
import net.runelite.api.SpriteID;
import net.runelite.api.Varbits;
import net.runelite.api.widgets.WidgetType;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetLoaded;
@@ -51,6 +50,7 @@ import net.runelite.api.widgets.JavaScriptCallback;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetType;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;

View File

@@ -89,6 +89,7 @@ class WaveOverlay extends Overlay
return panelComponent.render(graphics);
}
private void addWaveInfo(final String headerText, final Map<WaveMonster, Integer> waveContents)
{
panelComponent.getChildren().add(TitleComponent.builder()

View File

@@ -141,7 +141,7 @@ class FishingSpotOverlay extends Overlay
if (config.showSpotIcons())
{
BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());;
BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());
if (spot == FishingSpot.COMMON_TENCH
&& npc.getWorldLocation().distanceTo2D(client.getLocalPlayer().getWorldLocation()) <= ONE_TICK_AERIAL_FISHING)

View File

@@ -34,9 +34,7 @@ import java.awt.Point;
import java.awt.Rectangle;
import java.awt.geom.Line2D;
import java.util.ArrayList;
import javax.annotation.Nullable;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -36,7 +36,7 @@ import net.runelite.api.events.FocusChanged;
* For low powered computers, the RS client is often throttled by the hardware or OS and draws at 25-30 fps.
* The nano timer is not used in this scenario.
* Instead to catch up the RS client runs several cycles before drawing, thus maintaining 50 cycles / second.
*
* <p>
* Enforcing FPS in the draw code does not impact the client engine's ability to run including its audio,
* even when forced to 1 FPS with this plugin.
*/

View File

@@ -60,8 +60,10 @@ public enum PlayerSpellEffect
for (PlayerSpellEffect effect : values())
{
if (effect.getSpotAnimId() == spotAnim)
{
return effect;
}
}
return NONE;
}

View File

@@ -11,8 +11,7 @@ package net.runelite.client.plugins.friendtagging;
import com.google.common.base.Strings;
import com.google.common.collect.ObjectArrays;
import java.awt.*;
import java.awt.Toolkit;
import java.awt.datatransfer.StringSelection;
import java.util.Arrays;
import java.util.HashSet;
@@ -21,8 +20,17 @@ import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Inject;
import lombok.NonNull;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.*;
import net.runelite.api.events.*;
import net.runelite.api.Client;
import net.runelite.api.Friend;
import net.runelite.api.Ignore;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.Nameable;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.NameableNameChanged;
import net.runelite.api.events.RemovedFriend;
import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;

View File

@@ -74,7 +74,18 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager;
import static net.runelite.client.plugins.gpu.GLUtil.*;
import static net.runelite.client.plugins.gpu.GLUtil.glDeleteBuffer;
import static net.runelite.client.plugins.gpu.GLUtil.glDeleteFrameBuffer;
import static net.runelite.client.plugins.gpu.GLUtil.glDeleteRenderbuffers;
import static net.runelite.client.plugins.gpu.GLUtil.glDeleteTexture;
import static net.runelite.client.plugins.gpu.GLUtil.glDeleteVertexArrays;
import static net.runelite.client.plugins.gpu.GLUtil.glGenBuffers;
import static net.runelite.client.plugins.gpu.GLUtil.glGenFrameBuffer;
import static net.runelite.client.plugins.gpu.GLUtil.glGenRenderbuffer;
import static net.runelite.client.plugins.gpu.GLUtil.glGenTexture;
import static net.runelite.client.plugins.gpu.GLUtil.glGenVertexArrays;
import static net.runelite.client.plugins.gpu.GLUtil.glGetInteger;
import static net.runelite.client.plugins.gpu.GLUtil.inputStreamToString;
import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
import net.runelite.client.plugins.gpu.template.Template;
import net.runelite.client.ui.DrawManager;
@@ -1295,10 +1306,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
{
int var21 = (pitchCos * modelHeight >> 16) + var19;
int var22 = (var18 - var21) * zoom;
if (var22 / var14 < Rasterizer3D_clipMidY2)
{
return true;
}
return var22 / var14 < Rasterizer3D_clipMidY2;
}
}
}

View File

@@ -28,9 +28,9 @@ 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 static net.runelite.client.plugins.gpu.GpuPlugin.MAX_DISTANCE;
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_FOG_DEPTH;
import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_DISTANCE;
@ConfigGroup("gpu")
public interface GpuPluginConfig extends Config

View File

@@ -57,8 +57,6 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.GrandExchangeOfferChanged;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
@@ -68,6 +66,8 @@ import net.runelite.client.account.AccountSession;
import net.runelite.client.account.SessionManager;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.game.ItemManager;
import net.runelite.client.input.KeyManager;
import net.runelite.client.input.MouseManager;

View File

@@ -106,7 +106,7 @@ public class GroundItemsOverlay extends Overlay
offsetMap.clear();
final LocalPoint localLocation = player.getLocalLocation();
final Point mousePos = client.getMouseCanvasPosition();
Collection<GroundItem> groundItemList = plugin.getCollectedGroundItems().values();
Collection<GroundItem> groundItemList = GroundItemsPlugin.getCollectedGroundItems().values();
GroundItem topGroundItem = null;
if (plugin.isHotKeyPressed())

View File

@@ -125,7 +125,9 @@ public class GroundMarkerPlugin extends Plugin
}
// CHECKSTYLE:OFF
return GSON.fromJson(json, new TypeToken<List<GroundMarkerPoint>>(){}.getType());
return GSON.fromJson(json, new TypeToken<List<GroundMarkerPoint>>()
{
}.getType());
// CHECKSTYLE:ON
}

View File

@@ -165,6 +165,7 @@ public interface HidePrayersINDIVIDUALConfig extends Config
{
return false;
}
@ConfigItem
(
position = 11,

View File

@@ -29,7 +29,15 @@ package net.runelite.client.plugins.hideprayers.INDIVIDUAL;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import net.runelite.api.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded;
@@ -40,13 +48,8 @@ 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.PluginManager;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
import javax.inject.Inject;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@PluginDescriptor
(
@@ -157,7 +160,8 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{
return PrayerTabStates.PRAYERS;
} else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
}
else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
return PrayerTabStates.QUICK_PRAYERS;
}
@@ -168,26 +172,9 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
return;
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS) {
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
return;
for (int index = 0; index < PRAYER_COUNT; index++)
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
@@ -197,7 +184,35 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
@@ -234,7 +249,9 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
&& !config.HidePiety()
&& !config.HideRigour()
&& !config.HideAugury())
{
prayerWidget.setHidden(false);
}
if (config.showINDIVIDUALPrayers())
{

View File

@@ -41,7 +41,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Barrows",
description = "Shows prayers for Barrows"
)
default Barrows Barrows() {return Barrows.DISABLED;}
default Barrows Barrows()
{
return Barrows.DISABLED;
}
@ConfigItem
(
@@ -50,7 +53,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Cerberus",
description = "Shows prayers for Cerberus"
)
default Cerberus Cerberus() {return Cerberus.DISABLED;}
default Cerberus Cerberus()
{
return Cerberus.DISABLED;
}
@ConfigItem
(
@@ -59,7 +65,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Vorkath",
description = "Shows prayers for Vorkath"
)
default Vorkath Vorkath() {return Vorkath.DISABLED;}
default Vorkath Vorkath()
{
return Vorkath.DISABLED;
}
@ConfigItem
(
@@ -68,7 +77,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Zulrah",
description = "Shows prayers for Zulrah"
)
default Zulrah Zulrah() {return Zulrah.DISABLED;}
default Zulrah Zulrah()
{
return Zulrah.DISABLED;
}
@ConfigItem
(
@@ -77,7 +89,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Armadyl",
description = "Shows prayers for Armadyl"
)
default Armadyl Armadyl() {return Armadyl.DISABLED;}
default Armadyl Armadyl()
{
return Armadyl.DISABLED;
}
@ConfigItem
(
@@ -86,7 +101,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Bandos",
description = "Shows prayers for Bandos"
)
default Bandos Bandos() {return Bandos.DISABLED;}
default Bandos Bandos()
{
return Bandos.DISABLED;
}
@ConfigItem
(
@@ -95,7 +113,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Saradomin",
description = "Shows prayers for Saradomin"
)
default Saradomin Saradomin() {return Saradomin.DISABLED;}
default Saradomin Saradomin()
{
return Saradomin.DISABLED;
}
@ConfigItem
(
@@ -104,5 +125,8 @@ public interface HidePrayersPVMConfig extends Config
name = "Zamorak",
description = "Shows prayers for Zamorak"
)
default Zamorak Zamorak() {return Zamorak.DISABLED;}
default Zamorak Zamorak()
{
return Zamorak.DISABLED;
}
}

View File

@@ -29,7 +29,15 @@ package net.runelite.client.plugins.hideprayers.PVM;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import net.runelite.api.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded;
@@ -42,10 +50,6 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
import javax.inject.Inject;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@PluginDescriptor
(
@@ -168,7 +172,9 @@ public class HidePrayersPVMPlugin extends Plugin
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
@@ -178,17 +184,23 @@ public class HidePrayersPVMPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
@@ -198,7 +210,9 @@ public class HidePrayersPVMPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
@@ -214,7 +228,9 @@ public class HidePrayersPVMPlugin extends Plugin
&& config.Zamorak() == Zamorak.DISABLED
&& config.Zulrah() == Zulrah.DISABLED
)
{
prayerWidget.setHidden(false);
}
if (config.Zulrah() == Zulrah.ZULRAH_CHEAP)
{

View File

@@ -41,5 +41,8 @@ public interface HidePrayersPVPConfig extends Config
name = "Combat Prayers",
description = "Shows prayers based on prayer build"
)
default CombatPrayers CombatPrayers() {return CombatPrayers.DISABLED;}
default CombatPrayers CombatPrayers()
{
return CombatPrayers.DISABLED;
}
}

View File

@@ -29,7 +29,15 @@ package net.runelite.client.plugins.hideprayers.PVP;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import net.runelite.api.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded;
@@ -42,10 +50,6 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
import javax.inject.Inject;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@PluginDescriptor
(
@@ -168,7 +172,9 @@ public class HidePrayersPVPPlugin extends Plugin
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
@@ -178,17 +184,23 @@ public class HidePrayersPVPPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
@@ -198,7 +210,9 @@ public class HidePrayersPVPPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
@@ -206,7 +220,9 @@ public class HidePrayersPVPPlugin extends Plugin
Widget prayerWidget = prayerWidgets.get(prayer.ordinal());
if (config.CombatPrayers() == CombatPrayers.DISABLED)
{
prayerWidget.setHidden(false);
}
if (config.CombatPrayers() == CombatPrayers.PRAY1)
{

View File

@@ -32,8 +32,6 @@ import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.util.HashSet;
import java.util.Set;
import javax.inject.Inject;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemID;

View File

@@ -36,7 +36,6 @@ import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.SpriteManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType;

View File

@@ -26,8 +26,7 @@
package net.runelite.client.plugins.idlenotifier;
import com.google.inject.Provides;
import java.awt.*;
import java.awt.TrayIcon;
import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;
@@ -36,7 +35,93 @@ import java.util.List;
import javax.inject.Inject;
import net.runelite.api.Actor;
import net.runelite.api.AnimationID;
import static net.runelite.api.AnimationID.*;
import static net.runelite.api.AnimationID.COOKING_FIRE;
import static net.runelite.api.AnimationID.COOKING_RANGE;
import static net.runelite.api.AnimationID.COOKING_WINE;
import static net.runelite.api.AnimationID.CRAFTING_BATTLESTAVES;
import static net.runelite.api.AnimationID.CRAFTING_GLASSBLOWING;
import static net.runelite.api.AnimationID.CRAFTING_LEATHER;
import static net.runelite.api.AnimationID.CRAFTING_POTTERS_WHEEL;
import static net.runelite.api.AnimationID.CRAFTING_POTTERY_OVEN;
import static net.runelite.api.AnimationID.CRAFTING_SPINNING;
import static net.runelite.api.AnimationID.DENSE_ESSENCE_CHIPPING;
import static net.runelite.api.AnimationID.DENSE_ESSENCE_CHISELING;
import static net.runelite.api.AnimationID.FARMING_MIX_ULTRACOMPOST;
import static net.runelite.api.AnimationID.FISHING_CRUSHING_INFERNAL_EELS;
import static net.runelite.api.AnimationID.FISHING_CUTTING_SACRED_EELS;
import static net.runelite.api.AnimationID.FLETCHING_BOW_CUTTING;
import static net.runelite.api.AnimationID.FLETCHING_STRING_MAGIC_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_MAGIC_SHORTBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_MAPLE_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_MAPLE_SHORTBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_NORMAL_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_NORMAL_SHORTBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_OAK_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_OAK_SHORTBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_WILLOW_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_WILLOW_SHORTBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_YEW_LONGBOW;
import static net.runelite.api.AnimationID.FLETCHING_STRING_YEW_SHORTBOW;
import static net.runelite.api.AnimationID.GEM_CUTTING_AMETHYST;
import static net.runelite.api.AnimationID.GEM_CUTTING_DIAMOND;
import static net.runelite.api.AnimationID.GEM_CUTTING_EMERALD;
import static net.runelite.api.AnimationID.GEM_CUTTING_JADE;
import static net.runelite.api.AnimationID.GEM_CUTTING_OPAL;
import static net.runelite.api.AnimationID.GEM_CUTTING_REDTOPAZ;
import static net.runelite.api.AnimationID.GEM_CUTTING_RUBY;
import static net.runelite.api.AnimationID.GEM_CUTTING_SAPPHIRE;
import static net.runelite.api.AnimationID.HERBLORE_MAKE_TAR;
import static net.runelite.api.AnimationID.HERBLORE_PESTLE_AND_MORTAR;
import static net.runelite.api.AnimationID.HERBLORE_POTIONMAKING;
import static net.runelite.api.AnimationID.HOME_MAKE_TABLET;
import static net.runelite.api.AnimationID.IDLE;
import static net.runelite.api.AnimationID.MAGIC_CHARGING_ORBS;
import static net.runelite.api.AnimationID.MAGIC_ENCHANTING_AMULET_1;
import static net.runelite.api.AnimationID.MAGIC_ENCHANTING_AMULET_2;
import static net.runelite.api.AnimationID.MAGIC_ENCHANTING_AMULET_3;
import static net.runelite.api.AnimationID.MAGIC_ENCHANTING_JEWELRY;
import static net.runelite.api.AnimationID.MAGIC_LUNAR_PLANK_MAKE;
import static net.runelite.api.AnimationID.MAGIC_LUNAR_SHARED;
import static net.runelite.api.AnimationID.MAGIC_LUNAR_STRING_JEWELRY;
import static net.runelite.api.AnimationID.MAGIC_MAKE_TABLET;
import static net.runelite.api.AnimationID.MINING_3A_PICKAXE;
import static net.runelite.api.AnimationID.MINING_ADAMANT_PICKAXE;
import static net.runelite.api.AnimationID.MINING_BLACK_PICKAXE;
import static net.runelite.api.AnimationID.MINING_BRONZE_PICKAXE;
import static net.runelite.api.AnimationID.MINING_DRAGON_PICKAXE;
import static net.runelite.api.AnimationID.MINING_DRAGON_PICKAXE_ORN;
import static net.runelite.api.AnimationID.MINING_INFERNAL_PICKAXE;
import static net.runelite.api.AnimationID.MINING_IRON_PICKAXE;
import static net.runelite.api.AnimationID.MINING_MITHRIL_PICKAXE;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_3A;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_ADAMANT;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_BLACK;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_BRONZE;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_DRAGON;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_DRAGON_ORN;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_INFERNAL;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_IRON;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_MITHRIL;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_RUNE;
import static net.runelite.api.AnimationID.MINING_MOTHERLODE_STEEL;
import static net.runelite.api.AnimationID.MINING_RUNE_PICKAXE;
import static net.runelite.api.AnimationID.MINING_STEEL_PICKAXE;
import static net.runelite.api.AnimationID.PISCARILIUS_CRANE_REPAIR;
import static net.runelite.api.AnimationID.SAND_COLLECTION;
import static net.runelite.api.AnimationID.SMITHING_ANVIL;
import static net.runelite.api.AnimationID.SMITHING_CANNONBALL;
import static net.runelite.api.AnimationID.SMITHING_SMELTING;
import static net.runelite.api.AnimationID.USING_GILDED_ALTAR;
import static net.runelite.api.AnimationID.WOODCUTTING_3A_AXE;
import static net.runelite.api.AnimationID.WOODCUTTING_ADAMANT;
import static net.runelite.api.AnimationID.WOODCUTTING_BLACK;
import static net.runelite.api.AnimationID.WOODCUTTING_BRONZE;
import static net.runelite.api.AnimationID.WOODCUTTING_DRAGON;
import static net.runelite.api.AnimationID.WOODCUTTING_INFERNAL;
import static net.runelite.api.AnimationID.WOODCUTTING_IRON;
import static net.runelite.api.AnimationID.WOODCUTTING_MITHRIL;
import static net.runelite.api.AnimationID.WOODCUTTING_RUNE;
import static net.runelite.api.AnimationID.WOODCUTTING_STEEL;
import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.GameState;

View File

@@ -30,7 +30,6 @@ import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
/**
*
* @author robin
*/
@ConfigGroup("implings")

View File

@@ -35,8 +35,8 @@ import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.Point;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay;

View File

@@ -45,14 +45,13 @@ import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.event.HyperlinkEvent;
import net.runelite.api.Client;
import net.runelite.client.RuneLite;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.RuneLiteProperties;
import net.runelite.client.account.SessionManager;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionClose;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.PluginPanel;

View File

@@ -28,8 +28,8 @@ import java.awt.image.BufferedImage;
import javax.inject.Inject;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.ClientToolbar;
import net.runelite.client.ui.NavigationButton;
import net.runelite.client.util.ImageUtil;
@PluginDescriptor(

View File

@@ -35,6 +35,8 @@ import lombok.Getter;
import lombok.Setter;
import net.runelite.api.Client;
import net.runelite.api.Player;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X_HOVERED;
import net.runelite.api.SpritePixels;
import net.runelite.api.Tile;
import net.runelite.api.coords.LocalPoint;
@@ -45,8 +47,6 @@ import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.BackgroundComponent;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X_HOVERED;
@Singleton
class InstanceMapOverlay extends Overlay

View File

@@ -29,7 +29,133 @@ import java.util.Map;
import javax.annotation.Nullable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import static net.runelite.api.ItemID.*;
import static net.runelite.api.ItemID.ABYSSAL_BRACELET1;
import static net.runelite.api.ItemID.ABYSSAL_BRACELET2;
import static net.runelite.api.ItemID.ABYSSAL_BRACELET3;
import static net.runelite.api.ItemID.ABYSSAL_BRACELET4;
import static net.runelite.api.ItemID.ABYSSAL_BRACELET5;
import static net.runelite.api.ItemID.AMULET_OF_GLORY1;
import static net.runelite.api.ItemID.AMULET_OF_GLORY2;
import static net.runelite.api.ItemID.AMULET_OF_GLORY3;
import static net.runelite.api.ItemID.AMULET_OF_GLORY4;
import static net.runelite.api.ItemID.AMULET_OF_GLORY5;
import static net.runelite.api.ItemID.AMULET_OF_GLORY6;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T1;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T2;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T3;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T4;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T5;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T6;
import static net.runelite.api.ItemID.BURNING_AMULET1;
import static net.runelite.api.ItemID.BURNING_AMULET2;
import static net.runelite.api.ItemID.BURNING_AMULET3;
import static net.runelite.api.ItemID.BURNING_AMULET4;
import static net.runelite.api.ItemID.BURNING_AMULET5;
import static net.runelite.api.ItemID.COMBAT_BRACELET1;
import static net.runelite.api.ItemID.COMBAT_BRACELET2;
import static net.runelite.api.ItemID.COMBAT_BRACELET3;
import static net.runelite.api.ItemID.COMBAT_BRACELET4;
import static net.runelite.api.ItemID.COMBAT_BRACELET5;
import static net.runelite.api.ItemID.COMBAT_BRACELET6;
import static net.runelite.api.ItemID.DIGSITE_PENDANT_1;
import static net.runelite.api.ItemID.DIGSITE_PENDANT_2;
import static net.runelite.api.ItemID.DIGSITE_PENDANT_3;
import static net.runelite.api.ItemID.DIGSITE_PENDANT_4;
import static net.runelite.api.ItemID.DIGSITE_PENDANT_5;
import static net.runelite.api.ItemID.ENCHANTED_LYRE1;
import static net.runelite.api.ItemID.ENCHANTED_LYRE2;
import static net.runelite.api.ItemID.ENCHANTED_LYRE3;
import static net.runelite.api.ItemID.ENCHANTED_LYRE4;
import static net.runelite.api.ItemID.ENCHANTED_LYRE5;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_0;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_1;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_10;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_2;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_3;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_4;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_5;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_6;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_7;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_8;
import static net.runelite.api.ItemID.FUNGICIDE_SPRAY_9;
import static net.runelite.api.ItemID.GAMES_NECKLACE1;
import static net.runelite.api.ItemID.GAMES_NECKLACE2;
import static net.runelite.api.ItemID.GAMES_NECKLACE3;
import static net.runelite.api.ItemID.GAMES_NECKLACE4;
import static net.runelite.api.ItemID.GAMES_NECKLACE5;
import static net.runelite.api.ItemID.GAMES_NECKLACE6;
import static net.runelite.api.ItemID.GAMES_NECKLACE7;
import static net.runelite.api.ItemID.GAMES_NECKLACE8;
import static net.runelite.api.ItemID.IMPINABOX1;
import static net.runelite.api.ItemID.IMPINABOX2;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE1;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE2;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE3;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE4;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE5;
import static net.runelite.api.ItemID.OGRE_BELLOWS;
import static net.runelite.api.ItemID.OGRE_BELLOWS_1;
import static net.runelite.api.ItemID.OGRE_BELLOWS_2;
import static net.runelite.api.ItemID.OGRE_BELLOWS_3;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_1;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_2;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_3;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_4;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_5;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_6;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_7;
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_8;
import static net.runelite.api.ItemID.RING_OF_DUELING1;
import static net.runelite.api.ItemID.RING_OF_DUELING2;
import static net.runelite.api.ItemID.RING_OF_DUELING3;
import static net.runelite.api.ItemID.RING_OF_DUELING4;
import static net.runelite.api.ItemID.RING_OF_DUELING5;
import static net.runelite.api.ItemID.RING_OF_DUELING6;
import static net.runelite.api.ItemID.RING_OF_DUELING7;
import static net.runelite.api.ItemID.RING_OF_DUELING8;
import static net.runelite.api.ItemID.RING_OF_RETURNING1;
import static net.runelite.api.ItemID.RING_OF_RETURNING2;
import static net.runelite.api.ItemID.RING_OF_RETURNING3;
import static net.runelite.api.ItemID.RING_OF_RETURNING4;
import static net.runelite.api.ItemID.RING_OF_RETURNING5;
import static net.runelite.api.ItemID.RING_OF_WEALTH_1;
import static net.runelite.api.ItemID.RING_OF_WEALTH_2;
import static net.runelite.api.ItemID.RING_OF_WEALTH_3;
import static net.runelite.api.ItemID.RING_OF_WEALTH_4;
import static net.runelite.api.ItemID.RING_OF_WEALTH_5;
import static net.runelite.api.ItemID.SKILLS_NECKLACE1;
import static net.runelite.api.ItemID.SKILLS_NECKLACE2;
import static net.runelite.api.ItemID.SKILLS_NECKLACE3;
import static net.runelite.api.ItemID.SKILLS_NECKLACE4;
import static net.runelite.api.ItemID.SKILLS_NECKLACE5;
import static net.runelite.api.ItemID.SKILLS_NECKLACE6;
import static net.runelite.api.ItemID.SLAYER_RING_1;
import static net.runelite.api.ItemID.SLAYER_RING_2;
import static net.runelite.api.ItemID.SLAYER_RING_3;
import static net.runelite.api.ItemID.SLAYER_RING_4;
import static net.runelite.api.ItemID.SLAYER_RING_5;
import static net.runelite.api.ItemID.SLAYER_RING_6;
import static net.runelite.api.ItemID.SLAYER_RING_7;
import static net.runelite.api.ItemID.SLAYER_RING_8;
import static net.runelite.api.ItemID.TELEPORT_CRYSTAL_1;
import static net.runelite.api.ItemID.TELEPORT_CRYSTAL_2;
import static net.runelite.api.ItemID.TELEPORT_CRYSTAL_3;
import static net.runelite.api.ItemID.TELEPORT_CRYSTAL_4;
import static net.runelite.api.ItemID.TELEPORT_CRYSTAL_5;
import static net.runelite.api.ItemID.WATERING_CAN;
import static net.runelite.api.ItemID.WATERING_CAN1;
import static net.runelite.api.ItemID.WATERING_CAN2;
import static net.runelite.api.ItemID.WATERING_CAN3;
import static net.runelite.api.ItemID.WATERING_CAN4;
import static net.runelite.api.ItemID.WATERING_CAN5;
import static net.runelite.api.ItemID.WATERING_CAN6;
import static net.runelite.api.ItemID.WATERING_CAN7;
import static net.runelite.api.ItemID.WATERING_CAN8;
import static net.runelite.api.ItemID.WATERSKIN0;
import static net.runelite.api.ItemID.WATERSKIN1;
import static net.runelite.api.ItemID.WATERSKIN2;
import static net.runelite.api.ItemID.WATERSKIN3;
import static net.runelite.api.ItemID.WATERSKIN4;
import static net.runelite.client.plugins.itemcharges.ItemChargeType.ABYSSAL_BRACELET;
import static net.runelite.client.plugins.itemcharges.ItemChargeType.BELLOWS;
import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY;

View File

@@ -24,9 +24,9 @@
*/
package net.runelite.client.plugins.itemstats;
import net.runelite.api.Client;
import net.runelite.client.plugins.itemstats.delta.DeltaCalculator;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.api.Client;
/**
* A stat boost using the current boosted (or drained) stat.

View File

@@ -24,8 +24,8 @@
*/
package net.runelite.client.plugins.itemstats;
import net.runelite.client.plugins.itemstats.delta.DeltaCalculator;
import net.runelite.api.Client;
import net.runelite.client.plugins.itemstats.delta.DeltaCalculator;
public class Food extends FoodBase
{

View File

@@ -30,15 +30,424 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import static net.runelite.api.ItemID.*;
import static net.runelite.client.plugins.itemstats.Builders.*;
import static net.runelite.api.ItemID.ADMIRAL_PIE;
import static net.runelite.api.ItemID.AGILITY_POTION1;
import static net.runelite.api.ItemID.AGILITY_POTION2;
import static net.runelite.api.ItemID.AGILITY_POTION3;
import static net.runelite.api.ItemID.AGILITY_POTION4;
import static net.runelite.api.ItemID.ANCHOVIES;
import static net.runelite.api.ItemID.ANCHOVY_PIZZA;
import static net.runelite.api.ItemID.ANGLERFISH;
import static net.runelite.api.ItemID.APPLE_PIE;
import static net.runelite.api.ItemID.ATTACK_POTION1;
import static net.runelite.api.ItemID.ATTACK_POTION2;
import static net.runelite.api.ItemID.ATTACK_POTION3;
import static net.runelite.api.ItemID.ATTACK_POTION4;
import static net.runelite.api.ItemID.AUTUMN_SQIRKJUICE;
import static net.runelite.api.ItemID.BAGUETTE;
import static net.runelite.api.ItemID.BAKED_POTATO;
import static net.runelite.api.ItemID.BANANA;
import static net.runelite.api.ItemID.BANDAGES;
import static net.runelite.api.ItemID.BASS;
import static net.runelite.api.ItemID.BASTION_POTION1;
import static net.runelite.api.ItemID.BASTION_POTION2;
import static net.runelite.api.ItemID.BASTION_POTION3;
import static net.runelite.api.ItemID.BASTION_POTION4;
import static net.runelite.api.ItemID.BATTLEMAGE_POTION1;
import static net.runelite.api.ItemID.BATTLEMAGE_POTION2;
import static net.runelite.api.ItemID.BATTLEMAGE_POTION3;
import static net.runelite.api.ItemID.BATTLEMAGE_POTION4;
import static net.runelite.api.ItemID.BAT_SHISH;
import static net.runelite.api.ItemID.BOTANICAL_PIE;
import static net.runelite.api.ItemID.BOTTLE_OF_WINE;
import static net.runelite.api.ItemID.BRAWK_FISH_3;
import static net.runelite.api.ItemID.BREAD;
import static net.runelite.api.ItemID.CABBAGE;
import static net.runelite.api.ItemID.CABBAGE_1967;
import static net.runelite.api.ItemID.CAKE;
import static net.runelite.api.ItemID.CAVE_EEL;
import static net.runelite.api.ItemID.CAVIAR;
import static net.runelite.api.ItemID.CHEESE;
import static net.runelite.api.ItemID.CHEESETOM_BATTA;
import static net.runelite.api.ItemID.CHILLI_CON_CARNE;
import static net.runelite.api.ItemID.CHILLI_POTATO;
import static net.runelite.api.ItemID.CHOCCHIP_CRUNCHIES;
import static net.runelite.api.ItemID.CHOCICE;
import static net.runelite.api.ItemID.CHOCOLATEY_MILK;
import static net.runelite.api.ItemID.CHOCOLATE_BAR;
import static net.runelite.api.ItemID.CHOCOLATE_BOMB;
import static net.runelite.api.ItemID.CHOCOLATE_CAKE;
import static net.runelite.api.ItemID.CHOCOLATE_SLICE;
import static net.runelite.api.ItemID.CHOC_SATURDAY;
import static net.runelite.api.ItemID.CHOPPED_ONION;
import static net.runelite.api.ItemID.CHOPPED_TOMATO;
import static net.runelite.api.ItemID.CHOPPED_TUNA;
import static net.runelite.api.ItemID.COATED_FROGS_LEGS;
import static net.runelite.api.ItemID.COD;
import static net.runelite.api.ItemID.COMBAT_POTION1;
import static net.runelite.api.ItemID.COMBAT_POTION2;
import static net.runelite.api.ItemID.COMBAT_POTION3;
import static net.runelite.api.ItemID.COMBAT_POTION4;
import static net.runelite.api.ItemID.COOKED_CHICKEN;
import static net.runelite.api.ItemID.COOKED_CHOMPY;
import static net.runelite.api.ItemID.COOKED_CRAB_MEAT;
import static net.runelite.api.ItemID.COOKED_FISHCAKE;
import static net.runelite.api.ItemID.COOKED_JUBBLY;
import static net.runelite.api.ItemID.COOKED_KARAMBWAN;
import static net.runelite.api.ItemID.COOKED_MEAT;
import static net.runelite.api.ItemID.COOKED_RABBIT;
import static net.runelite.api.ItemID.COOKED_SLIMY_EEL;
import static net.runelite.api.ItemID.COOKED_SWEETCORN;
import static net.runelite.api.ItemID.CURRY;
import static net.runelite.api.ItemID.DARK_CRAB;
import static net.runelite.api.ItemID.DEFENCE_POTION1;
import static net.runelite.api.ItemID.DEFENCE_POTION2;
import static net.runelite.api.ItemID.DEFENCE_POTION3;
import static net.runelite.api.ItemID.DEFENCE_POTION4;
import static net.runelite.api.ItemID.DRUNK_DRAGON;
import static net.runelite.api.ItemID.DWELLBERRIES;
import static net.runelite.api.ItemID.EASTER_EGG;
import static net.runelite.api.ItemID.EDIBLE_SEAWEED;
import static net.runelite.api.ItemID.EEL_SUSHI;
import static net.runelite.api.ItemID.EGG_AND_TOMATO;
import static net.runelite.api.ItemID.EGG_POTATO;
import static net.runelite.api.ItemID.ELDER_1;
import static net.runelite.api.ItemID.ELDER_1_20921;
import static net.runelite.api.ItemID.ELDER_2;
import static net.runelite.api.ItemID.ELDER_2_20922;
import static net.runelite.api.ItemID.ELDER_3;
import static net.runelite.api.ItemID.ELDER_3_20923;
import static net.runelite.api.ItemID.ELDER_4;
import static net.runelite.api.ItemID.ELDER_4_20924;
import static net.runelite.api.ItemID.ELDER_POTION_1;
import static net.runelite.api.ItemID.ELDER_POTION_2;
import static net.runelite.api.ItemID.ELDER_POTION_3;
import static net.runelite.api.ItemID.ELDER_POTION_4;
import static net.runelite.api.ItemID.ENERGY_POTION1;
import static net.runelite.api.ItemID.ENERGY_POTION2;
import static net.runelite.api.ItemID.ENERGY_POTION3;
import static net.runelite.api.ItemID.ENERGY_POTION4;
import static net.runelite.api.ItemID.FAT_SNAIL_MEAT;
import static net.runelite.api.ItemID.FIELD_RATION;
import static net.runelite.api.ItemID.FILLETS;
import static net.runelite.api.ItemID.FINGERS;
import static net.runelite.api.ItemID.FISHING_POTION1;
import static net.runelite.api.ItemID.FISHING_POTION2;
import static net.runelite.api.ItemID.FISHING_POTION3;
import static net.runelite.api.ItemID.FISHING_POTION4;
import static net.runelite.api.ItemID.FISH_PIE;
import static net.runelite.api.ItemID.FRIED_MUSHROOMS;
import static net.runelite.api.ItemID.FRIED_ONIONS;
import static net.runelite.api.ItemID.FROGBURGER;
import static net.runelite.api.ItemID.FROGSPAWN_GUMBO;
import static net.runelite.api.ItemID.FROG_SPAWN;
import static net.runelite.api.ItemID.FRUIT_BATTA;
import static net.runelite.api.ItemID.FRUIT_BLAST;
import static net.runelite.api.ItemID.GARDEN_PIE;
import static net.runelite.api.ItemID.GIANT_CARP;
import static net.runelite.api.ItemID.GIRAL_BAT_2;
import static net.runelite.api.ItemID.GOUT_TUBER;
import static net.runelite.api.ItemID.GREEN_GLOOP_SOUP;
import static net.runelite.api.ItemID.GRUBS__LA_MODE;
import static net.runelite.api.ItemID.GUANIC_BAT_0;
import static net.runelite.api.ItemID.GUTHIX_REST1;
import static net.runelite.api.ItemID.GUTHIX_REST2;
import static net.runelite.api.ItemID.GUTHIX_REST3;
import static net.runelite.api.ItemID.GUTHIX_REST4;
import static net.runelite.api.ItemID.HALF_AN_ADMIRAL_PIE;
import static net.runelite.api.ItemID.HALF_AN_APPLE_PIE;
import static net.runelite.api.ItemID.HALF_A_BOTANICAL_PIE;
import static net.runelite.api.ItemID.HALF_A_FISH_PIE;
import static net.runelite.api.ItemID.HALF_A_GARDEN_PIE;
import static net.runelite.api.ItemID.HALF_A_MEAT_PIE;
import static net.runelite.api.ItemID.HALF_A_MUSHROOM_PIE;
import static net.runelite.api.ItemID.HALF_A_REDBERRY_PIE;
import static net.runelite.api.ItemID.HALF_A_SUMMER_PIE;
import static net.runelite.api.ItemID.HALF_A_WILD_PIE;
import static net.runelite.api.ItemID.HERRING;
import static net.runelite.api.ItemID.HUNTER_POTION1;
import static net.runelite.api.ItemID.HUNTER_POTION2;
import static net.runelite.api.ItemID.HUNTER_POTION3;
import static net.runelite.api.ItemID.HUNTER_POTION4;
import static net.runelite.api.ItemID.IMBUED_HEART;
import static net.runelite.api.ItemID.JANGERBERRIES;
import static net.runelite.api.ItemID.JUG_OF_WINE;
import static net.runelite.api.ItemID.KODAI_1;
import static net.runelite.api.ItemID.KODAI_1_20945;
import static net.runelite.api.ItemID.KODAI_2;
import static net.runelite.api.ItemID.KODAI_2_20946;
import static net.runelite.api.ItemID.KODAI_3;
import static net.runelite.api.ItemID.KODAI_3_20947;
import static net.runelite.api.ItemID.KODAI_4;
import static net.runelite.api.ItemID.KODAI_4_20948;
import static net.runelite.api.ItemID.KODAI_POTION_1;
import static net.runelite.api.ItemID.KODAI_POTION_2;
import static net.runelite.api.ItemID.KODAI_POTION_3;
import static net.runelite.api.ItemID.KODAI_POTION_4;
import static net.runelite.api.ItemID.KRYKET_BAT_4;
import static net.runelite.api.ItemID.KYREN_FISH_6;
import static net.runelite.api.ItemID.LAVA_EEL;
import static net.runelite.api.ItemID.LECKISH_FISH_2;
import static net.runelite.api.ItemID.LEMON;
import static net.runelite.api.ItemID.LEMON_CHUNKS;
import static net.runelite.api.ItemID.LEMON_SLICES;
import static net.runelite.api.ItemID.LIME;
import static net.runelite.api.ItemID.LIME_CHUNKS;
import static net.runelite.api.ItemID.LIME_SLICES;
import static net.runelite.api.ItemID.LOACH;
import static net.runelite.api.ItemID.LOBSTER;
import static net.runelite.api.ItemID.MACKEREL;
import static net.runelite.api.ItemID.MAGIC_ESSENCE1;
import static net.runelite.api.ItemID.MAGIC_ESSENCE2;
import static net.runelite.api.ItemID.MAGIC_ESSENCE3;
import static net.runelite.api.ItemID.MAGIC_ESSENCE4;
import static net.runelite.api.ItemID.MAGIC_POTION1;
import static net.runelite.api.ItemID.MAGIC_POTION2;
import static net.runelite.api.ItemID.MAGIC_POTION3;
import static net.runelite.api.ItemID.MAGIC_POTION4;
import static net.runelite.api.ItemID.MANTA_RAY;
import static net.runelite.api.ItemID.MEAT_PIE;
import static net.runelite.api.ItemID.MEAT_PIZZA;
import static net.runelite.api.ItemID.MINT_CAKE;
import static net.runelite.api.ItemID.MONKFISH;
import static net.runelite.api.ItemID.MOONLIGHT_MEAD;
import static net.runelite.api.ItemID.MURNG_BAT_5;
import static net.runelite.api.ItemID.MUSHROOMS;
import static net.runelite.api.ItemID.MUSHROOM_PIE;
import static net.runelite.api.ItemID.MUSHROOM_POTATO;
import static net.runelite.api.ItemID.MUSHROOM__ONION;
import static net.runelite.api.ItemID.MYCIL_FISH_4;
import static net.runelite.api.ItemID.ONION;
import static net.runelite.api.ItemID.ORANGE;
import static net.runelite.api.ItemID.ORANGE_CHUNKS;
import static net.runelite.api.ItemID.ORANGE_SLICES;
import static net.runelite.api.ItemID.OVERLOAD_1;
import static net.runelite.api.ItemID.OVERLOAD_1_20985;
import static net.runelite.api.ItemID.OVERLOAD_1_20989;
import static net.runelite.api.ItemID.OVERLOAD_1_20993;
import static net.runelite.api.ItemID.OVERLOAD_2;
import static net.runelite.api.ItemID.OVERLOAD_2_20986;
import static net.runelite.api.ItemID.OVERLOAD_2_20990;
import static net.runelite.api.ItemID.OVERLOAD_2_20994;
import static net.runelite.api.ItemID.OVERLOAD_3;
import static net.runelite.api.ItemID.OVERLOAD_3_20987;
import static net.runelite.api.ItemID.OVERLOAD_3_20991;
import static net.runelite.api.ItemID.OVERLOAD_3_20995;
import static net.runelite.api.ItemID.OVERLOAD_4;
import static net.runelite.api.ItemID.OVERLOAD_4_20988;
import static net.runelite.api.ItemID.OVERLOAD_4_20992;
import static net.runelite.api.ItemID.OVERLOAD_4_20996;
import static net.runelite.api.ItemID.PAPAYA_FRUIT;
import static net.runelite.api.ItemID.PEACH;
import static net.runelite.api.ItemID.PHLUXIA_BAT_3;
import static net.runelite.api.ItemID.PIKE;
import static net.runelite.api.ItemID.PINEAPPLE_CHUNKS;
import static net.runelite.api.ItemID.PINEAPPLE_PIZZA;
import static net.runelite.api.ItemID.PINEAPPLE_PUNCH;
import static net.runelite.api.ItemID.PINEAPPLE_RING;
import static net.runelite.api.ItemID.PLAIN_PIZZA;
import static net.runelite.api.ItemID.POISON_KARAMBWAN;
import static net.runelite.api.ItemID.POTATO;
import static net.runelite.api.ItemID.POTATO_WITH_BUTTER;
import static net.runelite.api.ItemID.POTATO_WITH_CHEESE;
import static net.runelite.api.ItemID.POT_OF_CREAM;
import static net.runelite.api.ItemID.PRAEL_BAT_1;
import static net.runelite.api.ItemID.PRAYER_POTION1;
import static net.runelite.api.ItemID.PRAYER_POTION2;
import static net.runelite.api.ItemID.PRAYER_POTION3;
import static net.runelite.api.ItemID.PRAYER_POTION4;
import static net.runelite.api.ItemID.PREMADE_CHOC_BOMB;
import static net.runelite.api.ItemID.PREMADE_CHOC_SDY;
import static net.runelite.api.ItemID.PREMADE_CH_CRUNCH;
import static net.runelite.api.ItemID.PREMADE_CT_BATTA;
import static net.runelite.api.ItemID.PREMADE_DR_DRAGON;
import static net.runelite.api.ItemID.PREMADE_FRT_BATTA;
import static net.runelite.api.ItemID.PREMADE_FR_BLAST;
import static net.runelite.api.ItemID.PREMADE_P_PUNCH;
import static net.runelite.api.ItemID.PREMADE_SGG;
import static net.runelite.api.ItemID.PREMADE_SY_CRUNCH;
import static net.runelite.api.ItemID.PREMADE_TD_BATTA;
import static net.runelite.api.ItemID.PREMADE_TD_CRUNCH;
import static net.runelite.api.ItemID.PREMADE_TTL;
import static net.runelite.api.ItemID.PREMADE_VEG_BALL;
import static net.runelite.api.ItemID.PREMADE_VEG_BATTA;
import static net.runelite.api.ItemID.PREMADE_WIZ_BLZD;
import static net.runelite.api.ItemID.PREMADE_WM_BATTA;
import static net.runelite.api.ItemID.PREMADE_WM_CRUN;
import static net.runelite.api.ItemID.PREMADE_WORM_HOLE;
import static net.runelite.api.ItemID.PSYKK_BAT_6;
import static net.runelite.api.ItemID.PUMPKIN;
import static net.runelite.api.ItemID.PURPLE_SWEETS_10476;
import static net.runelite.api.ItemID.PYSK_FISH_0;
import static net.runelite.api.ItemID.RAINBOW_FISH;
import static net.runelite.api.ItemID.RANGING_POTION1;
import static net.runelite.api.ItemID.RANGING_POTION2;
import static net.runelite.api.ItemID.RANGING_POTION3;
import static net.runelite.api.ItemID.RANGING_POTION4;
import static net.runelite.api.ItemID.REDBERRY_PIE;
import static net.runelite.api.ItemID.RESTORE_POTION1;
import static net.runelite.api.ItemID.RESTORE_POTION2;
import static net.runelite.api.ItemID.RESTORE_POTION3;
import static net.runelite.api.ItemID.RESTORE_POTION4;
import static net.runelite.api.ItemID.REVITALISATION_1_20957;
import static net.runelite.api.ItemID.REVITALISATION_2_20958;
import static net.runelite.api.ItemID.REVITALISATION_3_20959;
import static net.runelite.api.ItemID.REVITALISATION_4_20960;
import static net.runelite.api.ItemID.ROAST_BEAST_MEAT;
import static net.runelite.api.ItemID.ROAST_BIRD_MEAT;
import static net.runelite.api.ItemID.ROAST_FROG;
import static net.runelite.api.ItemID.ROAST_RABBIT;
import static net.runelite.api.ItemID.ROE;
import static net.runelite.api.ItemID.ROLL;
import static net.runelite.api.ItemID.ROQED_FISH_5;
import static net.runelite.api.ItemID.SALMON;
import static net.runelite.api.ItemID.SANFEW_SERUM1;
import static net.runelite.api.ItemID.SANFEW_SERUM2;
import static net.runelite.api.ItemID.SANFEW_SERUM3;
import static net.runelite.api.ItemID.SANFEW_SERUM4;
import static net.runelite.api.ItemID.SARADOMIN_BREW1;
import static net.runelite.api.ItemID.SARADOMIN_BREW2;
import static net.runelite.api.ItemID.SARADOMIN_BREW3;
import static net.runelite.api.ItemID.SARADOMIN_BREW4;
import static net.runelite.api.ItemID.SARDINE;
import static net.runelite.api.ItemID.SEA_TURTLE;
import static net.runelite.api.ItemID.SHARK;
import static net.runelite.api.ItemID.SHORT_GREEN_GUY;
import static net.runelite.api.ItemID.SHRIMPS;
import static net.runelite.api.ItemID.SLICED_BANANA;
import static net.runelite.api.ItemID.SLICE_OF_CAKE;
import static net.runelite.api.ItemID.SPICY_CRUNCHIES;
import static net.runelite.api.ItemID.SPICY_SAUCE;
import static net.runelite.api.ItemID.SPICY_STEW;
import static net.runelite.api.ItemID.SPINACH_ROLL;
import static net.runelite.api.ItemID.SPRING_SQIRKJUICE;
import static net.runelite.api.ItemID.SQUARE_SANDWICH;
import static net.runelite.api.ItemID.STAMINA_POTION1;
import static net.runelite.api.ItemID.STAMINA_POTION2;
import static net.runelite.api.ItemID.STAMINA_POTION3;
import static net.runelite.api.ItemID.STAMINA_POTION4;
import static net.runelite.api.ItemID.STEW;
import static net.runelite.api.ItemID.STRANGE_FRUIT;
import static net.runelite.api.ItemID.STRAWBERRY;
import static net.runelite.api.ItemID.STRENGTH_POTION1;
import static net.runelite.api.ItemID.STRENGTH_POTION2;
import static net.runelite.api.ItemID.STRENGTH_POTION3;
import static net.runelite.api.ItemID.STRENGTH_POTION4;
import static net.runelite.api.ItemID.STUFFED_SNAKE;
import static net.runelite.api.ItemID.SUMMER_PIE;
import static net.runelite.api.ItemID.SUMMER_SQIRKJUICE;
import static net.runelite.api.ItemID.SUPER_ATTACK1;
import static net.runelite.api.ItemID.SUPER_ATTACK2;
import static net.runelite.api.ItemID.SUPER_ATTACK3;
import static net.runelite.api.ItemID.SUPER_ATTACK4;
import static net.runelite.api.ItemID.SUPER_COMBAT_POTION1;
import static net.runelite.api.ItemID.SUPER_COMBAT_POTION2;
import static net.runelite.api.ItemID.SUPER_COMBAT_POTION3;
import static net.runelite.api.ItemID.SUPER_COMBAT_POTION4;
import static net.runelite.api.ItemID.SUPER_DEFENCE1;
import static net.runelite.api.ItemID.SUPER_DEFENCE2;
import static net.runelite.api.ItemID.SUPER_DEFENCE3;
import static net.runelite.api.ItemID.SUPER_DEFENCE4;
import static net.runelite.api.ItemID.SUPER_ENERGY1;
import static net.runelite.api.ItemID.SUPER_ENERGY2;
import static net.runelite.api.ItemID.SUPER_ENERGY3;
import static net.runelite.api.ItemID.SUPER_ENERGY4;
import static net.runelite.api.ItemID.SUPER_MAGIC_POTION_1;
import static net.runelite.api.ItemID.SUPER_MAGIC_POTION_2;
import static net.runelite.api.ItemID.SUPER_MAGIC_POTION_3;
import static net.runelite.api.ItemID.SUPER_MAGIC_POTION_4;
import static net.runelite.api.ItemID.SUPER_RANGING_1;
import static net.runelite.api.ItemID.SUPER_RANGING_2;
import static net.runelite.api.ItemID.SUPER_RANGING_3;
import static net.runelite.api.ItemID.SUPER_RANGING_4;
import static net.runelite.api.ItemID.SUPER_RESTORE1;
import static net.runelite.api.ItemID.SUPER_RESTORE2;
import static net.runelite.api.ItemID.SUPER_RESTORE3;
import static net.runelite.api.ItemID.SUPER_RESTORE4;
import static net.runelite.api.ItemID.SUPER_STRENGTH1;
import static net.runelite.api.ItemID.SUPER_STRENGTH2;
import static net.runelite.api.ItemID.SUPER_STRENGTH3;
import static net.runelite.api.ItemID.SUPER_STRENGTH4;
import static net.runelite.api.ItemID.SUPHI_FISH_1;
import static net.runelite.api.ItemID.SWEETCORN_7088;
import static net.runelite.api.ItemID.SWORDFISH;
import static net.runelite.api.ItemID.TANGLED_TOADS_LEGS;
import static net.runelite.api.ItemID.THIN_SNAIL_MEAT;
import static net.runelite.api.ItemID.TOAD_BATTA;
import static net.runelite.api.ItemID.TOAD_CRUNCHIES;
import static net.runelite.api.ItemID.TOMATO;
import static net.runelite.api.ItemID.TRIANGLE_SANDWICH;
import static net.runelite.api.ItemID.TROUT;
import static net.runelite.api.ItemID.TUNA;
import static net.runelite.api.ItemID.TUNA_AND_CORN;
import static net.runelite.api.ItemID.TUNA_POTATO;
import static net.runelite.api.ItemID.TWISTED_1;
import static net.runelite.api.ItemID.TWISTED_1_20933;
import static net.runelite.api.ItemID.TWISTED_2;
import static net.runelite.api.ItemID.TWISTED_2_20934;
import static net.runelite.api.ItemID.TWISTED_3;
import static net.runelite.api.ItemID.TWISTED_3_20935;
import static net.runelite.api.ItemID.TWISTED_4;
import static net.runelite.api.ItemID.TWISTED_4_20936;
import static net.runelite.api.ItemID.TWISTED_POTION_1;
import static net.runelite.api.ItemID.TWISTED_POTION_2;
import static net.runelite.api.ItemID.TWISTED_POTION_3;
import static net.runelite.api.ItemID.TWISTED_POTION_4;
import static net.runelite.api.ItemID.UGTHANKI_KEBAB;
import static net.runelite.api.ItemID.UGTHANKI_KEBAB_1885;
import static net.runelite.api.ItemID.VEGETABLE_BATTA;
import static net.runelite.api.ItemID.VEG_BALL;
import static net.runelite.api.ItemID.WATERMELON_SLICE;
import static net.runelite.api.ItemID.WHITE_TREE_FRUIT;
import static net.runelite.api.ItemID.WILD_PIE;
import static net.runelite.api.ItemID.WINTER_SQIRKJUICE;
import static net.runelite.api.ItemID.WIZARD_BLIZZARD;
import static net.runelite.api.ItemID.WORM_BATTA;
import static net.runelite.api.ItemID.WORM_CRUNCHIES;
import static net.runelite.api.ItemID.WORM_HOLE;
import static net.runelite.api.ItemID.XERICS_AID_1_20981;
import static net.runelite.api.ItemID.XERICS_AID_2_20982;
import static net.runelite.api.ItemID.XERICS_AID_3_20983;
import static net.runelite.api.ItemID.XERICS_AID_4_20984;
import static net.runelite.api.ItemID.ZAMORAK_BREW1;
import static net.runelite.api.ItemID.ZAMORAK_BREW2;
import static net.runelite.api.ItemID.ZAMORAK_BREW3;
import static net.runelite.api.ItemID.ZAMORAK_BREW4;
import static net.runelite.api.ItemID._12_ANCHOVY_PIZZA;
import static net.runelite.api.ItemID._12_MEAT_PIZZA;
import static net.runelite.api.ItemID._12_PINEAPPLE_PIZZA;
import static net.runelite.api.ItemID._12_PLAIN_PIZZA;
import static net.runelite.api.ItemID._23_CAKE;
import static net.runelite.api.ItemID._23_CHOCOLATE_CAKE;
import static net.runelite.client.plugins.itemstats.Builders.boost;
import static net.runelite.client.plugins.itemstats.Builders.combo;
import static net.runelite.client.plugins.itemstats.Builders.dec;
import static net.runelite.client.plugins.itemstats.Builders.food;
import static net.runelite.client.plugins.itemstats.Builders.heal;
import static net.runelite.client.plugins.itemstats.Builders.perc;
import static net.runelite.client.plugins.itemstats.Builders.range;
import net.runelite.client.plugins.itemstats.food.Anglerfish;
import net.runelite.client.plugins.itemstats.potions.PrayerPotion;
import net.runelite.client.plugins.itemstats.potions.SaradominBrew;
import net.runelite.client.plugins.itemstats.potions.SuperRestore;
import net.runelite.client.plugins.itemstats.special.CastleWarsBandage;
import net.runelite.client.plugins.itemstats.special.SpicyStew;
import static net.runelite.client.plugins.itemstats.stats.Stats.*;
import static net.runelite.client.plugins.itemstats.stats.Stats.AGILITY;
import static net.runelite.client.plugins.itemstats.stats.Stats.ATTACK;
import static net.runelite.client.plugins.itemstats.stats.Stats.CRAFTING;
import static net.runelite.client.plugins.itemstats.stats.Stats.DEFENCE;
import static net.runelite.client.plugins.itemstats.stats.Stats.FARMING;
import static net.runelite.client.plugins.itemstats.stats.Stats.FISHING;
import static net.runelite.client.plugins.itemstats.stats.Stats.HERBLORE;
import static net.runelite.client.plugins.itemstats.stats.Stats.HITPOINTS;
import static net.runelite.client.plugins.itemstats.stats.Stats.HUNTER;
import static net.runelite.client.plugins.itemstats.stats.Stats.MAGIC;
import static net.runelite.client.plugins.itemstats.stats.Stats.PRAYER;
import static net.runelite.client.plugins.itemstats.stats.Stats.RANGED;
import static net.runelite.client.plugins.itemstats.stats.Stats.RUN_ENERGY;
import static net.runelite.client.plugins.itemstats.stats.Stats.SLAYER;
import static net.runelite.client.plugins.itemstats.stats.Stats.STRENGTH;
import static net.runelite.client.plugins.itemstats.stats.Stats.THIEVING;
@Singleton
@Slf4j

View File

@@ -125,6 +125,7 @@ public interface ItemStatConfig extends Config
{
return new Color(0xEEEE33);
}
@ConfigItem(
keyName = "colorNoChange",
name = "No change",

View File

@@ -24,9 +24,9 @@
*/
package net.runelite.client.plugins.itemstats;
import net.runelite.api.Client;
import net.runelite.client.plugins.itemstats.delta.DeltaCalculator;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.api.Client;
/**
* A stat boost using the real stat level. Eg, non-boosted.

View File

@@ -26,8 +26,8 @@ package net.runelite.client.plugins.itemstats;
import lombok.Getter;
import lombok.Setter;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.api.Client;
import net.runelite.client.plugins.itemstats.stats.Stat;
public abstract class StatBoost extends SingleEffect
{

View File

@@ -28,14 +28,19 @@ import java.util.Comparator;
import java.util.stream.Stream;
import lombok.RequiredArgsConstructor;
import net.runelite.api.Client;
import net.runelite.client.plugins.itemstats.BoostedStatBoost;
import static net.runelite.client.plugins.itemstats.Builders.perc;
import net.runelite.client.plugins.itemstats.Effect;
import net.runelite.client.plugins.itemstats.SimpleStatBoost;
import net.runelite.client.plugins.itemstats.BoostedStatBoost;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.client.plugins.itemstats.StatChange;
import static net.runelite.client.plugins.itemstats.stats.Stats.*;
import net.runelite.client.plugins.itemstats.StatsChanges;
import net.runelite.client.plugins.itemstats.stats.Stat;
import static net.runelite.client.plugins.itemstats.stats.Stats.ATTACK;
import static net.runelite.client.plugins.itemstats.stats.Stats.DEFENCE;
import static net.runelite.client.plugins.itemstats.stats.Stats.HITPOINTS;
import static net.runelite.client.plugins.itemstats.stats.Stats.MAGIC;
import static net.runelite.client.plugins.itemstats.stats.Stats.RANGED;
import static net.runelite.client.plugins.itemstats.stats.Stats.STRENGTH;
@RequiredArgsConstructor
public class SaradominBrew implements Effect

View File

@@ -31,10 +31,30 @@ import net.runelite.api.Client;
import static net.runelite.client.plugins.itemstats.Builders.perc;
import net.runelite.client.plugins.itemstats.Effect;
import net.runelite.client.plugins.itemstats.SimpleStatBoost;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.client.plugins.itemstats.StatChange;
import static net.runelite.client.plugins.itemstats.stats.Stats.*;
import net.runelite.client.plugins.itemstats.StatsChanges;
import net.runelite.client.plugins.itemstats.stats.Stat;
import static net.runelite.client.plugins.itemstats.stats.Stats.AGILITY;
import static net.runelite.client.plugins.itemstats.stats.Stats.ATTACK;
import static net.runelite.client.plugins.itemstats.stats.Stats.CONSTRUCTION;
import static net.runelite.client.plugins.itemstats.stats.Stats.COOKING;
import static net.runelite.client.plugins.itemstats.stats.Stats.CRAFTING;
import static net.runelite.client.plugins.itemstats.stats.Stats.DEFENCE;
import static net.runelite.client.plugins.itemstats.stats.Stats.FARMING;
import static net.runelite.client.plugins.itemstats.stats.Stats.FIREMAKING;
import static net.runelite.client.plugins.itemstats.stats.Stats.FISHING;
import static net.runelite.client.plugins.itemstats.stats.Stats.FLETCHING;
import static net.runelite.client.plugins.itemstats.stats.Stats.HERBLORE;
import static net.runelite.client.plugins.itemstats.stats.Stats.HUNTER;
import static net.runelite.client.plugins.itemstats.stats.Stats.MAGIC;
import static net.runelite.client.plugins.itemstats.stats.Stats.MINING;
import static net.runelite.client.plugins.itemstats.stats.Stats.RANGED;
import static net.runelite.client.plugins.itemstats.stats.Stats.RUNECRAFT;
import static net.runelite.client.plugins.itemstats.stats.Stats.SLAYER;
import static net.runelite.client.plugins.itemstats.stats.Stats.SMITHING;
import static net.runelite.client.plugins.itemstats.stats.Stats.STRENGTH;
import static net.runelite.client.plugins.itemstats.stats.Stats.THIEVING;
import static net.runelite.client.plugins.itemstats.stats.Stats.WOODCUTTING;
@RequiredArgsConstructor
public class SuperRestore implements Effect

View File

@@ -28,7 +28,11 @@ import java.util.ArrayList;
import java.util.List;
import net.runelite.api.Client;
import net.runelite.api.Varbits;
import net.runelite.client.plugins.itemstats.*;
import net.runelite.client.plugins.itemstats.Effect;
import net.runelite.client.plugins.itemstats.Positivity;
import net.runelite.client.plugins.itemstats.RangeStatChange;
import net.runelite.client.plugins.itemstats.StatChange;
import net.runelite.client.plugins.itemstats.StatsChanges;
import net.runelite.client.plugins.itemstats.stats.Stat;
import net.runelite.client.plugins.itemstats.stats.Stats;

View File

@@ -30,6 +30,7 @@ import net.runelite.api.Skill;
/**
* Abstract stat of a player.
* This includes {@link Skill}s and other player variables, such as <code>RUN_ENERGY</code>.
*
* @see Stats
*/
public abstract class Stat

View File

@@ -25,7 +25,140 @@
package net.runelite.client.plugins.keptondeath;
import java.util.HashSet;
import static net.runelite.api.ItemID.*;
import static net.runelite.api.ItemID.ADAMANT_FIRE_ARROWS;
import static net.runelite.api.ItemID.ADAMANT_FIRE_ARROWS_2539;
import static net.runelite.api.ItemID.AIR_RUNE_PACK;
import static net.runelite.api.ItemID.AMETHYST_FIRE_ARROWS;
import static net.runelite.api.ItemID.AMETHYST_FIRE_ARROWS_21330;
import static net.runelite.api.ItemID.AMULET_OF_GLORY1;
import static net.runelite.api.ItemID.AMULET_OF_GLORY2;
import static net.runelite.api.ItemID.AMULET_OF_GLORY3;
import static net.runelite.api.ItemID.AMULET_OF_GLORY5;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T1;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T2;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T3;
import static net.runelite.api.ItemID.AMULET_OF_GLORY_T5;
import static net.runelite.api.ItemID.APPLES1;
import static net.runelite.api.ItemID.APPLES2;
import static net.runelite.api.ItemID.APPLES3;
import static net.runelite.api.ItemID.APPLES4;
import static net.runelite.api.ItemID.BANANAS1;
import static net.runelite.api.ItemID.BANANAS2;
import static net.runelite.api.ItemID.BANANAS3;
import static net.runelite.api.ItemID.BANANAS4;
import static net.runelite.api.ItemID.BASKET_PACK;
import static net.runelite.api.ItemID.BLACK_MASK_1;
import static net.runelite.api.ItemID.BLACK_MASK_2;
import static net.runelite.api.ItemID.BLACK_MASK_3;
import static net.runelite.api.ItemID.BLACK_MASK_4;
import static net.runelite.api.ItemID.BLACK_MASK_5;
import static net.runelite.api.ItemID.BLACK_MASK_6;
import static net.runelite.api.ItemID.BLACK_MASK_7;
import static net.runelite.api.ItemID.BLACK_MASK_8;
import static net.runelite.api.ItemID.BLACK_MASK_9;
import static net.runelite.api.ItemID.BLACK_SATCHEL;
import static net.runelite.api.ItemID.BRONZE_FIRE_ARROWS;
import static net.runelite.api.ItemID.BRONZE_FIRE_ARROWS_942;
import static net.runelite.api.ItemID.BURNING_AMULET1;
import static net.runelite.api.ItemID.BURNING_AMULET2;
import static net.runelite.api.ItemID.BURNING_AMULET3;
import static net.runelite.api.ItemID.BURNING_AMULET4;
import static net.runelite.api.ItemID.CAKE;
import static net.runelite.api.ItemID.CHAOS_RUNE_PACK;
import static net.runelite.api.ItemID.CHOCOLATE_CAKE;
import static net.runelite.api.ItemID.CHOCOLATE_SLICE;
import static net.runelite.api.ItemID.COMBAT_BRACELET1;
import static net.runelite.api.ItemID.COMBAT_BRACELET2;
import static net.runelite.api.ItemID.COMBAT_BRACELET3;
import static net.runelite.api.ItemID.COMBAT_BRACELET5;
import static net.runelite.api.ItemID.DRAGON_FIRE_ARROWS;
import static net.runelite.api.ItemID.DRAGON_FIRE_ARROWS_11222;
import static net.runelite.api.ItemID.EARTH_RUNE_PACK;
import static net.runelite.api.ItemID.FEATHER_PACK;
import static net.runelite.api.ItemID.FIRE_RUNE_PACK;
import static net.runelite.api.ItemID.GAMES_NECKLACE1;
import static net.runelite.api.ItemID.GAMES_NECKLACE2;
import static net.runelite.api.ItemID.GAMES_NECKLACE3;
import static net.runelite.api.ItemID.GAMES_NECKLACE4;
import static net.runelite.api.ItemID.GAMES_NECKLACE5;
import static net.runelite.api.ItemID.GAMES_NECKLACE6;
import static net.runelite.api.ItemID.GAMES_NECKLACE7;
import static net.runelite.api.ItemID.GOLD_SATCHEL;
import static net.runelite.api.ItemID.GREEN_SATCHEL;
import static net.runelite.api.ItemID.HALF_AN_ADMIRAL_PIE;
import static net.runelite.api.ItemID.HALF_AN_APPLE_PIE;
import static net.runelite.api.ItemID.HALF_A_BOTANICAL_PIE;
import static net.runelite.api.ItemID.HALF_A_FISH_PIE;
import static net.runelite.api.ItemID.HALF_A_GARDEN_PIE;
import static net.runelite.api.ItemID.HALF_A_MEAT_PIE;
import static net.runelite.api.ItemID.HALF_A_MUSHROOM_PIE;
import static net.runelite.api.ItemID.HALF_A_REDBERRY_PIE;
import static net.runelite.api.ItemID.HALF_A_SUMMER_PIE;
import static net.runelite.api.ItemID.HALF_A_WILD_PIE;
import static net.runelite.api.ItemID.IRON_FIRE_ARROWS;
import static net.runelite.api.ItemID.IRON_FIRE_ARROWS_2533;
import static net.runelite.api.ItemID.MIND_RUNE_PACK;
import static net.runelite.api.ItemID.MITHRIL_FIRE_ARROWS;
import static net.runelite.api.ItemID.MITHRIL_FIRE_ARROWS_2537;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE1;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE2;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE3;
import static net.runelite.api.ItemID.NECKLACE_OF_PASSAGE4;
import static net.runelite.api.ItemID.ORANGES1;
import static net.runelite.api.ItemID.ORANGES2;
import static net.runelite.api.ItemID.ORANGES3;
import static net.runelite.api.ItemID.ORANGES4;
import static net.runelite.api.ItemID.PLAIN_SATCHEL;
import static net.runelite.api.ItemID.PLANT_POT_PACK;
import static net.runelite.api.ItemID.RED_SATCHEL;
import static net.runelite.api.ItemID.RING_OF_DUELING1;
import static net.runelite.api.ItemID.RING_OF_DUELING2;
import static net.runelite.api.ItemID.RING_OF_DUELING3;
import static net.runelite.api.ItemID.RING_OF_DUELING4;
import static net.runelite.api.ItemID.RING_OF_DUELING5;
import static net.runelite.api.ItemID.RING_OF_DUELING6;
import static net.runelite.api.ItemID.RING_OF_DUELING7;
import static net.runelite.api.ItemID.RING_OF_WEALTH_1;
import static net.runelite.api.ItemID.RING_OF_WEALTH_2;
import static net.runelite.api.ItemID.RING_OF_WEALTH_3;
import static net.runelite.api.ItemID.RING_OF_WEALTH_4;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I1;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I2;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I3;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I4;
import static net.runelite.api.ItemID.RING_OF_WEALTH_I5;
import static net.runelite.api.ItemID.RUNE_FIRE_ARROWS;
import static net.runelite.api.ItemID.RUNE_FIRE_ARROWS_2541;
import static net.runelite.api.ItemID.RUNE_SATCHEL;
import static net.runelite.api.ItemID.SACK_PACK;
import static net.runelite.api.ItemID.SKILLS_NECKLACE1;
import static net.runelite.api.ItemID.SKILLS_NECKLACE2;
import static net.runelite.api.ItemID.SKILLS_NECKLACE3;
import static net.runelite.api.ItemID.SKILLS_NECKLACE5;
import static net.runelite.api.ItemID.SLICE_OF_CAKE;
import static net.runelite.api.ItemID.STEEL_FIRE_ARROWS;
import static net.runelite.api.ItemID.STEEL_FIRE_ARROWS_2535;
import static net.runelite.api.ItemID.STRAWBERRIES1;
import static net.runelite.api.ItemID.STRAWBERRIES2;
import static net.runelite.api.ItemID.STRAWBERRIES3;
import static net.runelite.api.ItemID.STRAWBERRIES4;
import static net.runelite.api.ItemID.TOMATOES1;
import static net.runelite.api.ItemID.TOMATOES2;
import static net.runelite.api.ItemID.TOMATOES3;
import static net.runelite.api.ItemID.TOMATOES4;
import static net.runelite.api.ItemID.TZHAAR_AIR_RUNE_PACK;
import static net.runelite.api.ItemID.TZHAAR_EARTH_RUNE_PACK;
import static net.runelite.api.ItemID.TZHAAR_FIRE_RUNE_PACK;
import static net.runelite.api.ItemID.TZHAAR_WATER_RUNE_PACK;
import static net.runelite.api.ItemID.UNFINISHED_BROAD_BOLT_PACK;
import static net.runelite.api.ItemID.WATER_RUNE_PACK;
import static net.runelite.api.ItemID._12_ANCHOVY_PIZZA;
import static net.runelite.api.ItemID._12_MEAT_PIZZA;
import static net.runelite.api.ItemID._12_PINEAPPLE_PIZZA;
import static net.runelite.api.ItemID._12_PLAIN_PIZZA;
import static net.runelite.api.ItemID._23_CAKE;
import static net.runelite.api.ItemID._23_CHOCOLATE_CAKE;
/**
* Certain items aren't tradeable via the GE but can be traded between players.
@@ -63,6 +196,7 @@ public enum ActuallyTradeableItem
private final int[] ids;
private static final HashSet<Integer> ID_SET;
static
{
ID_SET = new HashSet<>();

View File

@@ -31,7 +31,7 @@ import net.runelite.api.ItemID;
/**
* Certain Items receive a white outline by Jagex as they are always lost on death. This is sometimes incorrectly
* added to Items by Jagex as the item is actually kept in non-pvp areas of the game, such as the Rune Pouch.
*
* <p>
* The white outline will be added to these items when they are lost on death.
*/
public enum AlwaysLostItem
@@ -46,6 +46,7 @@ public enum AlwaysLostItem
private final boolean kept;
private static final ImmutableMap<Integer, AlwaysLostItem> ID_MAP;
static
{
ImmutableMap.Builder<Integer, AlwaysLostItem> map = ImmutableMap.builder();

View File

@@ -29,7 +29,7 @@ import net.runelite.api.ItemID;
/**
* Some non tradeable items are kept on death inside low level wilderness (1-20) but are turned into a broken variant.
*
* <p>
* The non-broken variant will be shown inside the interface.
*/
public enum BrokenOnDeathItem
@@ -91,6 +91,7 @@ public enum BrokenOnDeathItem
private final int itemID;
private static final HashSet<Integer> ID_SET;
static
{
ID_SET = new HashSet<>();

View File

@@ -574,6 +574,7 @@ public class KeptOnDeathPlugin extends Plugin
/**
* Creates an Item Widget for use inside the Kept on Death Interface
*
* @param qty Amount of item
* @param c Items Composition
* @return

View File

@@ -112,6 +112,7 @@ public class WidgetButton
/**
* Adds the collection of WidgetButtons to the container overriding any existing children.
*
* @param container Widget to add buttons too
* @param buttons buttons to add
*/

View File

@@ -36,8 +36,32 @@ import javax.inject.Singleton;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.coords.WorldPoint;
import static net.runelite.client.plugins.kourendlibrary.Book.*;
import static net.runelite.client.plugins.kourendlibrary.Book.BYRNES_CORONATION_SPEECH;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13514;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13515;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13516;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13517;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13518;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13519;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13520;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13521;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13522;
import static net.runelite.client.plugins.kourendlibrary.Book.DARK_MANUSCRIPT_13523;
import static net.runelite.client.plugins.kourendlibrary.Book.EATHRAM_RADA_EXTRACT;
import static net.runelite.client.plugins.kourendlibrary.Book.HOSIDIUS_LETTER;
import static net.runelite.client.plugins.kourendlibrary.Book.IDEOLOGY_OF_DARKNESS;
import static net.runelite.client.plugins.kourendlibrary.Book.KILLING_OF_A_KING;
import static net.runelite.client.plugins.kourendlibrary.Book.RADAS_CENSUS;
import static net.runelite.client.plugins.kourendlibrary.Book.RADAS_JOURNEY;
import static net.runelite.client.plugins.kourendlibrary.Book.RICKTORS_DIARY_7;
import static net.runelite.client.plugins.kourendlibrary.Book.SOUL_JOURNEY;
import static net.runelite.client.plugins.kourendlibrary.Book.TRANSPORTATION_INCANTATIONS;
import static net.runelite.client.plugins.kourendlibrary.Book.TRANSVERGENCE_THEORY;
import static net.runelite.client.plugins.kourendlibrary.Book.TREACHERY_OF_ROYALTY;
import static net.runelite.client.plugins.kourendlibrary.Book.TRISTESSAS_TRAGEDY;
import static net.runelite.client.plugins.kourendlibrary.Book.TWILL_ACCORD;
import static net.runelite.client.plugins.kourendlibrary.Book.VARLAMORE_ENVOY;
import static net.runelite.client.plugins.kourendlibrary.Book.WINTERTODT_PARABLE;
/**
* Library represents a instance of the Kourend/Arceuus House library.

View File

@@ -27,7 +27,6 @@ package net.runelite.client.plugins.kourendlibrary;
import java.util.HashMap;
import java.util.Map;
import lombok.Getter;
import net.runelite.api.NpcID;
enum LibraryCustomer

View File

@@ -28,5 +28,5 @@ enum SolvedState
{
NO_DATA,
INCOMPLETE,
COMPLETE;
COMPLETE
}

View File

@@ -24,7 +24,6 @@
*/
package net.runelite.client.plugins.lizardmenshaman;
import net.runelite.client.config.Config;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;

View File

@@ -26,6 +26,8 @@ package net.runelite.client.plugins.lizardmenshaman;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
import lombok.AccessLevel;
import lombok.Getter;
@@ -38,9 +40,6 @@ import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import java.util.HashMap;
import java.util.Map;
import net.runelite.client.plugins.PluginType;
import net.runelite.client.ui.overlay.OverlayManager;

Some files were not shown because too many files have changed in this diff Show More