diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java index c7db3ab0ab..ab4e78c9a0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeConfig.java @@ -57,13 +57,13 @@ public interface GrandExchangeConfig extends Config @ConfigItem( position = 3, - keyName = "enableOsbPrices", - name = "Enable OSB actively traded prices", - description = "Shows the OSBuddy actively traded price on the GE buy interface" + keyName = "showActivelyTradedPrice", + name = "Enable actively traded prices", + description = "Shows the actively traded price on the GE buy interface, sourced from the RuneScape wiki" ) - default boolean enableOsbPrices() + default boolean showActivelyTradedPrice() { - return false; + return true; } @ConfigItem( diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index f3d9b513b3..0517769726 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -36,7 +36,6 @@ import com.google.gson.Gson; import com.google.inject.Provides; import java.awt.Color; import java.awt.image.BufferedImage; -import java.io.IOException; import java.net.NetworkInterface; import java.net.SocketException; import java.time.Duration; @@ -48,7 +47,6 @@ import java.util.EnumSet; import java.util.Enumeration; import java.util.List; import java.util.Locale; -import java.util.concurrent.ScheduledExecutorService; import java.util.function.ToIntFunction; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -105,7 +103,6 @@ import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.ge.GrandExchangeTrade; import net.runelite.http.api.item.ItemStats; import net.runelite.http.api.osbuddy.OSBGrandExchangeClient; -import net.runelite.http.api.osbuddy.OSBGrandExchangeResult; import net.runelite.http.api.worlds.WorldType; import okhttp3.OkHttpClient; import org.apache.commons.lang3.time.DurationFormatUtils; @@ -124,7 +121,6 @@ public class GrandExchangePlugin extends Plugin private static final int GE_LOGIN_BURST_WINDOW = 2; // ticks private static final int OFFER_CONTAINER_ITEM = 21; private static final int OFFER_DEFAULT_ITEM_ID = 6512; - private static final String OSB_GE_TEXT = "
OSBuddy Actively traded price: "; private static final String BUY_LIMIT_GE_TEXT = "
Buy limit: "; private static final String BUY_LIMIT_KEY = "buylimit"; @@ -173,9 +169,6 @@ public class GrandExchangePlugin extends Plugin @Inject private Notifier notifier; - @Inject - private ScheduledExecutorService executorService; - @Inject private SessionManager sessionManager; @@ -189,16 +182,10 @@ public class GrandExchangePlugin extends Plugin private Widget grandExchangeItem; private String grandExchangeExamine; - private int osbItem; - private OSBGrandExchangeResult osbGrandExchangeResult; - @Inject private GrandExchangeClient grandExchangeClient; private int lastLoginTick; - @Inject - private OSBGrandExchangeClient osbGrandExchangeClient; - private boolean wasFuzzySearch; private String machineUuid; @@ -318,9 +305,6 @@ public class GrandExchangePlugin extends Plugin grandExchangeClient.setUuid(null); } - osbItem = -1; - osbGrandExchangeResult = null; - lastLoginTick = -1; } @@ -880,50 +864,17 @@ public class GrandExchangePlugin extends Plugin } } + if (config.showActivelyTradedPrice()) + { + final int price = itemManager.getItemPriceWithSource(itemId, true); + if (price > 0) + { + text += "
Actively traded price: " + QuantityFormatter.formatNumber(price); + } + } + grandExchangeExamine = text; geText.setText(text); - - if (!config.enableOsbPrices()) - { - return; - } - - // If we already have the result, use it - if (osbGrandExchangeResult != null && osbGrandExchangeResult.getItem_id() == itemId && osbGrandExchangeResult.getOverall_average() > 0) - { - grandExchangeExamine = text + OSB_GE_TEXT + QuantityFormatter.formatNumber(osbGrandExchangeResult.getOverall_average()); - geText.setText(grandExchangeExamine); - } - - if (osbItem == itemId) - { - // avoid starting duplicate lookups - return; - } - - osbItem = itemId; - - log.debug("Looking up OSB item price {}", itemId); - - final String start = text; - executorService.submit(() -> - { - try - { - final OSBGrandExchangeResult result = osbGrandExchangeClient.lookupItem(itemId); - if (result != null && result.getOverall_average() > 0) - { - osbGrandExchangeResult = result; - // Update the text on the widget too - grandExchangeExamine = start + OSB_GE_TEXT + QuantityFormatter.formatNumber(result.getOverall_average()); - geText.setText(grandExchangeExamine); - } - } - catch (IOException e) - { - log.debug("Error getting price of item {}", itemId, e); - } - }); } static void openGeLink(String name, int itemId)