Merge branch 'master-2'

finishes merge

# Conflicts:
#	http-service/src/main/java/net/runelite/http/service/config/ConfigService.java
#	http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java
#	http-service/src/test/java/net/runelite/http/service/config/ConfigControllerTest.java
#	http-service/src/test/java/net/runelite/http/service/loottracker/LootTrackerControllerTest.java
#	injector-plugin/src/test/java/net/runelite/injector/InjectTest.java
#	runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java
#	runelite-client/src/main/java/net/runelite/client/plugins/dailytaskindicators/DailyTasksPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeSearchPanel.java
#	runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/mining/MiningPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/mta/telekinetic/TelekineticRoom.java
#	runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldSwitcherPanel.java
This commit is contained in:
Zeruth
2019-07-12 16:34:04 -04:00
29 changed files with 165 additions and 100 deletions

View File

@@ -32,7 +32,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import javax.annotation.Nullable;
import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.hooks.Callbacks;
import net.runelite.client.account.SessionManager;
@@ -56,7 +55,6 @@ import okhttp3.OkHttpClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Slf4j
public class RuneLiteModule extends AbstractModule
{
private final ClientUpdateCheckMode updateCheckMode;

View File

@@ -31,7 +31,6 @@ import java.util.function.BiConsumer;
import java.util.function.BiPredicate;
import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.events.ChatMessage;
@@ -42,7 +41,6 @@ import net.runelite.client.events.ChatboxInput;
import net.runelite.client.events.PrivateMessageInput;
@Singleton
@Slf4j
public class ChatCommandManager implements ChatboxInputListener
{
private final Map<String, ChatCommand> commands = new HashMap<>();

View File

@@ -37,14 +37,12 @@ import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Sprite;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.util.ImageUtil;
@Slf4j
@Singleton
public class SpriteManager
{

View File

@@ -31,7 +31,6 @@ import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.FontID;
import net.runelite.api.widgets.JavaScriptCallback;
import net.runelite.api.widgets.Widget;
@@ -41,7 +40,6 @@ import net.runelite.api.widgets.WidgetTextAlignment;
import net.runelite.api.widgets.WidgetType;
import net.runelite.client.input.KeyListener;
@Slf4j
public class ChatboxTextMenuInput extends ChatboxInput implements KeyListener
{
@Data

View File

@@ -565,7 +565,15 @@ public class TabInterface
return;
}
if (event.getActionParam1() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
if (chatboxPanelManager.getCurrentInput() != null
&& event.getMenuAction() != MenuAction.CANCEL
&& !event.getMenuEntry().equals(SCROLL_UP)
&& !event.getMenuEntry().equals(SCROLL_DOWN))
{
chatboxPanelManager.close();
}
if (event.getIdentifier() == WidgetInfo.BANK_ITEM_CONTAINER.getId()
&& event.getMenuAction() == MenuAction.EXAMINE_ITEM_BANK_EQ
&& event.getOption().equalsIgnoreCase("withdraw-x"))
{

View File

@@ -96,7 +96,7 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
.put(new WorldPoint(2542, 3031, 0), "Gu'Tanoth.")
.put(new WorldPoint(2581, 3030, 0), "Gu'Tanoth island, enter cave north-west of Feldip Hills (AKS).")
.put(new WorldPoint(2961, 3024, 0), "Ship yard (DKP).")
.put(new WorldPoint(2339, 3311, 0), "East of Tirannwn on Arandar mountain pass.")
.put(new WorldPoint(2339, 3311, 0), "East of Prifddinas on Arandar mountain pass.")
.put(new WorldPoint(3440, 3341, 0), "Nature Spirit's grotto.")
.put(new WorldPoint(2763, 2974, 0), "Cairn Isle, west of Shilo Village.")
.put(new WorldPoint(3138, 2969, 0), "West of Bandit Camp.")

View File

@@ -62,14 +62,17 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
private static final int HOT_COLD_PANEL_WIDTH = 200;
private static final HotColdClue BEGINNER_CLUE = new HotColdClue("Buried beneath the ground, who knows where it's found. Lucky for you, A man called Reldo may have a clue.",
"Reldo",
"Speak to Reldo to receive a strange device.");
"Speak to Reldo to receive a strange device.",
new WorldPoint(3211, 3494, 0));
private static final HotColdClue MASTER_CLUE = new HotColdClue("Buried beneath the ground, who knows where it's found. Lucky for you, A man called Jorral may have a clue.",
"Jorral",
"Speak to Jorral to receive a strange device.");
"Speak to Jorral to receive a strange device.",
new WorldPoint(2436, 3347, 0));
private final String text;
private final String npc;
private final String solution;
private final WorldPoint npcLocation;
@Nullable
private HotColdSolver hotColdSolver;
private WorldPoint location;
@@ -90,11 +93,12 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
return null;
}
private HotColdClue(String text, String npc, String solution)
private HotColdClue(String text, String npc, String solution, WorldPoint npcLocation)
{
this.text = text;
this.npc = npc;
this.solution = solution;
this.npcLocation = npcLocation;
setRequiresSpade(true);
initializeSolver();
}
@@ -107,7 +111,14 @@ public class HotColdClue extends ClueScroll implements LocationClueScroll, Locat
return new WorldPoint[0];
}
return hotColdSolver.getPossibleLocations().stream().map(HotColdLocation::getWorldPoint).toArray(WorldPoint[]::new);
if (hotColdSolver.getLastWorldPoint() == null)
{
return new WorldPoint[] {npcLocation};
}
else
{
return hotColdSolver.getPossibleLocations().stream().map(HotColdLocation::getWorldPoint).toArray(WorldPoint[]::new);
}
}
@Override

View File

@@ -103,7 +103,7 @@ public enum STASHUnit
ENTRANCE_OF_THE_CAVE_OF_DAMIS(NullObjectID.NULL_29027, new WorldPoint(2629, 5070, 0)),
WARRIORS_GUILD_BANK(NullObjectID.NULL_29028, new WorldPoint(2844, 3537, 0)),
SOUTHEAST_CORNER_OF_THE_MONASTERY(NullObjectID.NULL_29029, new WorldPoint(3056, 3482, 0)),
SOUTHEAST_CORNER_OF_THE_FISHING_PLATFORM(NullObjectID.NULL_29030, new WorldPoint(2787, 3277, 1)),
SOUTHEAST_CORNER_OF_THE_FISHING_PLATFORM(NullObjectID.NULL_29030, new WorldPoint(2787, 3277, 0)),
OUTSIDE_THE_SLAYER_TOWER_GARGOYLE_ROOM(NullObjectID.NULL_29031, new WorldPoint(3423, 3534, 2)),
ON_TOP_OF_TROLLHEIM_MOUNTAIN(NullObjectID.NULL_29032, new WorldPoint(2886, 3676, 0)),
FOUNTAIN_OF_HEROES(NullObjectID.NULL_29033, new WorldPoint(2916, 9891, 0)),

View File

@@ -174,7 +174,7 @@ public class DailyTasksPlugin extends Plugin
{
checkArrows(dailyReset);
}
if (this.showDynamite)
{
checkDynamite(dailyReset);
@@ -245,8 +245,9 @@ public class DailyTasksPlugin extends Plugin
private void checkArrows(boolean dailyReset)
{
if ((client.getVar(Varbits.DIARY_WESTERN_EASY) == 1)
&& (dailyReset || client.getVar(Varbits.DAILY_ARROWS_STATE) == 0))
if (client.getVar(Varbits.DIARY_WESTERN_EASY) == 1
&& (client.getVar(Varbits.DAILY_ARROWS_STATE) == 0
|| dailyReset))
{
sendChatMessage(ARROWS_MESSAGE);
}

View File

@@ -27,9 +27,7 @@ package net.runelite.client.plugins.gpu;
import com.jogamp.opengl.GL4;
import java.io.InputStream;
import java.util.Scanner;
import lombok.extern.slf4j.Slf4j;
@Slf4j
class GLUtil
{
private static final int ERR_LEN = 1024;

View File

@@ -111,7 +111,7 @@ enum WidgetOffset
RESIZABLE_2005_EQUIPMENT_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_EQUIPMENT_ICON, null, 2, null, null),
RESIZABLE_2005_MUSIC_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_MUSIC_ICON, null, 3, null, null),
RESIZABLE_BOTTOM_2005_INVENTORY_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_ICON, null, -2, null, null),
RESIZABLE_BOTTOM_2005_INVENTORY_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_ICON, 98, 2, null, null),
RESIZABLE_BOTTOM_2005_QUESTS_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_QUESTS_ICON, 67, 0, null, null),
RESIZABLE_BOTTOM_2005_EQUIPMENT_ICON(Skin.AROUND_2005, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_EQUIPMENT_ICON, 132, 2, null, null),

View File

@@ -85,7 +85,41 @@ enum ItemIdentification
TEAK_SAPLING(Type.SAPLING, "Teak", "TEAK", ItemID.TEAK_SAPLING, ItemID.TEAK_SEEDLING, ItemID.TEAK_SEEDLING_W),
MAHOGANY_SAPLING(Type.SAPLING, "Mahog", "MAHOG", ItemID.MAHOGANY_SAPLING, ItemID.MAHOGANY_SEEDLING, ItemID.MAHOGANY_SEEDLING_W),
CALQUAT_SAPLING(Type.SAPLING, "Calquat", "CALQ", ItemID.CALQUAT_SAPLING, ItemID.CALQUAT_SEEDLING, ItemID.CALQUAT_SEEDLING_W),
CELASTRUS_SAPLING(Type.SAPLING, "Celas", "CEL", ItemID.CELASTRUS_SAPLING, ItemID.CELASTRUS_SEEDLING, ItemID.CELASTRUS_SEEDLING_W);
CELASTRUS_SAPLING(Type.SAPLING, "Celas", "CEL", ItemID.CELASTRUS_SAPLING, ItemID.CELASTRUS_SEEDLING, ItemID.CELASTRUS_SEEDLING_W),
//Ores
COPPER_ORE(Type.ORE, "Copper", "COP", ItemID.COPPER_ORE),
TIN_ORE(Type.ORE, "Tin", "TIN", ItemID.TIN_ORE),
IRON_ORE(Type.ORE, "Iron", "IRO", ItemID.IRON_ORE),
SILVER_ORE(Type.ORE, "Silver", "SIL", ItemID.SILVER_ORE),
COAL_ORE(Type.ORE, "Coal", "COA", ItemID.COAL),
GOLD_ORE(Type.ORE, "Gold", "GOL", ItemID.GOLD_ORE),
MITHRIL_ORE(Type.ORE, "Mithril", "MIT", ItemID.MITHRIL_ORE),
ADAMANTITE_ORE(Type.ORE, "Adaman", "ADA", ItemID.ADAMANTITE_ORE),
RUNITE_ORE(Type.ORE, "Runite", "RUN", ItemID.RUNITE_ORE),
RUNE_ESSENCE(Type.ORE, "R.Ess", "R.E.", ItemID.RUNE_ESSENCE),
PURE_ESSENCE(Type.ORE, "P.Ess", "P.E.", ItemID.PURE_ESSENCE),
PAYDIRT(Type.ORE, "Paydirt", "PAY", ItemID.PAYDIRT),
AMETHYST(Type.ORE, "Amethy", "AME", ItemID.AMETHYST),
LOVAKITE_ORE(Type.ORE, "Lovakit", "LOV", ItemID.LOVAKITE_ORE),
BLURITE_ORE(Type.ORE, "Blurite", "BLU", ItemID.BLURITE_ORE),
ELEMENTAL_ORE(Type.ORE, "Element", "ELE", ItemID.ELEMENTAL_ORE),
DAEYALT_ORE(Type.ORE, "Daeyalt", "DAE", ItemID.DAEYALT_ORE),
LUNAR_ORE(Type.ORE, "Lunar", "LUN", ItemID.LUNAR_ORE),
//Gems
SAPPHIRE(Type.GEM, "Sapphir", "S", ItemID.UNCUT_SAPPHIRE, ItemID.SAPPHIRE),
EMERALD(Type.GEM, "Emerald", "E", ItemID.UNCUT_EMERALD, ItemID.EMERALD),
RUBY(Type.GEM, "Ruby", "R", ItemID.UNCUT_RUBY, ItemID.RUBY),
DIAMOND(Type.GEM, "Diamon", "DI", ItemID.UNCUT_DIAMOND, ItemID.DIAMOND),
OPAL(Type.GEM, "Opal", "OP", ItemID.UNCUT_OPAL, ItemID.OPAL),
JADE(Type.GEM, "Jade", "J", ItemID.UNCUT_JADE, ItemID.JADE),
RED_TOPAZ(Type.GEM, "Topaz", "T", ItemID.UNCUT_RED_TOPAZ, ItemID.RED_TOPAZ),
DRAGONSTONE(Type.GEM, "Dragon", "DR", ItemID.UNCUT_DRAGONSTONE, ItemID.DRAGONSTONE),
ONYX(Type.GEM, "Onyx", "ON", ItemID.UNCUT_ONYX, ItemID.ONYX),
ZENYTE(Type.GEM, "Zenyte", "Z", ItemID.UNCUT_ZENYTE, ItemID.ZENYTE);
final Type type;
final String medName;
@@ -126,6 +160,8 @@ enum ItemIdentification
{
SEED,
HERB,
SAPLING
SAPLING,
ORE,
GEM
}
}

View File

@@ -83,4 +83,24 @@ public interface ItemIdentificationConfig extends Config
{
return true;
}
@ConfigItem(
keyName = "showOres",
name = "Ores",
description = "Show identification on Ores"
)
default boolean showOres()
{
return false;
}
@ConfigItem(
keyName = "showGems",
name = "Gems",
description = "Show identification on Gems"
)
default boolean showGems()
{
return false;
}
}

View File

@@ -82,6 +82,18 @@ class ItemIdentificationOverlay extends WidgetItemOverlay
return;
}
break;
case ORE:
if (!plugin.isShowOres())
{
return;
}
break;
case GEM:
if (!plugin.isShowGems())
{
return;
}
break;
}
graphics.setFont(FontManager.getRunescapeSmallFont());

View File

@@ -64,6 +64,10 @@ public class ItemIdentificationPlugin extends Plugin
private boolean showHerbs;
@Getter(AccessLevel.PACKAGE)
private boolean showSaplings;
@Getter(AccessLevel.PACKAGE)
private boolean showOres;
@Getter(AccessLevel.PACKAGE)
private boolean showGems;
@Provides
ItemIdentificationConfig getConfig(ConfigManager configManager)
@@ -102,5 +106,7 @@ public class ItemIdentificationPlugin extends Plugin
this.showSeeds = config.showSeeds();
this.showHerbs = config.showHerbs();
this.showSaplings = config.showSaplings();
this.showOres = config.showOres();
this.showGems = config.showGems();
}
}

View File

@@ -393,7 +393,7 @@ class LootTrackerPanel extends PluginPanel
layoutPanel.add(logsContainer);
// Add error pane
errorPanel.setContent("Loot trackers", "You have not received any loot yet.");
errorPanel.setContent("Loot tracker", "You have not received any loot yet.");
add(errorPanel);
}

View File

@@ -63,6 +63,7 @@ import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemContainer;
@@ -75,6 +76,7 @@ import net.runelite.api.WorldType;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.ItemContainerChanged;
import net.runelite.api.events.LocalPlayerDeath;
import net.runelite.api.events.PlayerSpawned;
@@ -168,6 +170,8 @@ public class LootTrackerPlugin extends Plugin
private LootTrackerPanel panel;
private NavigationButton navButton;
private String eventType;
private boolean chestLooted;
private List<String> ignoredItems = new ArrayList<>();
private List<String> ignoredNPCs = new ArrayList<>();
private Multiset<Integer> inventorySnapshot;
@@ -376,6 +380,16 @@ public class LootTrackerPlugin extends Plugin
clientToolbar.removeNavigation(navButton);
lootTrackerClient = null;
lootRecords = new ArrayList<>();
chestLooted = false;
}
@Subscribe
public void onGameStateChanged(final GameStateChanged event)
{
if (event.getGameState() == GameState.LOADING)
{
chestLooted = false;
}
}
@Subscribe
@@ -476,10 +490,19 @@ public class LootTrackerPlugin extends Plugin
container = client.getItemContainer(InventoryID.BARROWS_REWARD);
break;
case (WidgetID.CHAMBERS_OF_XERIC_REWARD_GROUP_ID):
if (chestLooted)
{
return;
}
eventType = "Chambers of Xeric";
container = client.getItemContainer(InventoryID.CHAMBERS_OF_XERIC_CHEST);
chestLooted = true;
break;
case (WidgetID.THEATRE_OF_BLOOD_REWARD_GROUP_ID):
case (WidgetID.THEATRE_OF_BLOOD_GROUP_ID):
if (chestLooted)
{
return;
}
int region = WorldPoint.fromLocalInstance(client, client.getLocalPlayer().getLocalLocation()).getRegionID();
if (region != THEATRE_OF_BLOOD_REGION)
{
@@ -487,6 +510,7 @@ public class LootTrackerPlugin extends Plugin
}
eventType = "Theatre of Blood";
container = client.getItemContainer(InventoryID.THEATRE_OF_BLOOD_CHEST);
chestLooted = true;
break;
case (WidgetID.CLUE_SCROLL_REWARD_GROUP_ID):
// event type should be set via ChatMessage for clue scrolls.

View File

@@ -1299,6 +1299,10 @@ public class MenuEntrySwapperPlugin extends Plugin
swap(client, "empty", option, target, true);
}
else if (this.swapQuick && option.equals("enter"))
{
swap(client, "quick-enter", option, target, true);
}
else if (this.swapQuick && option.equals("ring"))
{
swap(client, "quick-start", option, target, true);

View File

@@ -37,7 +37,6 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.GameObject;
@@ -72,7 +71,6 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j
@PluginDescriptor(
name = "Mining",
description = "Show ore respawn timers and coal bag overlay",

View File

@@ -615,9 +615,7 @@ public class MotherlodePlugin extends Plugin
// on region changes the tiles get set to null
veins.clear();
rocks.clear();
}
else if (event.getGameState() == GameState.LOGGED_IN)
{
inMlm = checkInMlm();
}
else if (event.getGameState() == GameState.LOGIN_SCREEN)
@@ -700,7 +698,9 @@ public class MotherlodePlugin extends Plugin
private boolean checkInMlm()
{
if (client.getGameState() != GameState.LOGGED_IN)
GameState gameState = client.getGameState();
if (gameState != GameState.LOGGED_IN
&& gameState != GameState.LOADING)
{
return false;
}

View File

@@ -46,15 +46,12 @@ import net.runelite.api.NPC;
import net.runelite.api.NpcID;
import net.runelite.api.NullObjectID;
import net.runelite.api.Perspective;
import net.runelite.api.Projectile;
import net.runelite.api.ProjectileID;
import net.runelite.api.WallObject;
import net.runelite.api.coords.Angle;
import net.runelite.api.coords.Direction;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldArea;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.GroundObjectSpawned;
@@ -85,15 +82,11 @@ public class TelekineticRoom extends MTARoom
private NPC guardian;
private Maze maze;
private boolean telekinetic;
@Inject
private TelekineticRoom(final MTAConfig config, final Client client)
private TelekineticRoom(MTAConfig config, Client client)
{
super(config);
this.client = client;
this.telekinetic = config.telekinetic();
}
public void resetRoom()
@@ -138,9 +131,9 @@ public class TelekineticRoom extends MTARoom
@Subscribe
public void onGameTick(GameTick event)
{
if (!this.telekinetic
|| !inside()
|| client.getGameState() != GameState.LOGGED_IN)
if (!config.telekinetic()
|| !inside()
|| client.getGameState() != GameState.LOGGED_IN)
{
maze = null;
moves.clear();
@@ -183,14 +176,6 @@ public class TelekineticRoom extends MTARoom
}
else
{
for (Projectile projectile : client.getProjectiles())
{
if (projectile.getId() == ProjectileID.TELEKINETIC_SPELL)
{
return;
}
}
log.debug("Rebuilding moves due to guardian move");
this.moves = build();
}
@@ -219,23 +204,12 @@ public class TelekineticRoom extends MTARoom
{
NPC npc = event.getNpc();
if (npc.equals(guardian))
if (npc == guardian)
{
guardian = null;
}
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (!event.getGroup().equals("mta") || !event.getKey().equals("telekinetic"))
{
return;
}
this.telekinetic = config.telekinetic();
}
@Override
public boolean inside()
{
@@ -286,11 +260,7 @@ public class TelekineticRoom extends MTARoom
Direction next = moves.pop();
WorldArea areaNext = getIndicatorLine(next);
WorldPoint nearestNext = null;
if (areaNext != null)
{
nearestNext = nearest(areaNext, current);
}
WorldPoint nearestNext = nearest(areaNext, current);
if (moves.isEmpty())
{
@@ -302,20 +272,9 @@ public class TelekineticRoom extends MTARoom
Direction after = moves.peek();
moves.push(next);
WorldArea areaAfter = getIndicatorLine(after);
WorldPoint nearestAfter = null;
if (areaAfter != null)
{
nearestAfter = nearest(areaAfter, nearestNext);
}
WorldPoint nearestAfter = nearest(areaAfter, nearestNext);
if (areaNext != null)
{
return nearest(areaNext, nearestAfter);
}
else
{
return nearestAfter;
}
return nearest(areaNext, nearestAfter);
}
private static int manhattan(WorldPoint point1, WorldPoint point2)
@@ -405,7 +364,7 @@ public class TelekineticRoom extends MTARoom
WorldPoint nghbWorld = WorldPoint.fromLocal(client, neighbour);
if (!nghbWorld.equals(next)
&& !closed.contains(nghbWorld))
&& !closed.contains(nghbWorld))
{
int score = scores.get(next) + 1;
@@ -457,10 +416,10 @@ public class TelekineticRoom extends MTARoom
private LocalPoint[] neighbours(LocalPoint point)
{
return new LocalPoint[]
{
neighbour(point, Direction.NORTH), neighbour(point, Direction.SOUTH),
neighbour(point, Direction.EAST), neighbour(point, Direction.WEST)
};
{
neighbour(point, Direction.NORTH), neighbour(point, Direction.SOUTH),
neighbour(point, Direction.EAST), neighbour(point, Direction.WEST)
};
}
private LocalPoint neighbour(LocalPoint point, Direction direction)

View File

@@ -41,7 +41,6 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.ItemID;
@@ -67,7 +66,6 @@ import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.util.WildcardMatcher;
@Slf4j
@PluginDescriptor(
name = "NPC Aggression Timer",
description = "Highlights the unaggressive area of NPCs nearby and timer until it becomes active",

View File

@@ -42,7 +42,6 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import static net.runelite.api.Constants.REGION_SIZE;
import net.runelite.api.DecorativeObject;
@@ -72,7 +71,6 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j
@PluginDescriptor(
name = "Object Markers",
description = "Enable marking of objects using the Shift key",

View File

@@ -775,6 +775,14 @@ public class ScreenshotPlugin extends Plugin
{
File screenshotFile = new File(playerFolder, fileName + ".png");
// To make sure that screenshots don't get overwritten, check if file exists,
// and if it does create file with same name and suffix.
int i = 1;
while (screenshotFile.exists())
{
screenshotFile = new File(playerFolder, fileName + String.format("(%d)", i++) + ".png");
}
ImageIO.write(screenshot, "PNG", screenshotFile);
if (this.uploadScreenshot)

View File

@@ -34,7 +34,6 @@ import java.util.List;
import java.util.Set;
import javax.swing.JLabel;
import javax.swing.border.EmptyBorder;
import lombok.extern.slf4j.Slf4j;
import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.timetracking.TabContentPanel;
import net.runelite.client.plugins.timetracking.TimeTrackingConfig;
@@ -42,7 +41,6 @@ import net.runelite.client.plugins.timetracking.TimeablePanel;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager;
@Slf4j
public class FarmingTabPanel extends TabContentPanel
{
private final FarmingTracker farmingTracker;

View File

@@ -39,14 +39,12 @@ import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import lombok.AccessLevel;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout;
import net.runelite.client.ui.PluginPanel;
import net.runelite.http.api.worlds.World;
import net.runelite.http.api.worlds.WorldType;
@Slf4j
class WorldSwitcherPanel extends PluginPanel
{
private static final Color ODD_ROW = new Color(44, 44, 44);
@@ -413,4 +411,4 @@ class WorldSwitcherPanel extends PluginPanel
ACTIVITY,
PING
}
}
}

View File

@@ -37,7 +37,6 @@ import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.Skill;
@@ -49,7 +48,6 @@ import net.runelite.client.ui.components.PluginErrorPanel;
import net.runelite.client.util.LinkBrowser;
import okhttp3.HttpUrl;
@Slf4j
class XpPanel extends PluginPanel
{
private final Map<Skill, XpInfoBox> infoBoxes = new HashMap<>();

View File

@@ -34,12 +34,10 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
/**
* Wrapper for ${@link ScheduledExecutorService} that will log all uncaught exceptions as warning to console
*/
@Slf4j
@RequiredArgsConstructor
public class ExecutorServiceExceptionLogger implements ScheduledExecutorService
{

View File

@@ -116,7 +116,7 @@ public class MotherlodePluginTest
{
// set inMlm
GameStateChanged gameStateChanged = new GameStateChanged();
gameStateChanged.setGameState(GameState.LOGGED_IN);
gameStateChanged.setGameState(GameState.LOADING);
motherlodePlugin.onGameStateChanged(gameStateChanged);
// Initial sack count
@@ -178,4 +178,4 @@ public class MotherlodePluginTest
when(item.getQuantity()).thenReturn(quantity);
return item;
}
}
}