Jump to content

Loot Above Price Range


Juggles

Recommended Posts

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
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

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