Jump to content

Loot Above Price Range


Recommended Posts

Posted (edited)

API

package me.Sinatra.Machine.Data;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

public class GrandExchangeAPI
{
  private static final String BASE = "https://api.rsbuddy.com/grandExchange?a=guidePrice&i=";
  
  public int getOverallPrice(int itemID)
    throws IOException
  {
    return parse(itemID, "overall");
  }
  
  public int getBuyingPrice(int itemID)
    throws IOException
  {
    return parse(itemID, "buying");
  }
  
  public int getSellingPrice(int itemID)
    throws IOException
  {
    return parse(itemID, "selling");
  }
  
  private int parse(int itemID, String choice)
    throws IOException
  {
    URL url = new URL("https://api.rsbuddy.com/grandExchange?a=guidePrice&i=" + itemID);
    BufferedReader file = new BufferedReader(new InputStreamReader(url.openStream()));
    
    String price = null;
    String line;
    while ((line = file.readLine()) != null)
    {
      if (line.contains("{")) {
        price = line.trim();
      }
    }
    if (choice.equals("buying")) {
      price = price.substring(price.indexOf(",") + 10, nthOccurrence(price, ',', 1)).trim();
    } else if (choice.equals("selling")) {
      price = price.substring(nthOccurrence(price, ',', 2) + 11, price.indexOf("sellingQuantity") - 2).trim();
    } else {
      price = price.substring(price.indexOf(":") + 1, price.indexOf(",")).trim();
    }
    file.close();
    return Integer.parseInt(price);
  }
  
  private int nthOccurrence(String str, char c, int n)
  {
    int pos = str.indexOf(c, 0);
    while ((n-- > 0) && (pos != -1)) {
      pos = str.indexOf(c, pos + 1);
    }
    return pos;
  }
}

Usage

//in some class
private GrandExchangeAPI grandExchange;



//loot usage
this.grandExchange = new GrandExchangeAPI();

if conditions for loot
int worth = this.grandExchange.getSellingPrice(loot.getId());
if worth condition
     take

//Simple layout..clean it up and try to use it yourself.
//hope I managed to give insight
Edited by Sinatra
  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...