xp tracker plugin: Remove WorldClient usages

The xp tracker plugin does not need to query for a list of available
worlds, it only needs to know the current world type, which can be found
using `Client.getWorldType()` instead. As such, usages of WorldClient
are substituted with this simpler method instead.

Closes runelite/runelite#4190
This commit is contained in:
Jordan Atwood
2018-07-05 17:15:14 -07:00
parent aa7f05833d
commit b274a25a6f
2 changed files with 3 additions and 45 deletions

View File

@@ -29,7 +29,6 @@ import static com.google.common.base.MoreObjects.firstNonNull;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Binder; import com.google.inject.Binder;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.Objects; import java.util.Objects;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -40,6 +39,7 @@ import net.runelite.api.GameState;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.VarPlayer; import net.runelite.api.VarPlayer;
import net.runelite.api.WorldType;
import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -49,10 +49,6 @@ import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.plugins.xptracker.XpWorldType.NORMAL; import static net.runelite.client.plugins.xptracker.XpWorldType.NORMAL;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.PluginToolbar;
import net.runelite.http.api.worlds.World;
import net.runelite.http.api.worlds.WorldClient;
import net.runelite.http.api.worlds.WorldResult;
import net.runelite.http.api.worlds.WorldType;
import net.runelite.http.api.xp.XpClient; import net.runelite.http.api.xp.XpClient;
@PluginDescriptor( @PluginDescriptor(
@@ -77,7 +73,6 @@ public class XpTrackerPlugin extends Plugin
private final XpState xpState = new XpState(); private final XpState xpState = new XpState();
private WorldResult worlds;
private XpWorldType lastWorldType; private XpWorldType lastWorldType;
private String lastUsername; private String lastUsername;
@@ -92,24 +87,6 @@ public class XpTrackerPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
WorldClient worldClient = new WorldClient();
try
{
worlds = worldClient.lookupWorlds();
if (worlds != null)
{
log.debug("Worlds list contains {} worlds", worlds.getWorlds().size());
}
else
{
log.warn("Unable to look up worlds");
}
}
catch (IOException e)
{
log.warn("Error looking up worlds list", e);
}
xpPanel = new XpPanel(this, client, skillIconManager); xpPanel = new XpPanel(this, client, skillIconManager);
BufferedImage icon; BufferedImage icon;
@@ -142,7 +119,7 @@ public class XpTrackerPlugin extends Plugin
{ {
// LOGGED_IN is triggered between region changes too. // LOGGED_IN is triggered between region changes too.
// Check that the username changed or the world type changed. // Check that the username changed or the world type changed.
XpWorldType type = getWorldType(client.getWorld()); XpWorldType type = worldSetToType(client.getWorldType());
if (!Objects.equals(client.getUsername(), lastUsername) || lastWorldType != type) if (!Objects.equals(client.getUsername(), lastUsername) || lastWorldType != type)
{ {
@@ -168,25 +145,6 @@ public class XpTrackerPlugin extends Plugin
} }
} }
private XpWorldType getWorldType(int worldNum)
{
if (worlds == null)
{
return null;
}
World world = worlds.findWorld(worldNum);
if (world == null)
{
log.warn("Logged into nonexistent world {}?", client.getWorld());
return null;
}
XpWorldType type = worldSetToType(world.getTypes());
return type;
}
private XpWorldType worldSetToType(EnumSet<WorldType> types) private XpWorldType worldSetToType(EnumSet<WorldType> types)
{ {
XpWorldType xpType = NORMAL; XpWorldType xpType = NORMAL;

View File

@@ -24,7 +24,7 @@
*/ */
package net.runelite.client.plugins.xptracker; package net.runelite.client.plugins.xptracker;
import net.runelite.http.api.worlds.WorldType; import net.runelite.api.WorldType;
enum XpWorldType enum XpWorldType
{ {