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.Binder;
import com.google.inject.Injector; import com.google.inject.Injector;
import com.google.inject.Module; import com.google.inject.Module;
import java.io.File; import java.io.File;
public abstract class Plugin implements Module public abstract class Plugin implements Module

View File

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

View File

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

View File

@@ -89,7 +89,7 @@ public class PluginWatcher extends Thread
scan(); scan();
} }
for (;;) for (; ; )
{ {
try try
{ {

View File

@@ -21,7 +21,8 @@
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/package net.runelite.client.plugins.achievementdiary; */
package net.runelite.client.plugins.achievementdiary;
public interface Requirement 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.Favour;
import net.runelite.api.Quest; import net.runelite.api.Quest;
import net.runelite.api.Skill; 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.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 public class KourendDiaryRequirement extends GenericDiaryRequirement
{ {

View File

@@ -25,6 +25,7 @@
package net.runelite.client.plugins.agility; package net.runelite.client.plugins.agility;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.awt.Color;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@@ -37,6 +38,8 @@ import net.runelite.api.Client;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET; 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.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import static net.runelite.api.Skill.AGILITY; 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.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.api.MenuEntry;
import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ColorUtil;
import net.runelite.api.MenuAction;
import java.awt.Color;
@PluginDescriptor( @PluginDescriptor(
name = "Agility", name = "Agility",
@@ -447,7 +447,8 @@ public class AgilityPlugin extends Plugin
for (Obstacle nearbyObstacle : getObstacles().values()) for (Obstacle nearbyObstacle : getObstacles().values())
{ {
AgilityShortcut shortcut = nearbyObstacle.getShortcut(); 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]; MenuEntry entry = menuEntries[menuEntries.length - 1];
int level = shortcut.getLevel(); int level = shortcut.getLevel();
Color color = level <= getAgilityLevel() ? Color.GREEN : Color.RED; 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_18135;
import static net.runelite.api.NullObjectID.NULL_18136; import static net.runelite.api.NullObjectID.NULL_18136;
import static net.runelite.api.NullObjectID.NULL_3550; 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; import net.runelite.client.game.AgilityShortcut;
class Obstacles class Obstacles

View File

@@ -32,10 +32,10 @@ import net.runelite.api.coords.WorldPoint;
enum HydraPhase enum HydraPhase
{ // Sorry for the autism { // Sorry for the autism
ONE (3, AnimationID.HYDRA_1_1, AnimationID.HYDRA_1_2, ProjectileID.HYDRA_POISON, 0, SpriteID.BIG_ASS_GUTHIX_SPELL, new WorldPoint(1371, 10263, 0)), ONE(3, AnimationID.HYDRA_1_1, AnimationID.HYDRA_1_2, ProjectileID.HYDRA_POISON, 0, SpriteID.BIG_ASS_GUTHIX_SPELL, new WorldPoint(1371, 10263, 0)),
TWO (3, AnimationID.HYDRA_2_1, AnimationID.HYDRA_2_2, 0, AnimationID.HYDRA_LIGHTNING, SpriteID.BIG_SPEC_TRANSFER, new WorldPoint(1371, 10272, 0)), TWO(3, AnimationID.HYDRA_2_1, AnimationID.HYDRA_2_2, 0, AnimationID.HYDRA_LIGHTNING, SpriteID.BIG_SPEC_TRANSFER, new WorldPoint(1371, 10272, 0)),
THREE (3, AnimationID.HYDRA_3_1, AnimationID.HYDRA_3_2, 0, AnimationID.HYDRA_FIRE, SpriteID.BIG_SUPERHEAT, new WorldPoint(1362, 10272, 0)), THREE(3, AnimationID.HYDRA_3_1, AnimationID.HYDRA_3_2, 0, AnimationID.HYDRA_FIRE, SpriteID.BIG_SUPERHEAT, new WorldPoint(1362, 10272, 0)),
FOUR (1, AnimationID.HYDRA_4_1, AnimationID.HYDRA_4_2, ProjectileID.HYDRA_POISON, 0, SpriteID.BIG_ASS_GUTHIX_SPELL, null); FOUR(1, AnimationID.HYDRA_4_1, AnimationID.HYDRA_4_2, ProjectileID.HYDRA_POISON, 0, SpriteID.BIG_ASS_GUTHIX_SPELL, null);
@Getter @Getter
private final int attacksPerSwitch; private final int attacksPerSwitch;

View File

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

View File

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

View File

@@ -71,7 +71,7 @@ public class AoeWarningOverlay extends Overlay
{ {
for (WorldPoint point : plugin.getLightningTrail()) for (WorldPoint point : plugin.getLightningTrail())
{ {
drawTile(graphics, point, new Color(0,150,200), 2, 150, 50); drawTile(graphics, point, new Color(0, 150, 200), 2, 150, 50);
} }
for (WorldPoint point : plugin.getAcidTrail()) for (WorldPoint point : plugin.getAcidTrail())
{ {
@@ -84,7 +84,7 @@ public class AoeWarningOverlay extends Overlay
Instant now = Instant.now(); Instant now = Instant.now();
Map<Projectile, AoeProjectile> projectiles = plugin.getProjectiles(); Map<Projectile, AoeProjectile> projectiles = plugin.getProjectiles();
for (Iterator<AoeProjectile> it = projectiles.values().iterator(); it.hasNext();) for (Iterator<AoeProjectile> it = projectiles.values().iterator(); it.hasNext(); )
{ {
AoeProjectile aoeProjectile = it.next(); AoeProjectile aoeProjectile = it.next();
@@ -145,18 +145,22 @@ public class AoeWarningOverlay extends Overlay
return null; 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(); WorldPoint playerLocation = client.getLocalPlayer().getWorldLocation();
if (point.distanceTo(playerLocation) >= 32) { if (point.distanceTo(playerLocation) >= 32)
{
return; return;
} }
LocalPoint lp = LocalPoint.fromWorld(client, point); LocalPoint lp = LocalPoint.fromWorld(client, point);
if (lp == null) { if (lp == null)
{
return; return;
} }
Polygon poly = Perspective.getCanvasTilePoly(client, lp); Polygon poly = Perspective.getCanvasTilePoly(client, lp);
if (poly == null) { if (poly == null)
{
return; return;
} }
//OverlayUtil.renderPolygon(graphics, poly, color); //OverlayUtil.renderPolygon(graphics, poly, color);

View File

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

View File

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

View File

@@ -31,8 +31,6 @@ import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j; 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.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition; 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.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
@@ -371,10 +370,7 @@ public class BAToolsPlugin extends Plugin implements KeyListener
@Subscribe @Subscribe
public void onNpcDespawned(NpcDespawned event) public void onNpcDespawned(NpcDespawned event)
{ {
if (healers.remove(event.getNpc()) != null && healers.isEmpty()) healers.remove(event.getNpc());
{
healers.clear();
}
} }
@Subscribe @Subscribe
@@ -450,7 +446,7 @@ public class BAToolsPlugin extends Plugin implements KeyListener
{ {
remove(new String[]{"take", "light"}, target, true); remove(new String[]{"take", "light"}, target, true);
} }
else//remove "Light" option (and "Take" option if not defender). else //remove "Light" option (and "Take" option if not defender).
{ {
remove("light", target, true); remove("light", target, true);
} }
@@ -466,7 +462,8 @@ public class BAToolsPlugin extends Plugin implements KeyListener
List<String> poison = Arrays.asList("poisoned tofu", "poisoned meat", "poisoned worms"); 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)" 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 (poison.contains(item))
{//if item is a poison item {
//if item is a poison item
int calledPoison = 0; int calledPoison = 0;
switch (healer.getText())//choose which poison to hide the use/destroy option for 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 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); 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 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); remove(option, target, true);
} }
else if ((option.equals("load")) && client.getWidget(WidgetInfo.BA_COLL_ROLE_TEXT) == null)//if not collector, remove hopper options 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) if (correctEgg != null)
{ {
entries.add(correctEgg); 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; package net.runelite.client.plugins.batools;
import lombok.Getter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import lombok.Getter;
@Getter @Getter
public enum Calls public enum Calls
{ {

View File

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

View File

@@ -27,9 +27,7 @@ package net.runelite.client.plugins.batools;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.Actor;
class Healer class Healer
@@ -75,7 +73,7 @@ class Healer
private HealerCode getCode(int wave) private HealerCode getCode(int wave)
{ {
switch(wave) switch (wave)
{ {
case 1: case 1:
return HealerCode.WAVEONE; return HealerCode.WAVEONE;
@@ -97,7 +95,8 @@ class Healer
return HealerCode.WAVENINE; return HealerCode.WAVENINE;
case 10: case 10:
return HealerCode.WAVETEN; return HealerCode.WAVETEN;
default: return null; default:
return null;
} }
} }
} }

View File

@@ -30,16 +30,16 @@ import lombok.Getter;
enum HealerCode enum HealerCode
{ {
WAVEONE(new int[] {1,1}, new int[] {0,0}, new int[] {0,0}), WAVEONE(new int[]{1, 1}, new int[]{0, 0}, new int[]{0, 0}),
WAVETWO(new int[] {1,1,2}, new int[] {0,0,0}, new int[] {0,0,21}), WAVETWO(new int[]{1, 1, 2}, new int[]{0, 0, 0}, new int[]{0, 0, 21}),
WAVETHREE(new int[] {1,6,2}, new int[] {0,0,0}, new int[] {0,0,0}), WAVETHREE(new int[]{1, 6, 2}, new int[]{0, 0, 0}, new int[]{0, 0, 0}),
WAVEFOUR(new int[] {2,5,2,0}, new int[] {0,0,7,10}, new int[] {0,0,0,0}), WAVEFOUR(new int[]{2, 5, 2, 0}, new int[]{0, 0, 7, 10}, new int[]{0, 0, 0, 0}),
WAVEFIVE(new int[] {2,5,2,3,0}, new int[] {0,0,0,0,7}, new int[] {0,0,21,30,0}), WAVEFIVE(new int[]{2, 5, 2, 3, 0}, new int[]{0, 0, 0, 0, 7}, new int[]{0, 0, 21, 30, 0}),
WAVESIX(new int[] {3,5,2,2,0,0}, new int[] {0,0,0,2,9,10}, new int[] {12,18,21,0,0,0}), WAVESIX(new int[]{3, 5, 2, 2, 0, 0}, new int[]{0, 0, 0, 2, 9, 10}, new int[]{12, 18, 21, 0, 0, 0}),
WAVESEVEN(new int[] {3,7,1,1,0,0,0}, new int[] {2,0,1,1,2,4,10}, new int[] {0,21,0,0,30,45,0}), WAVESEVEN(new int[]{3, 7, 1, 1, 0, 0, 0}, new int[]{2, 0, 1, 1, 2, 4, 10}, new int[]{0, 21, 0, 0, 30, 45, 0}),
WAVEEIGHT(new int[] {1,9,1,1,0,0,0}, new int[] {1,0,1,1,2,2,10}, new int[] {0,0,0,0,33,42,0}), WAVEEIGHT(new int[]{1, 9, 1, 1, 0, 0, 0}, new int[]{1, 0, 1, 1, 2, 2, 10}, new int[]{0, 0, 0, 0, 33, 42, 0}),
WAVENINE(new int[] {2,8,1,1,0,0,0,0}, new int[] {1,0,1,1,2,1,1,10}, new int[] {0,21,0,0,0,0,0,0,0}), WAVENINE(new int[]{2, 8, 1, 1, 0, 0, 0, 0}, new int[]{1, 0, 1, 1, 2, 1, 1, 10}, new int[]{0, 21, 0, 0, 0, 0, 0, 0, 0}),
WAVETEN(new int[] {2,5,1,1,0,0,0}, new int[] {1,0,1,1,4,4,8}, new int[] {21,33,0,33,30,45,0}); WAVETEN(new int[]{2, 5, 1, 1, 0, 0, 0}, new int[]{1, 0, 1, 1, 4, 4, 8}, new int[]{21, 33, 0, 33, 30, 45, 0});
@Getter @Getter

View File

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

View File

@@ -24,12 +24,11 @@
*/ */
package net.runelite.client.plugins.blastmine; package net.runelite.client.plugins.blastmine;
import java.awt.Color;
import net.runelite.client.config.Config; import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigItem;
import java.awt.Color;
@ConfigGroup("blastmine") @ConfigGroup("blastmine")
public interface BlastMinePluginConfig extends Config 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 * section it will "activate" adding an additional 15 second section
* to the boost timing. If again the preserve prayer is active for that * to the boost timing. If again the preserve prayer is active for that
* entire section a second 15 second section will be added. * 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 * Preserve is only required to be on for the 4th and 5th sections of the boost timer
* to gain full effect (seconds 45-75). * to gain full effect (seconds 45-75).
* *
@@ -406,12 +406,13 @@ public class BoostsPlugin extends Plugin
/** /**
* Converts tick-based time to accurate second time * Converts tick-based time to accurate second time
*
* @param time tick-based time * @param time tick-based time
* @return second-based time * @return second-based time
*/ */
int getChangeTime(final int time) int getChangeTime(final int time)
{ {
final long diff = System.currentTimeMillis() - lastTickMillis; final long diff = System.currentTimeMillis() - lastTickMillis;
return time != -1 ? (int)((time * Constants.GAME_TICK_LENGTH - diff) / 1000d) : time; return time != -1 ? (int) ((time * Constants.GAME_TICK_LENGTH - diff) / 1000d) : time;
} }
} }

View File

@@ -77,7 +77,7 @@ enum Boss
bosses = builder.build(); 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.id = id;
this.spawnTime = Duration.of(period, unit); 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 * Draw the double hit spots on a 6 by 6 grid around the cannon
*
* @param startTile The position of the cannon * @param startTile The position of the cannon
*/ */
private void drawDoubleHitSpots(Graphics2D graphics, LocalPoint startTile, Color color) 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 * Try to identify if NPC is ghost
*
* @param npc npc * @param npc npc
* @return optional ghost * @return optional ghost
*/ */

View File

@@ -26,12 +26,12 @@ package net.runelite.client.plugins.chatboxperformance;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.widgets.WidgetType;
import net.runelite.api.events.WidgetPositioned; import net.runelite.api.events.WidgetPositioned;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetPositionMode; import net.runelite.api.widgets.WidgetPositionMode;
import net.runelite.api.widgets.WidgetSizeMode; import net.runelite.api.widgets.WidgetSizeMode;
import net.runelite.api.widgets.WidgetType;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; 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 * Small hack to prevent plugins checking for specific messages to match
*
* @param message message * @param message message
* @return message with nbsp * @return message with nbsp
*/ */

View File

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

View File

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

View File

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

View File

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

View File

@@ -749,7 +749,7 @@ public class ClueScrollPlugin extends Plugin
textComponent.render(graphics); textComponent.render(graphics);
} }
void scrollToWidget(WidgetInfo list, WidgetInfo scrollbar, Widget ... toHighlight) void scrollToWidget(WidgetInfo list, WidgetInfo scrollbar, Widget... toHighlight)
{ {
final Widget parent = client.getWidget(list); final Widget parent = client.getWidget(list);
int averageCentralY = 0; int averageCentralY = 0;

View File

@@ -267,12 +267,12 @@ public class AnagramClue extends ClueScroll implements TextClueScroll, NpcClueSc
@Override @Override
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {npc}; return new String[]{npc};
} }
@Override @Override
public int[] getObjectIds() public int[] getObjectIds()
{ {
return new int[] {objectId}; return new int[]{objectId};
} }
} }

View File

@@ -133,6 +133,6 @@ public class CipherClue extends ClueScroll implements TextClueScroll, NpcClueScr
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {npc}; return new String[]{npc};
} }
} }

View File

@@ -32,7 +32,56 @@ import lombok.Getter;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import static net.runelite.api.NullObjectID.NULL_1293; import static net.runelite.api.NullObjectID.NULL_1293;
import net.runelite.api.ObjectComposition; 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.TileObject;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
@@ -116,7 +165,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
new CrypticClue("Probably filled with wizards socks.", "Wizard", DRAWERS_350, new WorldPoint(3116, 9562, 0), "Search the drawers in the basement of the Wizard's Tower south of Draynor Village. Kill one of the Wizards for the key. Fairy ring DIS"), new CrypticClue("Probably filled with wizards socks.", "Wizard", DRAWERS_350, new WorldPoint(3116, 9562, 0), "Search the drawers in the basement of the Wizard's Tower south of Draynor Village. Kill one of the Wizards for the key. Fairy ring DIS"),
new CrypticClue("Even the seers say this clue goes right over their heads.", CRATE_26635, new WorldPoint(2707, 3488, 2), "Search the crate on the Seers Agility Course in Seers Village"), new CrypticClue("Even the seers say this clue goes right over their heads.", CRATE_26635, new WorldPoint(2707, 3488, 2), "Search the crate on the Seers Agility Course in Seers Village"),
new CrypticClue("Speak to a Wyse man.", "Wyson the gardener", new WorldPoint(3026, 3378, 0), "Talk to Wyson the gardener at Falador Park."), new CrypticClue("Speak to a Wyse man.", "Wyson the gardener", new WorldPoint(3026, 3378, 0), "Talk to Wyson the gardener at Falador Park."),
new CrypticClue("You'll need to look for a town with a central fountain. Look for a locked chest in the town's chapel.", "Monk" , CLOSED_CHEST_5108, new WorldPoint(3256, 3487, 0), "Search the chest by the stairs in the Varrock church. Kill a Monk in Ardougne Monastery to obtain the key."), new CrypticClue("You'll need to look for a town with a central fountain. Look for a locked chest in the town's chapel.", "Monk", CLOSED_CHEST_5108, new WorldPoint(3256, 3487, 0), "Search the chest by the stairs in the Varrock church. Kill a Monk in Ardougne Monastery to obtain the key."),
new CrypticClue("Talk to Ambassador Spanfipple in the White Knights Castle.", "Ambassador Spanfipple", new WorldPoint(2979, 3340, 0), "Ambassador Spanfipple can be found roaming on the first floor of the White Knights Castle."), new CrypticClue("Talk to Ambassador Spanfipple in the White Knights Castle.", "Ambassador Spanfipple", new WorldPoint(2979, 3340, 0), "Ambassador Spanfipple can be found roaming on the first floor of the White Knights Castle."),
new CrypticClue("Mine was the strangest birth under the sun. I left the crimson sack, yet life had not begun. Entered the world, and yet was seen by none.", new WorldPoint(2832, 9586, 0), "Inside Karamja Volcano, dig directly underneath the Red spiders' eggs respawn."), new CrypticClue("Mine was the strangest birth under the sun. I left the crimson sack, yet life had not begun. Entered the world, and yet was seen by none.", new WorldPoint(2832, 9586, 0), "Inside Karamja Volcano, dig directly underneath the Red spiders' eggs respawn."),
new CrypticClue("Search for a crate in Varrock Castle.", CRATE_5113, new WorldPoint(3224, 3492, 0), "Search the crate in the corner of the kitchen in Varrock Castle."), new CrypticClue("Search for a crate in Varrock Castle.", CRATE_5113, new WorldPoint(3224, 3492, 0), "Search the crate in the corner of the kitchen in Varrock Castle."),
@@ -202,7 +251,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
new CrypticClue("Search the drawers on the first floor of a building overlooking Ardougne's Market.", DRAWERS_352, new WorldPoint(2657, 3322, 1), "Climb the ladder in the house north of the market."), new CrypticClue("Search the drawers on the first floor of a building overlooking Ardougne's Market.", DRAWERS_352, new WorldPoint(2657, 3322, 1), "Climb the ladder in the house north of the market."),
new CrypticClue("'A bag belt only?', he asked his balding brothers.", "Abbot Langley", new WorldPoint(3058, 3487, 0), "Talk-to Abbot Langley in Monastery west of Edgeville"), new CrypticClue("'A bag belt only?', he asked his balding brothers.", "Abbot Langley", new WorldPoint(3058, 3487, 0), "Talk-to Abbot Langley in Monastery west of Edgeville"),
new CrypticClue("Search the drawers upstairs in Falador's shield shop.", DRAWERS, new WorldPoint(2971, 3386, 1), "Cassie's Shield Shop at the northern Falador entrance."), new CrypticClue("Search the drawers upstairs in Falador's shield shop.", DRAWERS, new WorldPoint(2971, 3386, 1), "Cassie's Shield Shop at the northern Falador entrance."),
new CrypticClue("Go to this building to be illuminated, and check the drawers while you are there.", "Market Guard", DRAWERS_350 , new WorldPoint(2512, 3641, 1), "Search the drawers in the first floor of the Lighthouse. Kill a Rellekka marketplace guard to obtain the key."), new CrypticClue("Go to this building to be illuminated, and check the drawers while you are there.", "Market Guard", DRAWERS_350, new WorldPoint(2512, 3641, 1), "Search the drawers in the first floor of the Lighthouse. Kill a Rellekka marketplace guard to obtain the key."),
new CrypticClue("Dig near some giant mushrooms, behind the Grand Tree.", new WorldPoint(2458, 3504, 0), "Dig near the red mushrooms northwest of the Grand Tree."), new CrypticClue("Dig near some giant mushrooms, behind the Grand Tree.", new WorldPoint(2458, 3504, 0), "Dig near the red mushrooms northwest of the Grand Tree."),
new CrypticClue("Pentagrams and demons, burnt bones and remains, I wonder what the blood contains.", new WorldPoint(3297, 3890, 0), "Dig under the blood rune spawn next the the Demonic Ruins."), new CrypticClue("Pentagrams and demons, burnt bones and remains, I wonder what the blood contains.", new WorldPoint(3297, 3890, 0), "Dig under the blood rune spawn next the the Demonic Ruins."),
new CrypticClue("Search the drawers above Varrock's shops.", DRAWERS_7194, new WorldPoint(3206, 3419, 1), "Located upstairs in Thessalia's Fine Clothes shop in Varrock."), new CrypticClue("Search the drawers above Varrock's shops.", DRAWERS_7194, new WorldPoint(3206, 3419, 1), "Located upstairs in Thessalia's Fine Clothes shop in Varrock."),
@@ -452,12 +501,12 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
@Override @Override
public int[] getObjectIds() public int[] getObjectIds()
{ {
return new int[] {objectId}; return new int[]{objectId};
} }
@Override @Override
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {npc}; return new String[]{npc};
} }
} }

View File

@@ -31,11 +31,395 @@ import java.util.Set;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.EquipmentInventorySlot; 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.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.Item;
import net.runelite.api.ItemID; 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.LocalPoint;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR; 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.AllRequirementsCollection;
import net.runelite.client.plugins.cluescrolls.clues.emote.AnyRequirementCollection; import net.runelite.client.plugins.cluescrolls.clues.emote.AnyRequirementCollection;
import net.runelite.client.plugins.cluescrolls.clues.emote.Emote; 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.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.ItemRequirement;
import net.runelite.client.plugins.cluescrolls.clues.emote.RangeItemRequirement; 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.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.SingleItemRequirement;
import net.runelite.client.plugins.cluescrolls.clues.emote.SlotLimitationRequirement; import net.runelite.client.plugins.cluescrolls.clues.emote.SlotLimitationRequirement;
import net.runelite.client.ui.overlay.OverlayUtil; import net.runelite.client.ui.overlay.OverlayUtil;

View File

@@ -184,7 +184,7 @@ public class FaloTheBardClue extends ClueScroll implements TextClueScroll, NpcCl
@Override @Override
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {FALO_THE_BARD}; return new String[]{FALO_THE_BARD};
} }
public static FaloTheBardClue forText(String text) public static FaloTheBardClue forText(String text)

View File

@@ -380,7 +380,7 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
return false; return false;
} }
WorldPoint p3 = new WorldPoint((int) r.getMinX(), (int)r.getMaxY(), 0); WorldPoint p3 = new WorldPoint((int) r.getMinX(), (int) r.getMaxY(), 0);
if (!isFirstPointCloser(firstWp, secondWp, p3)) if (!isFirstPointCloser(firstWp, secondWp, p3))
{ {
@@ -406,6 +406,6 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {npc}; return new String[]{npc};
} }
} }

View File

@@ -29,7 +29,38 @@ import java.awt.Color;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.util.Set; import java.util.Set;
import lombok.Getter; 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 net.runelite.api.ObjectComposition;
import static net.runelite.api.ObjectID.CRATE_18506; import static net.runelite.api.ObjectID.CRATE_18506;
import static net.runelite.api.ObjectID.CRATE_2620; import static net.runelite.api.ObjectID.CRATE_2620;
@@ -204,6 +235,6 @@ public class MapClue extends ClueScroll implements ObjectClueScroll
public int[] getObjectIds() public int[] getObjectIds()
{ {
return new int[] {objectId}; return new int[]{objectId};
} }
} }

View File

@@ -91,7 +91,7 @@ public class MusicClue extends ClueScroll implements NpcClueScroll
@Override @Override
public String[] getNpcs() public String[] getNpcs()
{ {
return new String[] {CECILIA}; return new String[]{CECILIA};
} }
public static MusicClue forText(String text) public static MusicClue forText(String text)

View File

@@ -25,7 +25,33 @@
package net.runelite.client.plugins.cluescrolls.clues.emote; package net.runelite.client.plugins.cluescrolls.clues.emote;
import lombok.Getter; 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 @Getter
public enum Emote public enum Emote

View File

@@ -25,6 +25,11 @@
package net.runelite.client.plugins.combatlevel; package net.runelite.client.plugins.combatlevel;
import com.google.common.annotations.VisibleForTesting; 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.Client;
import net.runelite.api.Experience; import net.runelite.api.Experience;
import net.runelite.api.Skill; 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.Tooltip;
import net.runelite.client.ui.overlay.tooltip.TooltipManager; import net.runelite.client.ui.overlay.tooltip.TooltipManager;
import net.runelite.client.util.ColorUtil; 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 class CombatLevelOverlay extends Overlay
{ {
@@ -143,6 +143,7 @@ class CombatLevelOverlay extends Overlay
/** /**
* Calculate skill levels required for increasing combat level, meant * Calculate skill levels required for increasing combat level, meant
* for all combat skills besides prayer, ranged, and magic. * for all combat skills besides prayer, ranged, and magic.
*
* @param start initial value * @param start initial value
* @param end ending value (combat level + 1) * @param end ending value (combat level + 1)
* @param multiple how much adding one skill level will change combat * @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 * Note: Prayer is a special case, only leveling up upon even level numbers. This is accounted
* for in this function. * for in this function.
* </p> * </p>
*
* @param start current combat level * @param start current combat level
* @param end ending value (combat level + 1) * @param end ending value (combat level + 1)
* @param prayerLevel the player's current prayer level * @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 * Calculate skill levels required for increasing combat level, meant
* ONLY for Ranged and Magic skills. * ONLY for Ranged and Magic skills.
*
* @param start either the current ranged or magic level * @param start either the current ranged or magic level
* @param end ending value (combat level + 1) * @param end ending value (combat level + 1)
* @param dhp defence, hitpoints, and prayer; this is the initial calculated "base" value * @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.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager; import net.runelite.client.plugins.PluginManager;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.pluginsorter.PluginSorterPlugin;
import net.runelite.client.ui.ColorScheme; import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout; import net.runelite.client.ui.DynamicGridLayout;
import net.runelite.client.ui.PluginPanel; import net.runelite.client.ui.PluginPanel;
@@ -404,7 +403,9 @@ public class ConfigPanel extends PluginPanel
topPanel.add(topPanelBackButton, BorderLayout.WEST); topPanel.add(topPanelBackButton, BorderLayout.WEST);
if (!listItem.getName().equals("RuneLitePlus")) if (!listItem.getName().equals("RuneLitePlus"))
{
topPanel.add(listItem.createToggleButton(), BorderLayout.EAST); topPanel.add(listItem.createToggleButton(), BorderLayout.EAST);
}
String name = listItem.getName(); String name = listItem.getName();
JLabel title = new JLabel(name); JLabel title = new JLabel(name);

View File

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

View File

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

View File

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

View File

@@ -194,7 +194,7 @@ public class DemonicGorillaPlugin extends Plugin
{ {
gorilla.setInitiatedCombat(true); gorilla.setInitiatedCombat(true);
Player target = (Player)gorilla.getNpc().getInteracting(); Player target = (Player) gorilla.getNpc().getInteracting();
DemonicGorilla.AttackStyle protectedStyle = null; DemonicGorilla.AttackStyle protectedStyle = null;
if (target != null) if (target != null)
@@ -285,7 +285,7 @@ public class DemonicGorillaPlugin extends Plugin
int tickCounter = client.getTickCount(); int tickCounter = client.getTickCount();
for (DemonicGorilla gorilla : gorillas.values()) for (DemonicGorilla gorilla : gorillas.values())
{ {
Player interacting = (Player)gorilla.getNpc().getInteracting(); Player interacting = (Player) gorilla.getNpc().getInteracting();
MemorizedPlayer mp = memorizedPlayers.get(interacting); MemorizedPlayer mp = memorizedPlayers.get(interacting);
if (gorilla.getLastTickInteracting() != null && interacting == null) if (gorilla.getLastTickInteracting() != null && interacting == null)
@@ -625,7 +625,7 @@ public class DemonicGorillaPlugin extends Plugin
if (event.getActor() instanceof Player) if (event.getActor() instanceof Player)
{ {
Player player = (Player)event.getActor(); Player player = (Player) event.getActor();
MemorizedPlayer mp = memorizedPlayers.get(player); MemorizedPlayer mp = memorizedPlayers.get(player);
if (mp != null) if (mp != null)
{ {

View File

@@ -122,7 +122,7 @@ class DevToolsPanel extends PluginPanel
container.add(plugin.getLogMenuActions()); container.add(plugin.getLogMenuActions());
plugin.getLogMenuActions().addActionListener((ev) -> plugin.getLogMenuActions().addActionListener((ev) ->
{ {
if(plugin.getLogMenuActions().isActive()) if (plugin.getLogMenuActions().isActive())
{ {
client.setPrintMenuActions(false); client.setPrintMenuActions(false);
} }

View File

@@ -119,7 +119,7 @@ public class DevToolsPlugin extends Plugin
private DevToolsButton validMovement; private DevToolsButton validMovement;
private DevToolsButton lineOfSight; private DevToolsButton lineOfSight;
private DevToolsButton cameraPosition; private DevToolsButton cameraPosition;
private DevToolsButton worldMapLocation ; private DevToolsButton worldMapLocation;
private DevToolsButton tileLocation; private DevToolsButton tileLocation;
private DevToolsButton interacting; private DevToolsButton interacting;
private DevToolsButton examine; private DevToolsButton examine;

View File

@@ -96,7 +96,7 @@ public class WorldMapLocationOverlay extends Overlay
FontMetrics fm = graphics.getFontMetrics(); FontMetrics fm = graphics.getFontMetrics();
int height = fm.getHeight(); int height = fm.getHeight();
int width = fm.stringWidth(output); int width = fm.stringWidth(output);
graphics.fillRect((int)worldMapRectangle.getX(), (int)worldMapRectangle.getY() + worldMapRectangle.height - height, (int)worldMapRectangle.getX() + width, (int)worldMapRectangle.getY() + worldMapRectangle.height); graphics.fillRect((int) worldMapRectangle.getX(), (int) worldMapRectangle.getY() + worldMapRectangle.height - height, (int) worldMapRectangle.getX() + width, (int) worldMapRectangle.getY() + worldMapRectangle.height);
graphics.setColor(Color.BLACK); graphics.setColor(Color.BLACK);
graphics.drawString(output, (int) worldMapRectangle.getX(), (int) worldMapRectangle.getY() + worldMapRectangle.height); graphics.drawString(output, (int) worldMapRectangle.getX(), (int) worldMapRectangle.getY() + worldMapRectangle.height);

View File

@@ -86,68 +86,68 @@ enum DiscordGameEventType
BOSS_ZULRAH("Zulrah", DiscordAreaType.BOSSES, 9007), BOSS_ZULRAH("Zulrah", DiscordAreaType.BOSSES, 9007),
// Cities // Cities
CITY_AL_KHARID("Al Kharid" , DiscordAreaType.CITIES, 13105, 13106), CITY_AL_KHARID("Al Kharid", DiscordAreaType.CITIES, 13105, 13106),
CITY_APE_ATOLL("Ape Atoll" , DiscordAreaType.CITIES, 10795, 11051, 10974, 11050), CITY_APE_ATOLL("Ape Atoll", DiscordAreaType.CITIES, 10795, 11051, 10974, 11050),
CITY_ARCEUUS_HOUSE("Arceuus" , DiscordAreaType.CITIES, 6459, 6715, 6458, 6714), CITY_ARCEUUS_HOUSE("Arceuus", DiscordAreaType.CITIES, 6459, 6715, 6458, 6714),
CITY_ARDOUGNE("Ardougne" , DiscordAreaType.CITIES, 10548, 10547, 10292, 10291, 10036, 10035, 9780, 9779), CITY_ARDOUGNE("Ardougne", DiscordAreaType.CITIES, 10548, 10547, 10292, 10291, 10036, 10035, 9780, 9779),
CITY_BARBARIAN_VILLAGE("Barbarian Village" , DiscordAreaType.CITIES, 12341), CITY_BARBARIAN_VILLAGE("Barbarian Village", DiscordAreaType.CITIES, 12341),
CITY_BANDIT_CAMP("Bandit Camp" , DiscordAreaType.CITIES, 12591), CITY_BANDIT_CAMP("Bandit Camp", DiscordAreaType.CITIES, 12591),
CITY_BEDABIN_CAMP("Bedabin Camp" , DiscordAreaType.CITIES, 12590), CITY_BEDABIN_CAMP("Bedabin Camp", DiscordAreaType.CITIES, 12590),
CITY_BRIMHAVEN("Brimhaven" , DiscordAreaType.CITIES, 11057, 11058), CITY_BRIMHAVEN("Brimhaven", DiscordAreaType.CITIES, 11057, 11058),
CITY_BURGH_DE_ROTT("Burgh de Rott" , DiscordAreaType.CITIES, 13874, 13873, 14130, 14129), CITY_BURGH_DE_ROTT("Burgh de Rott", DiscordAreaType.CITIES, 13874, 13873, 14130, 14129),
CITY_BURTHORPE("Burthorpe" , DiscordAreaType.CITIES, 11319, 11575), CITY_BURTHORPE("Burthorpe", DiscordAreaType.CITIES, 11319, 11575),
CITY_CANIFIS("Canifis" , DiscordAreaType.CITIES, 13878), CITY_CANIFIS("Canifis", DiscordAreaType.CITIES, 13878),
CITY_CATHERBY("Catherby" , DiscordAreaType.CITIES, 11317, 11318, 11061), CITY_CATHERBY("Catherby", DiscordAreaType.CITIES, 11317, 11318, 11061),
CITY_CORSAIR_CAVE("Corsair Cove" , DiscordAreaType.CITIES, 10028, 10284), CITY_CORSAIR_CAVE("Corsair Cove", DiscordAreaType.CITIES, 10028, 10284),
CITY_DORGESH_KAAN("Dorgesh-Kaan" , DiscordAreaType.CITIES, 10835, 10834), CITY_DORGESH_KAAN("Dorgesh-Kaan", DiscordAreaType.CITIES, 10835, 10834),
CITY_DRAYNOR("Draynor" , DiscordAreaType.CITIES, 12338), CITY_DRAYNOR("Draynor", DiscordAreaType.CITIES, 12338),
CITY_EDGEVILLE("Edgeville" , DiscordAreaType.CITIES, 12342), CITY_EDGEVILLE("Edgeville", DiscordAreaType.CITIES, 12342),
CITY_ENTRANA("Entrana" , DiscordAreaType.CITIES, 11060, 11316), CITY_ENTRANA("Entrana", DiscordAreaType.CITIES, 11060, 11316),
CITY_FALADOR("Falador" , DiscordAreaType.CITIES, 11828, 11572, 11571, 11827, 12084), CITY_FALADOR("Falador", DiscordAreaType.CITIES, 11828, 11572, 11571, 11827, 12084),
CITY_GOBLIN_VILLAGE("Goblin Village" , DiscordAreaType.CITIES, 11830), CITY_GOBLIN_VILLAGE("Goblin Village", DiscordAreaType.CITIES, 11830),
CITY_GUTANOTH("Gu'Tanoth" , DiscordAreaType.CITIES, 10031), CITY_GUTANOTH("Gu'Tanoth", DiscordAreaType.CITIES, 10031),
CITY_HOSIDIUS_HOUSE("Hosidius" , DiscordAreaType.CITIES, 6713, 6712, 6455, 6711, 6710, 6965, 6966, 7222, 7223, 6967), CITY_HOSIDIUS_HOUSE("Hosidius", DiscordAreaType.CITIES, 6713, 6712, 6455, 6711, 6710, 6965, 6966, 7222, 7223, 6967),
CITY_JATISZO("Jatizso" , DiscordAreaType.CITIES, 9531), CITY_JATISZO("Jatizso", DiscordAreaType.CITIES, 9531),
CITY_JIGGIG("Jiggig" , DiscordAreaType.CITIES, 9775), CITY_JIGGIG("Jiggig", DiscordAreaType.CITIES, 9775),
CITY_KARAMJA("Karamja" , DiscordAreaType.CITIES, 11569, 11568, 11567, 11566, 11313, 11312, 11311), CITY_KARAMJA("Karamja", DiscordAreaType.CITIES, 11569, 11568, 11567, 11566, 11313, 11312, 11311),
CITY_KELDAGRIM("Keldagrim" , DiscordAreaType.CITIES, 11423, 11422, 11679, 11678), CITY_KELDAGRIM("Keldagrim", DiscordAreaType.CITIES, 11423, 11422, 11679, 11678),
CITY_LLETYA("Lletya" , DiscordAreaType.CITIES, 9265), CITY_LLETYA("Lletya", DiscordAreaType.CITIES, 9265),
CITY_LOVAKENGJ_HOUSE("Lovakengj" , DiscordAreaType.CITIES, 5692, 5948, 5691, 5947, 6203, 6202, 5690, 5946), CITY_LOVAKENGJ_HOUSE("Lovakengj", DiscordAreaType.CITIES, 5692, 5948, 5691, 5947, 6203, 6202, 5690, 5946),
CITY_LUMBRIDGE("Lumbridge" , DiscordAreaType.CITIES, 12850), CITY_LUMBRIDGE("Lumbridge", DiscordAreaType.CITIES, 12850),
CITY_LUNAR_ISLE("Lunar Isle" , DiscordAreaType.CITIES, 8253, 8252, 8509, 8508), CITY_LUNAR_ISLE("Lunar Isle", DiscordAreaType.CITIES, 8253, 8252, 8509, 8508),
CITY_MEIYERDITCH("Meiyerditch" , DiscordAreaType.CITIES, 14132, 14388, 14387, 14386, 14385), CITY_MEIYERDITCH("Meiyerditch", DiscordAreaType.CITIES, 14132, 14388, 14387, 14386, 14385),
CITY_MISCELLANIA("Miscellania" , DiscordAreaType.CITIES, 10044, 10300), CITY_MISCELLANIA("Miscellania", DiscordAreaType.CITIES, 10044, 10300),
CITY_MOS_LE_HARMLESS("Mos Le'Harmless" , DiscordAreaType.CITIES, 14638), CITY_MOS_LE_HARMLESS("Mos Le'Harmless", DiscordAreaType.CITIES, 14638),
CITY_MORTTON("Mort'ton" , DiscordAreaType.CITIES, 13875), CITY_MORTTON("Mort'ton", DiscordAreaType.CITIES, 13875),
CITY_MOR_UI_REK("Mor UI Rek" , DiscordAreaType.CITIES, 9808, 9807, 10064, 10063), CITY_MOR_UI_REK("Mor UI Rek", DiscordAreaType.CITIES, 9808, 9807, 10064, 10063),
CITY_MOUNT_KARUULM("Mount Karuulm", DiscordAreaType.CITIES, 5179, 4923, 5180), CITY_MOUNT_KARUULM("Mount Karuulm", DiscordAreaType.CITIES, 5179, 4923, 5180),
CITY_NARDAH("Nardah" , DiscordAreaType.CITIES, 13613), CITY_NARDAH("Nardah", DiscordAreaType.CITIES, 13613),
CITY_NEITIZNOT("Neitiznot" , DiscordAreaType.CITIES, 9275), CITY_NEITIZNOT("Neitiznot", DiscordAreaType.CITIES, 9275),
CITY_PISCATORIS("Piscatoris" , DiscordAreaType.CITIES, 9273), CITY_PISCATORIS("Piscatoris", DiscordAreaType.CITIES, 9273),
CITY_POLLNIVNEACH("Pollnivneach" , DiscordAreaType.CITIES, 13358), CITY_POLLNIVNEACH("Pollnivneach", DiscordAreaType.CITIES, 13358),
CITY_PORT_KHAZARD("Port Khazard" , DiscordAreaType.CITIES, 10545), CITY_PORT_KHAZARD("Port Khazard", DiscordAreaType.CITIES, 10545),
CITY_PORT_PHASMATYS("Port Phasmatys" , DiscordAreaType.CITIES, 14646), CITY_PORT_PHASMATYS("Port Phasmatys", DiscordAreaType.CITIES, 14646),
CITY_PORT_SARIM("Port Sarim" , DiscordAreaType.CITIES, 12082), CITY_PORT_SARIM("Port Sarim", DiscordAreaType.CITIES, 12082),
CITY_PISCARILIUS_HOUSE("Port Piscarilius" , DiscordAreaType.CITIES, 6971, 7227, 6970, 7226), CITY_PISCARILIUS_HOUSE("Port Piscarilius", DiscordAreaType.CITIES, 6971, 7227, 6970, 7226),
CITY_RELLEKKA("Rellekka" , DiscordAreaType.CITIES, 10553), CITY_RELLEKKA("Rellekka", DiscordAreaType.CITIES, 10553),
CITY_RIMMINGTON("Rimmington" , DiscordAreaType.CITIES, 11826, 11570), CITY_RIMMINGTON("Rimmington", DiscordAreaType.CITIES, 11826, 11570),
CITY_SEERS_VILLAGE("Seers' Village" , DiscordAreaType.CITIES, 10806), CITY_SEERS_VILLAGE("Seers' Village", DiscordAreaType.CITIES, 10806),
CITY_SHAYZIEN_HOUSE("Shayzien" , DiscordAreaType.CITIES, 5944, 5943, 6200, 6199, 5688), CITY_SHAYZIEN_HOUSE("Shayzien", DiscordAreaType.CITIES, 5944, 5943, 6200, 6199, 5688),
CITY_SHILO_VILLAGE("Shilo Village" , DiscordAreaType.CITIES, 11310), CITY_SHILO_VILLAGE("Shilo Village", DiscordAreaType.CITIES, 11310),
CITY_SOPHANEM("Sophanem" , DiscordAreaType.CITIES, 13099), CITY_SOPHANEM("Sophanem", DiscordAreaType.CITIES, 13099),
CITY_TAI_BWO_WANNAI("Tai Bwo Wannai" , DiscordAreaType.CITIES, 11056, 11055), CITY_TAI_BWO_WANNAI("Tai Bwo Wannai", DiscordAreaType.CITIES, 11056, 11055),
CITY_TAVERLEY("Taverley" , DiscordAreaType.CITIES, 11574, 11573), CITY_TAVERLEY("Taverley", DiscordAreaType.CITIES, 11574, 11573),
CITY_TREE_GNOME_STRONGHOLD("Tree Gnome Stronghold" , DiscordAreaType.CITIES, 9782, 9781), CITY_TREE_GNOME_STRONGHOLD("Tree Gnome Stronghold", DiscordAreaType.CITIES, 9782, 9781),
CITY_TREE_GNOME_VILLAGE("Tree Gnome Village" , DiscordAreaType.CITIES, 10033), CITY_TREE_GNOME_VILLAGE("Tree Gnome Village", DiscordAreaType.CITIES, 10033),
CITY_TROLL_STRONGHOLD("Troll Stronghold" , DiscordAreaType.CITIES, 11321), CITY_TROLL_STRONGHOLD("Troll Stronghold", DiscordAreaType.CITIES, 11321),
CITY_TYRAS_CAMP("Tyras Camp" , DiscordAreaType.CITIES, 8753, 8752), CITY_TYRAS_CAMP("Tyras Camp", DiscordAreaType.CITIES, 8753, 8752),
CITY_UZER("Uzer" , DiscordAreaType.CITIES, 13872), CITY_UZER("Uzer", DiscordAreaType.CITIES, 13872),
CITY_VARROCK("Varrock" , DiscordAreaType.CITIES, 12596, 12597, 12598, 12852, 12853, 12854, 13108, 13109, 13110), CITY_VARROCK("Varrock", DiscordAreaType.CITIES, 12596, 12597, 12598, 12852, 12853, 12854, 13108, 13109, 13110),
CITY_WITCHHAVEN("Witchaven" , DiscordAreaType.CITIES, 10803), CITY_WITCHHAVEN("Witchaven", DiscordAreaType.CITIES, 10803),
CITY_WOODCUTTING_GUILD("Woodcutting Guild", DiscordAreaType.CITIES, 6454, 6198, 6298), CITY_WOODCUTTING_GUILD("Woodcutting Guild", DiscordAreaType.CITIES, 6454, 6198, 6298),
CITY_YANILLE("Yanille" , DiscordAreaType.CITIES, 10288, 10032), CITY_YANILLE("Yanille", DiscordAreaType.CITIES, 10288, 10032),
CITY_ZANARIS("Zanaris" , DiscordAreaType.CITIES, 9285, 9541, 9540, 9797), CITY_ZANARIS("Zanaris", DiscordAreaType.CITIES, 9285, 9541, 9540, 9797),
CITY_ZULANDRA("Zul-Andra" , DiscordAreaType.CITIES, 8751), CITY_ZULANDRA("Zul-Andra", DiscordAreaType.CITIES, 8751),
// Dungeons // Dungeons
DUNGEON_ABANDONED_MINE("Abandoned Mine", DiscordAreaType.DUNGEONS, 13718, 11079, 11078, 11077, 10823, 10822, 10821), DUNGEON_ABANDONED_MINE("Abandoned Mine", DiscordAreaType.DUNGEONS, 13718, 11079, 11078, 11077, 10823, 10822, 10821),
@@ -358,29 +358,52 @@ enum DiscordGameEventType
{ {
switch (skill) switch (skill)
{ {
case ATTACK: return TRAINING_ATTACK; case ATTACK:
case DEFENCE: return TRAINING_DEFENCE; return TRAINING_ATTACK;
case STRENGTH: return TRAINING_STRENGTH; case DEFENCE:
case RANGED: return TRAINING_RANGED; return TRAINING_DEFENCE;
case PRAYER: return TRAINING_PRAYER; case STRENGTH:
case MAGIC: return TRAINING_MAGIC; return TRAINING_STRENGTH;
case COOKING: return TRAINING_COOKING; case RANGED:
case WOODCUTTING: return TRAINING_WOODCUTTING; return TRAINING_RANGED;
case FLETCHING: return TRAINING_FLETCHING; case PRAYER:
case FISHING: return TRAINING_FISHING; return TRAINING_PRAYER;
case FIREMAKING: return TRAINING_FIREMAKING; case MAGIC:
case CRAFTING: return TRAINING_CRAFTING; return TRAINING_MAGIC;
case SMITHING: return TRAINING_SMITHING; case COOKING:
case MINING: return TRAINING_MINING; return TRAINING_COOKING;
case HERBLORE: return TRAINING_HERBLORE; case WOODCUTTING:
case AGILITY: return TRAINING_AGILITY; return TRAINING_WOODCUTTING;
case THIEVING: return TRAINING_THIEVING; case FLETCHING:
case SLAYER: return TRAINING_SLAYER; return TRAINING_FLETCHING;
case FARMING: return TRAINING_FARMING; case FISHING:
case RUNECRAFT: return TRAINING_RUNECRAFT; return TRAINING_FISHING;
case HUNTER: return TRAINING_HUNTER; case FIREMAKING:
case CONSTRUCTION: return TRAINING_CONSTRUCTION; return TRAINING_FIREMAKING;
default: return null; 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()) switch (event.getDiscordAreaType())
{ {
case BOSSES: return config.showBossActivity(); case BOSSES:
case CITIES: return config.showCityActivity(); return config.showBossActivity();
case DUNGEONS: return config.showDungeonActivity(); case CITIES:
case MINIGAMES: return config.showMinigameActivity(); return config.showCityActivity();
case DUNGEONS:
return config.showDungeonActivity();
case MINIGAMES:
return config.showMinigameActivity();
} }
return false; return false;

View File

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

View File

@@ -25,10 +25,13 @@
package net.runelite.client.plugins.easyscape; package net.runelite.client.plugins.easyscape;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.MenuAction; 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.MenuEntry;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.coords.WorldPoint; 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 static net.runelite.client.util.MenuUtil.swap;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
import org.apache.commons.lang3.ArrayUtils; 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( @PluginDescriptor(
@@ -57,7 +57,8 @@ import static net.runelite.api.MenuAction.WALK;
) )
@Slf4j @Slf4j
public class EasyscapePlugin extends Plugin { public class EasyscapePlugin extends Plugin
{
private static final int PURO_PURO_REGION_ID = 10307; private static final int PURO_PURO_REGION_ID = 10307;
private static final int HOUSE_REGION_ID = 7513; private static final int HOUSE_REGION_ID = 7513;
@@ -71,31 +72,37 @@ public class EasyscapePlugin extends Plugin {
private EasyscapePluginConfig config; private EasyscapePluginConfig config;
@Provides @Provides
EasyscapePluginConfig provideConfig(ConfigManager configManager) { EasyscapePluginConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(EasyscapePluginConfig.class); return configManager.getConfig(EasyscapePluginConfig.class);
} }
@Override @Override
public void startUp() { public void startUp()
{
log.debug("Easyscape Started."); log.debug("Easyscape Started.");
} }
@Override @Override
public void shutDown() { public void shutDown()
{
log.debug("Easyscape Stopped."); log.debug("Easyscape Stopped.");
} }
@Subscribe @Subscribe
public void onMenuEntryAdded(MenuEntryAdded event) { public void onMenuEntryAdded(MenuEntryAdded event)
{
if (client.getGameState() != GameState.LOGGED_IN) { if (client.getGameState() != GameState.LOGGED_IN)
{
return; return;
} }
Widget loginScreenOne = client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN); Widget loginScreenOne = client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN);
Widget loginScreenTwo = client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN_MESSAGE_OF_THE_DAY); 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; return;
} }
@@ -104,9 +111,12 @@ public class EasyscapePlugin extends Plugin {
entries = client.getMenuEntries(); entries = client.getMenuEntries();
if (config.getRemoveExamine()) { if (config.getRemoveExamine())
for (int i = entries.length - 1; i >= 0; i--) { {
if (entries[i].getOption().equals("Examine")) { for (int i = entries.length - 1; i >= 0; i--)
{
if (entries[i].getOption().equals("Examine"))
{
entries = ArrayUtils.remove(entries, i); entries = ArrayUtils.remove(entries, i);
i--; i--;
} }
@@ -114,39 +124,50 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries); client.setMenuEntries(entries);
} }
if (config.getRemoveObjects() && !config.getRemovedObjects().equals("")) { if (config.getRemoveObjects() && !config.getRemovedObjects().equals(""))
for (String removed : config.getRemovedObjects().split(",")) { {
for (String removed : config.getRemovedObjects().split(","))
{
removed = removed.trim(); removed = removed.trim();
if (target.contains("->")) { if (target.contains("->"))
{
String trimmed = target.split("->")[1].trim(); 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()); delete(event.getIdentifier());
break; 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()); delete(event.getIdentifier());
break; break;
} }
} }
} }
if (config.getSwapPuro() && isPuroPuro()) { if (config.getSwapPuro() && isPuroPuro())
if (event.getType() == WALK.getId()) { {
if (event.getType() == WALK.getId())
{
MenuEntry menuEntry = entries[entries.length - 1]; MenuEntry menuEntry = entries[entries.length - 1];
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
client.setMenuEntries(entries); client.setMenuEntries(entries);
} }
else if (option.equalsIgnoreCase("examine")) { else if (option.equalsIgnoreCase("examine"))
{
swap(client, "push-through", option, target); swap(client, "push-through", option, target);
} }
else if (option.equalsIgnoreCase("use")) { else if (option.equalsIgnoreCase("use"))
{
swap(client, "escape", option, target); swap(client, "escape", option, target);
} }
} }
if (config.getEasyConstruction() && !config.getConstructionItems().equals("")) { if (config.getEasyConstruction() && !config.getConstructionItems().equals(""))
if (event.getType() == WALK.getId()) { {
if (event.getType() == WALK.getId())
{
MenuEntry menuEntry = entries[entries.length - 1]; MenuEntry menuEntry = entries[entries.length - 1];
menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET); menuEntry.setType(MenuAction.WALK.getId() + MENU_ACTION_DEPRIORITIZE_OFFSET);
client.setMenuEntries(entries); client.setMenuEntries(entries);
@@ -154,10 +175,14 @@ public class EasyscapePlugin extends Plugin {
swap(client, "Build", option, target); swap(client, "Build", option, target);
for (int i = entries.length - 1; i >= 0; i--) { for (int i = entries.length - 1; i >= 0; i--)
for (String item : config.getConstructionItems().split(",")) { {
if (item.trim().equalsIgnoreCase(Text.removeTags(entries[i].getTarget()))) { for (String item : config.getConstructionItems().split(","))
if (!entries[i].getOption().equalsIgnoreCase("remove")) { {
if (item.trim().equalsIgnoreCase(Text.removeTags(entries[i].getTarget())))
{
if (!entries[i].getOption().equalsIgnoreCase("remove"))
{
entries = ArrayUtils.remove(entries, i); entries = ArrayUtils.remove(entries, i);
i--; i--;
} }
@@ -168,66 +193,89 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries); client.setMenuEntries(entries);
} }
if (config.getSwapShop() && !config.getSwappedItems().equals("")) { if (config.getSwapShop() && !config.getSwappedItems().equals(""))
for (String item : config.getSwappedItems().split(",")) { {
if (target.equalsIgnoreCase(item.trim())) { for (String item : config.getSwappedItems().split(","))
{
if (target.equalsIgnoreCase(item.trim()))
{
swap(client, "Buy 50", option, target); swap(client, "Buy 50", option, target);
} }
} }
} }
if (config.getSwapSmithing()) { if (config.getSwapSmithing())
if (option.equalsIgnoreCase("Smith 1")) { {
if (option.equalsIgnoreCase("Smith 1"))
{
swap(client, "Smith All", option, target); 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); 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); 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); 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); 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); 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); 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); 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, "Kandarin Monastery", option, target);
swap(client, "Monastery Teleport", option, target); swap(client, "Monastery Teleport", option, target);
} }
if (config.getSwapEssencePouch()) { if (config.getSwapEssencePouch())
if (isEssencePouch(target)) { {
if (isEssencePouch(target))
{
Widget widgetBankTitleBar = client.getWidget(WidgetInfo.BANK_TITLE_BAR); Widget widgetBankTitleBar = client.getWidget(WidgetInfo.BANK_TITLE_BAR);
switch (config.getEssenceMode()) { switch (config.getEssenceMode())
{
case RUNECRAFTING: case RUNECRAFTING:
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden()) { if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden())
{
swap(client, "Empty", option, target); swap(client, "Empty", option, target);
} else { }
else
{
swap(client, "Fill", option, target); swap(client, "Fill", option, target);
} }
break; break;
case ESSENCE_MINING: case ESSENCE_MINING:
if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden()) { if (widgetBankTitleBar == null || widgetBankTitleBar.isHidden())
{
swap(client, "Fill", option, target); swap(client, "Fill", option, target);
} else { }
else
{
swap(client, "Empty", option, target); swap(client, "Empty", option, target);
} }
break; break;
@@ -237,9 +285,12 @@ public class EasyscapePlugin extends Plugin {
} }
} }
if (config.getGamesNecklace()) { if (config.getGamesNecklace())
if (target.toLowerCase().contains("games necklace")) { {
switch (config.getGamesNecklaceMode()) { if (target.toLowerCase().contains("games necklace"))
{
switch (config.getGamesNecklaceMode())
{
case BURTHORPE: case BURTHORPE:
swap(client, GamesNecklaceMode.BURTHORPE.toString(), option, target); swap(client, GamesNecklaceMode.BURTHORPE.toString(), option, target);
break; break;
@@ -261,9 +312,12 @@ public class EasyscapePlugin extends Plugin {
} }
} }
if (config.getDuelingRing()) { if (config.getDuelingRing())
if (target.toLowerCase().contains("ring of dueling")) { {
switch (config.getDuelingRingMode()) { if (target.toLowerCase().contains("ring of dueling"))
{
switch (config.getDuelingRingMode())
{
case DUEL_ARENA: case DUEL_ARENA:
swap(client, DuelingRingMode.DUEL_ARENA.toString(), option, target); swap(client, DuelingRingMode.DUEL_ARENA.toString(), option, target);
break; break;
@@ -279,9 +333,12 @@ public class EasyscapePlugin extends Plugin {
} }
} }
if (config.getWealthRing()) { if (config.getWealthRing())
if (target.toLowerCase().contains("ring of wealth")) { {
switch (config.getWealthRingMode()) { if (target.toLowerCase().contains("ring of wealth"))
{
switch (config.getWealthRingMode())
{
case MISCELLANIA: case MISCELLANIA:
swap(client, WealthRingMode.MISCELLANIA.toString(), option, target); swap(client, WealthRingMode.MISCELLANIA.toString(), option, target);
break; break;
@@ -300,9 +357,12 @@ public class EasyscapePlugin extends Plugin {
} }
} }
if (config.getGlory()) { if (config.getGlory())
if (target.toLowerCase().contains("amulet of glory") || target.toLowerCase().contains("amulet of eternal glory")) { {
switch (config.getGloryMode()) { if (target.toLowerCase().contains("amulet of glory") || target.toLowerCase().contains("amulet of eternal glory"))
{
switch (config.getGloryMode())
{
case EDGEVILLE: case EDGEVILLE:
swap(client, GloryMode.EDGEVILLE.toString(), option, target); swap(client, GloryMode.EDGEVILLE.toString(), option, target);
break; 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); 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); swap(client, "Tele to poh", option, target);
} }
} }
private void delete(int target) { private void delete(int target)
for (int i = entries.length - 1; i >= 0; i--) { {
if (entries[i].getIdentifier() == target) { for (int i = entries.length - 1; i >= 0; i--)
{
if (entries[i].getIdentifier() == target)
{
entries = ArrayUtils.remove(entries, i); entries = ArrayUtils.remove(entries, i);
i--; i--;
} }
@@ -342,20 +407,26 @@ public class EasyscapePlugin extends Plugin {
client.setMenuEntries(entries); 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")); 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; return client.getMapRegions()[0] == HOUSE_REGION_ID;
} }
private boolean isPuroPuro() { private boolean isPuroPuro()
{
Player player = client.getLocalPlayer(); Player player = client.getLocalPlayer();
if (player == null) { if (player == null)
{
return false; return false;
} else { }
else
{
WorldPoint location = player.getWorldLocation(); WorldPoint location = player.getWorldLocation();
return location.getRegionID() == PURO_PURO_REGION_ID; 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; import net.runelite.client.config.ConfigItem;
@ConfigGroup("easyscape") @ConfigGroup("easyscape")
public interface EasyscapePluginConfig extends Config { public interface EasyscapePluginConfig extends Config
{
@ConfigItem( @ConfigItem(
keyName = "removeExamine", keyName = "removeExamine",
@@ -37,7 +38,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 0 position = 0
) )
default boolean getRemoveExamine() { default boolean getRemoveExamine()
{
return true; return true;
} }
@@ -47,7 +49,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of items in the shop with their buy-50 option.", description = "Enables swapping of items in the shop with their buy-50 option.",
position = 1 position = 1
) )
default boolean getSwapShop() { default boolean getSwapShop()
{
return true; return true;
} }
@@ -57,7 +60,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Items listed here will have their value and buy-50 options swapped.", description = "Items listed here will have their value and buy-50 options swapped.",
position = 2 position = 2
) )
default String getSwappedItems() { default String getSwappedItems()
{
return ""; return "";
} }
@@ -68,7 +72,8 @@ public interface EasyscapePluginConfig extends Config {
position = 3 position = 3
) )
default boolean getEasyConstruction() { default boolean getEasyConstruction()
{
return true; return true;
} }
@@ -79,7 +84,8 @@ public interface EasyscapePluginConfig extends Config {
position = 4 position = 4
) )
default String getConstructionItems() { default String getConstructionItems()
{
return ""; return "";
} }
@@ -89,7 +95,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 5 position = 5
) )
default boolean getRemoveObjects() { default boolean getRemoveObjects()
{
return true; return true;
} }
@@ -99,7 +106,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 6 position = 6
) )
default String getRemovedObjects() { default String getRemovedObjects()
{
return ""; return "";
} }
@@ -109,7 +117,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of smith-1 and smith-all options.", description = "Enables swapping of smith-1 and smith-all options.",
position = 7 position = 7
) )
default boolean getSwapSmithing() { default boolean getSwapSmithing()
{
return true; return true;
} }
@@ -119,7 +128,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of tan-1 and tan-all options.", description = "Enables swapping of tan-1 and tan-all options.",
position = 8 position = 8
) )
default boolean getSwapTanning() { default boolean getSwapTanning()
{
return true; return true;
} }
@@ -129,7 +139,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 9 position = 9
) )
default boolean getSwapCrafting() { default boolean getSwapCrafting()
{
return true; return true;
} }
@@ -139,7 +150,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.", description = "Enables swapping of teleport and wear.",
position = 10 position = 10
) )
default boolean getSwapArdougneCape() { default boolean getSwapArdougneCape()
{
return true; return true;
} }
@@ -150,7 +162,8 @@ public interface EasyscapePluginConfig extends Config {
position = 11 position = 11
) )
default boolean getSwapStairs() { default boolean getSwapStairs()
{
return true; return true;
} }
@@ -160,7 +173,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 12 position = 12
) )
default boolean getSwapSawmill() { default boolean getSwapSawmill()
{
return true; return true;
} }
@@ -171,7 +185,8 @@ public interface EasyscapePluginConfig extends Config {
position = 13 position = 13
) )
default boolean getSwapSawmillPlanks() { default boolean getSwapSawmillPlanks()
{
return true; return true;
} }
@@ -181,7 +196,8 @@ public interface EasyscapePluginConfig extends Config {
description = "", description = "",
position = 14 position = 14
) )
default boolean getSwapPuro() { default boolean getSwapPuro()
{
return true; return true;
} }
@@ -191,7 +207,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of fill and empty for essence pounch.", description = "Enables swapping of fill and empty for essence pounch.",
position = 15 position = 15
) )
default boolean getSwapEssencePouch() { default boolean getSwapEssencePouch()
{
return true; return true;
} }
@@ -202,7 +219,8 @@ public interface EasyscapePluginConfig extends Config {
position = 16 position = 16
) )
default EssenceMode getEssenceMode() { default EssenceMode getEssenceMode()
{
return EssenceMode.RUNECRAFTING; return EssenceMode.RUNECRAFTING;
} }
@@ -212,7 +230,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of games necklace.", description = "Enables swapping of games necklace.",
position = 17 position = 17
) )
default boolean getGamesNecklace() { default boolean getGamesNecklace()
{
return true; return true;
} }
@@ -223,7 +242,8 @@ public interface EasyscapePluginConfig extends Config {
position = 18 position = 18
) )
default GamesNecklaceMode getGamesNecklaceMode() { default GamesNecklaceMode getGamesNecklaceMode()
{
return GamesNecklaceMode.BURTHORPE; return GamesNecklaceMode.BURTHORPE;
} }
@@ -233,7 +253,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of dueling ring.", description = "Enables swapping of dueling ring.",
position = 19 position = 19
) )
default boolean getDuelingRing() { default boolean getDuelingRing()
{
return true; return true;
} }
@@ -244,7 +265,8 @@ public interface EasyscapePluginConfig extends Config {
position = 20 position = 20
) )
default DuelingRingMode getDuelingRingMode() { default DuelingRingMode getDuelingRingMode()
{
return DuelingRingMode.DUEL_ARENA; return DuelingRingMode.DUEL_ARENA;
} }
@@ -254,7 +276,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of Amulet of Glory.", description = "Enables swapping of Amulet of Glory.",
position = 21 position = 21
) )
default boolean getGlory() { default boolean getGlory()
{
return true; return true;
} }
@@ -265,7 +288,8 @@ public interface EasyscapePluginConfig extends Config {
position = 22 position = 22
) )
default GloryMode getGloryMode() { default GloryMode getGloryMode()
{
return GloryMode.EDGEVILLE; return GloryMode.EDGEVILLE;
} }
@@ -275,7 +299,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of Ring of Wealth.", description = "Enables swapping of Ring of Wealth.",
position = 23 position = 23
) )
default boolean getWealthRing() { default boolean getWealthRing()
{
return true; return true;
} }
@@ -286,7 +311,8 @@ public interface EasyscapePluginConfig extends Config {
position = 24 position = 24
) )
default WealthRingMode getWealthRingMode() { default WealthRingMode getWealthRingMode()
{
return WealthRingMode.GRAND_EXCHANGE; return WealthRingMode.GRAND_EXCHANGE;
} }
@@ -296,7 +322,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.", description = "Enables swapping of teleport and wear.",
position = 25 position = 25
) )
default boolean getSwapConstructionCape() { default boolean getSwapConstructionCape()
{
return true; return true;
} }
@@ -306,7 +333,8 @@ public interface EasyscapePluginConfig extends Config {
description = "Enables swapping of teleport and wear.", description = "Enables swapping of teleport and wear.",
position = 26 position = 26
) )
default boolean getSwapCraftingCape() { default boolean getSwapCraftingCape()
{
return true; return true;
} }
} }

View File

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

View File

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

View File

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

View File

@@ -24,20 +24,23 @@
*/ */
package net.runelite.client.plugins.easyscape; package net.runelite.client.plugins.easyscape;
public enum WealthRingMode { public enum WealthRingMode
MISCELLANIA ("Miscellania"), {
GRAND_EXCHANGE ("Grand Exchange"), MISCELLANIA("Miscellania"),
FALADOR ("Falador"), GRAND_EXCHANGE("Grand Exchange"),
DONDAKAN ("Dondakan"); FALADOR("Falador"),
DONDAKAN("Dondakan");
private final String name; private final String name;
WealthRingMode(String name) { WealthRingMode(String name)
{
this.name = name; this.name = name;
} }
@Override @Override
public String toString() { public String toString()
{
return name; return name;
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

@@ -25,7 +25,6 @@
package net.runelite.client.plugins.experiencedrop; package net.runelite.client.plugins.experiencedrop;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays; import java.util.Arrays;
@@ -33,15 +32,23 @@ import java.util.EnumMap;
import java.util.Map; import java.util.Map;
import java.util.stream.IntStream; import java.util.stream.IntStream;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Getter; 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.api.ScriptID.XPDROP_DISABLED;
import static net.runelite.client.plugins.attackstyles.AttackStyle.*; import net.runelite.api.Skill;
import net.runelite.api.SpriteID;
import net.runelite.api.events.*; 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.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; 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.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.attackstyles.AttackStyle; 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.plugins.attackstyles.WeaponType;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -423,7 +439,7 @@ public class XpDropPlugin extends Plugin
return -1; return -1;
} }
return (int)((maxHealth * healthRatio / healthScale) + 0.5f); return (int) ((maxHealth * healthRatio / healthScale) + 0.5f);
} }
@Subscribe @Subscribe

View File

@@ -26,7 +26,22 @@ package net.runelite.client.plugins.experiencedrop;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Prayer; 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.MAGIC;
import static net.runelite.client.plugins.experiencedrop.PrayerType.MELEE; import static net.runelite.client.plugins.experiencedrop.PrayerType.MELEE;
import static net.runelite.client.plugins.experiencedrop.PrayerType.RANGE; 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.SoundEffectID;
import net.runelite.api.SpriteID; import net.runelite.api.SpriteID;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.widgets.WidgetType;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetLoaded; 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.Widget;
import net.runelite.api.widgets.WidgetID; import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetType;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;

View File

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

View File

@@ -141,7 +141,7 @@ class FishingSpotOverlay extends Overlay
if (config.showSpotIcons()) if (config.showSpotIcons())
{ {
BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());; BufferedImage fishImage = itemManager.getImage(spot.getFishSpriteId());
if (spot == FishingSpot.COMMON_TENCH if (spot == FishingSpot.COMMON_TENCH
&& npc.getWorldLocation().distanceTo2D(client.getLocalPlayer().getWorldLocation()) <= ONE_TICK_AERIAL_FISHING) && 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.Rectangle;
import java.awt.geom.Line2D; import java.awt.geom.Line2D;
import java.util.ArrayList; import java.util.ArrayList;
import javax.annotation.Nullable;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition; 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. * 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. * 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. * 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, * 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. * even when forced to 1 FPS with this plugin.
*/ */

View File

@@ -57,11 +57,13 @@ public enum PlayerSpellEffect
public static PlayerSpellEffect getFromSpotAnim(int spotAnim) public static PlayerSpellEffect getFromSpotAnim(int spotAnim)
{ {
for(PlayerSpellEffect effect : values()) for (PlayerSpellEffect effect : values())
{
if (effect.getSpotAnimId() == spotAnim)
{ {
if(effect.getSpotAnimId() == spotAnim)
return effect; return effect;
} }
}
return NONE; return NONE;
} }

View File

@@ -11,8 +11,7 @@ package net.runelite.client.plugins.friendtagging;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.google.common.collect.ObjectArrays; import com.google.common.collect.ObjectArrays;
import java.awt.Toolkit;
import java.awt.*;
import java.awt.datatransfer.StringSelection; import java.awt.datatransfer.StringSelection;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
@@ -21,8 +20,17 @@ import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.NonNull; import lombok.NonNull;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.*; import net.runelite.api.Client;
import net.runelite.api.events.*; 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.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; 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.PluginDescriptor;
import net.runelite.client.plugins.PluginInstantiationException; import net.runelite.client.plugins.PluginInstantiationException;
import net.runelite.client.plugins.PluginManager; import net.runelite.client.plugins.PluginManager;
import 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.config.AntiAliasingMode;
import net.runelite.client.plugins.gpu.template.Template; import net.runelite.client.plugins.gpu.template.Template;
import net.runelite.client.ui.DrawManager; import net.runelite.client.ui.DrawManager;
@@ -987,11 +998,11 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
// Ceil the sizes because even if the size is 599.1 we want to treat it as size 600 (i.e. render to the x=599 pixel). // Ceil the sizes because even if the size is 599.1 we want to treat it as size 600 (i.e. render to the x=599 pixel).
renderViewportHeight = (int) Math.ceil(scaleFactorY * (renderViewportHeight)) + padding * 2; renderViewportHeight = (int) Math.ceil(scaleFactorY * (renderViewportHeight)) + padding * 2;
renderViewportWidth = (int) Math.ceil(scaleFactorX * (renderViewportWidth )) + padding * 2; renderViewportWidth = (int) Math.ceil(scaleFactorX * (renderViewportWidth)) + padding * 2;
// Floor the offsets because even if the offset is 4.9, we want to render to the x=4 pixel anyway. // Floor the offsets because even if the offset is 4.9, we want to render to the x=4 pixel anyway.
renderHeightOff = (int) Math.floor(scaleFactorY * (renderHeightOff)) - padding; renderHeightOff = (int) Math.floor(scaleFactorY * (renderHeightOff)) - padding;
renderWidthOff = (int) Math.floor(scaleFactorX * (renderWidthOff )) - padding; renderWidthOff = (int) Math.floor(scaleFactorX * (renderWidthOff)) - padding;
} }
glDpiAwareViewport(renderWidthOff, renderCanvasHeight - renderViewportHeight - renderHeightOff, renderViewportWidth, renderViewportHeight); glDpiAwareViewport(renderWidthOff, renderCanvasHeight - renderViewportHeight - renderHeightOff, renderViewportWidth, renderViewportHeight);
@@ -1295,10 +1306,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
{ {
int var21 = (pitchCos * modelHeight >> 16) + var19; int var21 = (pitchCos * modelHeight >> 16) + var19;
int var22 = (var18 - var21) * zoom; int var22 = (var18 - var21) * zoom;
if (var22 / var14 < Rasterizer3D_clipMidY2) return var22 / var14 < Rasterizer3D_clipMidY2;
{
return true;
}
} }
} }
} }

View File

@@ -28,9 +28,9 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigItem;
import net.runelite.client.config.Range; 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 static net.runelite.client.plugins.gpu.GpuPlugin.MAX_FOG_DEPTH;
import net.runelite.client.plugins.gpu.config.AntiAliasingMode; import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
import static net.runelite.client.plugins.gpu.GpuPlugin.MAX_DISTANCE;
@ConfigGroup("gpu") @ConfigGroup("gpu")
public interface GpuPluginConfig extends Config 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.GameTick;
import net.runelite.api.events.GrandExchangeOfferChanged; import net.runelite.api.events.GrandExchangeOfferChanged;
import net.runelite.api.events.MenuEntryAdded; 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.events.WidgetLoaded;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID; 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.account.SessionManager;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; 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.game.ItemManager;
import net.runelite.client.input.KeyManager; import net.runelite.client.input.KeyManager;
import net.runelite.client.input.MouseManager; import net.runelite.client.input.MouseManager;

View File

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

View File

@@ -509,7 +509,7 @@ public class GroundItemsPlugin extends Plugin
lastEntry.setTarget(lastEntry.getTarget() + " (" + quantity + ")"); lastEntry.setTarget(lastEntry.getTarget() + " (" + quantity + ")");
} }
if(config.removeIgnored() && event.getOption().equals("Take") && hiddenItemList.contains(Text.removeTags(event.getTarget()))) if (config.removeIgnored() && event.getOption().equals("Take") && hiddenItemList.contains(Text.removeTags(event.getTarget())))
{ {
menuEntries = removeOption(event.getOption(), event.getTarget()); menuEntries = removeOption(event.getOption(), event.getTarget());
} }
@@ -522,7 +522,7 @@ public class GroundItemsPlugin extends Plugin
{ {
MenuEntry[] entries = client.getMenuEntries(); MenuEntry[] entries = client.getMenuEntries();
int j = 0; int j = 0;
if(entries.length > 1) if (entries.length > 1)
{ {
MenuEntry[] newEntries = new MenuEntry[entries.length - 1]; MenuEntry[] newEntries = new MenuEntry[entries.length - 1];
for (int i = 0; i < entries.length; ++i) for (int i = 0; i < entries.length; ++i)

View File

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

View File

@@ -33,7 +33,7 @@ import lombok.Value;
* Used for serialization of ground marker points. * Used for serialization of ground marker points.
*/ */
@Value @Value
@EqualsAndHashCode(exclude = { "color" }) @EqualsAndHashCode(exclude = {"color"})
class GroundMarkerPoint class GroundMarkerPoint
{ {
private int regionId; private int regionId;

View File

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

View File

@@ -29,7 +29,15 @@ package net.runelite.client.plugins.hideprayers.INDIVIDUAL;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.inject.Provides; 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.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded; 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.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginManager;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates; 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 @PluginDescriptor
( (
@@ -157,7 +160,8 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID) if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{ {
return PrayerTabStates.PRAYERS; 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; return PrayerTabStates.QUICK_PRAYERS;
} }
@@ -168,26 +172,9 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
private void restorePrayers() private void restorePrayers()
{ {
if (client.getGameState() != GameState.LOGGED_IN) 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; return;
}
PrayerTabStates prayerTabState = getPrayerTabState(); PrayerTabStates prayerTabState = getPrayerTabState();
@@ -197,7 +184,35 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size()) if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return; 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++) for (int index = 0; index < PRAYER_COUNT; index++)
{ {
@@ -234,7 +249,9 @@ public class HidePrayersINDIVIDUALPlugin extends Plugin
&& !config.HidePiety() && !config.HidePiety()
&& !config.HideRigour() && !config.HideRigour()
&& !config.HideAugury()) && !config.HideAugury())
{
prayerWidget.setHidden(false); prayerWidget.setHidden(false);
}
if (config.showINDIVIDUALPrayers()) if (config.showINDIVIDUALPrayers())
{ {

View File

@@ -41,7 +41,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Barrows", name = "Barrows",
description = "Shows prayers for Barrows" description = "Shows prayers for Barrows"
) )
default Barrows Barrows() {return Barrows.DISABLED;} default Barrows Barrows()
{
return Barrows.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -50,7 +53,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Cerberus", name = "Cerberus",
description = "Shows prayers for Cerberus" description = "Shows prayers for Cerberus"
) )
default Cerberus Cerberus() {return Cerberus.DISABLED;} default Cerberus Cerberus()
{
return Cerberus.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -59,7 +65,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Vorkath", name = "Vorkath",
description = "Shows prayers for Vorkath" description = "Shows prayers for Vorkath"
) )
default Vorkath Vorkath() {return Vorkath.DISABLED;} default Vorkath Vorkath()
{
return Vorkath.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -68,7 +77,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Zulrah", name = "Zulrah",
description = "Shows prayers for Zulrah" description = "Shows prayers for Zulrah"
) )
default Zulrah Zulrah() {return Zulrah.DISABLED;} default Zulrah Zulrah()
{
return Zulrah.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -77,7 +89,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Armadyl", name = "Armadyl",
description = "Shows prayers for Armadyl" description = "Shows prayers for Armadyl"
) )
default Armadyl Armadyl() {return Armadyl.DISABLED;} default Armadyl Armadyl()
{
return Armadyl.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -86,7 +101,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Bandos", name = "Bandos",
description = "Shows prayers for Bandos" description = "Shows prayers for Bandos"
) )
default Bandos Bandos() {return Bandos.DISABLED;} default Bandos Bandos()
{
return Bandos.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -95,7 +113,10 @@ public interface HidePrayersPVMConfig extends Config
name = "Saradomin", name = "Saradomin",
description = "Shows prayers for Saradomin" description = "Shows prayers for Saradomin"
) )
default Saradomin Saradomin() {return Saradomin.DISABLED;} default Saradomin Saradomin()
{
return Saradomin.DISABLED;
}
@ConfigItem @ConfigItem
( (
@@ -104,5 +125,8 @@ public interface HidePrayersPVMConfig extends Config
name = "Zamorak", name = "Zamorak",
description = "Shows prayers for 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.common.collect.ImmutableList;
import com.google.inject.Provides; 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.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded; 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.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates; 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 @PluginDescriptor
( (
@@ -168,7 +172,9 @@ public class HidePrayersPVMPlugin extends Plugin
private void restorePrayers() private void restorePrayers()
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{
return; return;
}
PrayerTabStates prayerTabState = getPrayerTabState(); PrayerTabStates prayerTabState = getPrayerTabState();
@@ -178,17 +184,23 @@ public class HidePrayersPVMPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size()) if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return; return;
}
for (int index = 0; index < PRAYER_COUNT; index++) for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false); prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
} }
} }
}
private void hidePrayers() private void hidePrayers()
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{
return; return;
}
PrayerTabStates prayerTabState = getPrayerTabState(); PrayerTabStates prayerTabState = getPrayerTabState();
@@ -198,7 +210,9 @@ public class HidePrayersPVMPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size()) if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return; return;
}
for (int index = 0; index < PRAYER_COUNT; index++) for (int index = 0; index < PRAYER_COUNT; index++)
{ {
@@ -214,7 +228,9 @@ public class HidePrayersPVMPlugin extends Plugin
&& config.Zamorak() == Zamorak.DISABLED && config.Zamorak() == Zamorak.DISABLED
&& config.Zulrah() == Zulrah.DISABLED && config.Zulrah() == Zulrah.DISABLED
) )
{
prayerWidget.setHidden(false); prayerWidget.setHidden(false);
}
if (config.Zulrah() == Zulrah.ZULRAH_CHEAP) if (config.Zulrah() == Zulrah.ZULRAH_CHEAP)
{ {

View File

@@ -41,5 +41,8 @@ public interface HidePrayersPVPConfig extends Config
name = "Combat Prayers", name = "Combat Prayers",
description = "Shows prayers based on prayer build" 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.common.collect.ImmutableList;
import com.google.inject.Provides; 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.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded; 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.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates; 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 @PluginDescriptor
( (
@@ -168,7 +172,9 @@ public class HidePrayersPVPPlugin extends Plugin
private void restorePrayers() private void restorePrayers()
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{
return; return;
}
PrayerTabStates prayerTabState = getPrayerTabState(); PrayerTabStates prayerTabState = getPrayerTabState();
@@ -178,17 +184,23 @@ public class HidePrayersPVPPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size()) if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return; return;
}
for (int index = 0; index < PRAYER_COUNT; index++) for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false); prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
} }
} }
}
private void hidePrayers() private void hidePrayers()
{ {
if (client.getGameState() != GameState.LOGGED_IN) if (client.getGameState() != GameState.LOGGED_IN)
{
return; return;
}
PrayerTabStates prayerTabState = getPrayerTabState(); PrayerTabStates prayerTabState = getPrayerTabState();
@@ -198,7 +210,9 @@ public class HidePrayersPVPPlugin extends Plugin
.filter(Objects::nonNull).collect(Collectors.toList()); .filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size()) if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return; return;
}
for (int index = 0; index < PRAYER_COUNT; index++) for (int index = 0; index < PRAYER_COUNT; index++)
{ {
@@ -206,7 +220,9 @@ public class HidePrayersPVPPlugin extends Plugin
Widget prayerWidget = prayerWidgets.get(prayer.ordinal()); Widget prayerWidget = prayerWidgets.get(prayer.ordinal());
if (config.CombatPrayers() == CombatPrayers.DISABLED) if (config.CombatPrayers() == CombatPrayers.DISABLED)
{
prayerWidget.setHidden(false); prayerWidget.setHidden(false);
}
if (config.CombatPrayers() == CombatPrayers.PRAY1) if (config.CombatPrayers() == CombatPrayers.PRAY1)
{ {

View File

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

View File

@@ -113,7 +113,7 @@ public class HighAlchemyPlugin extends Plugin
if (config.showInventory()) if (config.showInventory())
{ {
Arrays.stream( Arrays.stream(
new int[] { new int[]{
DEPOSIT_BOX_GROUP_ID, DEPOSIT_BOX_GROUP_ID,
BANK_INVENTORY_GROUP_ID, BANK_INVENTORY_GROUP_ID,
SHOP_INVENTORY_GROUP_ID, SHOP_INVENTORY_GROUP_ID,

View File

@@ -48,7 +48,7 @@ class NameAutocompleter implements KeyListener
/** /**
* Non-breaking space character. * Non-breaking space character.
*/ */
private static final String NBSP = Character.toString((char)160); private static final String NBSP = Character.toString((char) 160);
/** /**
* Character class for characters that cannot be in an RSN. * Character class for characters that cannot be in an RSN.
@@ -88,7 +88,7 @@ class NameAutocompleter implements KeyListener
@Override @Override
public void keyTyped(KeyEvent e) public void keyTyped(KeyEvent e)
{ {
final JTextComponent input = (JTextComponent)e.getSource(); final JTextComponent input = (JTextComponent) e.getSource();
final String inputText = input.getText(); final String inputText = input.getText();
// Only autocomplete if the selection end is at the end of the text. // Only autocomplete if the selection end is at the end of the text.
@@ -143,7 +143,7 @@ class NameAutocompleter implements KeyListener
private void newAutocomplete(KeyEvent e) private void newAutocomplete(KeyEvent e)
{ {
final JTextComponent input = (JTextComponent)e.getSource(); final JTextComponent input = (JTextComponent) e.getSource();
final String inputText = input.getText(); final String inputText = input.getText();
final String nameStart = inputText.substring(0, input.getSelectionStart()) + e.getKeyChar(); final String nameStart = inputText.substring(0, input.getSelectionStart()) + e.getKeyChar();

View File

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

View File

@@ -26,8 +26,7 @@
package net.runelite.client.plugins.idlenotifier; package net.runelite.client.plugins.idlenotifier;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.awt.TrayIcon;
import java.awt.*;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays; import java.util.Arrays;
@@ -36,7 +35,93 @@ import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.AnimationID; 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.Client;
import net.runelite.api.Constants; import net.runelite.api.Constants;
import net.runelite.api.GameState; import net.runelite.api.GameState;

View File

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

View File

@@ -35,8 +35,8 @@ import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.NPCComposition; import net.runelite.api.NPCComposition;
import net.runelite.api.Point;
import net.runelite.api.Perspective; import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay; 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.border.EmptyBorder;
import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkEvent;
import net.runelite.api.Client; 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.RuneLiteProperties;
import net.runelite.client.account.SessionManager; import net.runelite.client.account.SessionManager;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe; 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.ColorScheme;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.PluginPanel; import net.runelite.client.ui.PluginPanel;
@@ -180,7 +179,7 @@ public class InfoPanel extends PluginPanel
actionsContainer.add(buildLinkPanel(GITHUB_ICON, "License info", "for distribution", "https://github.com/runelite-extended/runelite/blob/master/LICENSE")); actionsContainer.add(buildLinkPanel(GITHUB_ICON, "License info", "for distribution", "https://github.com/runelite-extended/runelite/blob/master/LICENSE"));
actionsContainer.add(buildLinkPanel(DISCORD_ICON, "Talk to us on our", "discord server", "https://discord.gg/s2fzu5U")); actionsContainer.add(buildLinkPanel(DISCORD_ICON, "Talk to us on our", "discord server", "https://discord.gg/s2fzu5U"));
actionsContainer.add(buildLinkPanel(PATREON_ICON, "Patreon to support", "the RuneLite devs", runeLiteProperties.getPatreonLink())); actionsContainer.add(buildLinkPanel(PATREON_ICON, "Patreon to support", "the RuneLite devs", runeLiteProperties.getPatreonLink()));
/* actionsContainer.add(buildLinkPanel(WIKI_ICON, "Information about", "RuneLite and plugins", runeLiteProperties.getWikiLink()));*/ /* actionsContainer.add(buildLinkPanel(WIKI_ICON, "Information about", "RuneLite and plugins", runeLiteProperties.getWikiLink()));*/
add(versionPanel, BorderLayout.NORTH); add(versionPanel, BorderLayout.NORTH);
add(actionsContainer, BorderLayout.CENTER); add(actionsContainer, BorderLayout.CENTER);

View File

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

View File

@@ -35,6 +35,8 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Player; 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.SpritePixels;
import net.runelite.api.Tile; import net.runelite.api.Tile;
import net.runelite.api.coords.LocalPoint; 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.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority; import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.components.BackgroundComponent; 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 @Singleton
class InstanceMapOverlay extends Overlay class InstanceMapOverlay extends Overlay

View File

@@ -97,7 +97,7 @@ enum SpriteOverride
CHATBOX_BUTTONS_BACKGROUND_STONES(SpriteID.CHATBOX_BUTTONS_BACKGROUND_STONES, AROUND_2005), CHATBOX_BUTTONS_BACKGROUND_STONES(SpriteID.CHATBOX_BUTTONS_BACKGROUND_STONES, AROUND_2005),
CHATBOX_BUTTON(SpriteID.CHATBOX_BUTTON, AROUND_2005), CHATBOX_BUTTON(SpriteID.CHATBOX_BUTTON, AROUND_2005),
CHATBOX_BUTTON_HOVERED(SpriteID.CHATBOX_BUTTON_HOVERED, AROUND_2005), CHATBOX_BUTTON_HOVERED(SpriteID.CHATBOX_BUTTON_HOVERED, AROUND_2005),
CHATBOX_BUTTON_NEW_MESSAGES( SpriteID.CHATBOX_BUTTON_NEW_MESSAGES, AROUND_2005), CHATBOX_BUTTON_NEW_MESSAGES(SpriteID.CHATBOX_BUTTON_NEW_MESSAGES, AROUND_2005),
CHATBOX_BUTTON_SELECTED(SpriteID.CHATBOX_BUTTON_SELECTED, AROUND_2005), CHATBOX_BUTTON_SELECTED(SpriteID.CHATBOX_BUTTON_SELECTED, AROUND_2005),
CHATBOX_BUTTON_SELECTED_HOVERED(SpriteID.CHATBOX_BUTTON_SELECTED_HOVERED, AROUND_2005), CHATBOX_BUTTON_SELECTED_HOVERED(SpriteID.CHATBOX_BUTTON_SELECTED_HOVERED, AROUND_2005),
CHATBOX_REPORT_BUTTON(SpriteID.CHATBOX_REPORT_BUTTON, AROUND_2005), CHATBOX_REPORT_BUTTON(SpriteID.CHATBOX_REPORT_BUTTON, AROUND_2005),

View File

@@ -647,7 +647,7 @@ public class ItemChargePlugin extends Plugin
return false; return false;
} }
final ItemChargeInfobox i = (ItemChargeInfobox)t; final ItemChargeInfobox i = (ItemChargeInfobox) t;
return i.getItem() == item && i.getSlot() == slot; return i.getItem() == item && i.getSlot() == slot;
}); });
} }

View File

@@ -29,7 +29,133 @@ import java.util.Map;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; 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.ABYSSAL_BRACELET;
import static net.runelite.client.plugins.itemcharges.ItemChargeType.BELLOWS; import static net.runelite.client.plugins.itemcharges.ItemChargeType.BELLOWS;
import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY; import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY;

View File

@@ -46,7 +46,7 @@ enum ItemIdentification
DWARF_WEED_SEED(Type.SEED, "Dwarf", "D", ItemID.DWARF_WEED_SEED), DWARF_WEED_SEED(Type.SEED, "Dwarf", "D", ItemID.DWARF_WEED_SEED),
TORSTOL_SEED(Type.SEED, "Torstol", "TOR", ItemID.TORSTOL_SEED), TORSTOL_SEED(Type.SEED, "Torstol", "TOR", ItemID.TORSTOL_SEED),
POISON_IVY_SEED(Type.SEED, "Ivy", "I", ItemID.POISON_IVY_SEED), POISON_IVY_SEED(Type.SEED, "Ivy", "I", ItemID.POISON_IVY_SEED),
WHITEBERRY_SEED( Type.SEED, "White", "W", ItemID.WHITEBERRY_SEED), WHITEBERRY_SEED(Type.SEED, "White", "W", ItemID.WHITEBERRY_SEED),
//Herbs //Herbs
GUAM(Type.HERB, "Guam", "G", ItemID.GUAM_LEAF, ItemID.GRIMY_GUAM_LEAF), GUAM(Type.HERB, "Guam", "G", ItemID.GUAM_LEAF, ItemID.GRIMY_GUAM_LEAF),
@@ -92,7 +92,7 @@ enum ItemIdentification
final String shortName; final String shortName;
final int[] itemIDs; final int[] itemIDs;
ItemIdentification(Type type, String medName, String shortName, int ... ids) ItemIdentification(Type type, String medName, String shortName, int... ids)
{ {
this.type = type; this.type = type;
this.medName = medName; this.medName = medName;

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