Added comments. fixed a bug where it wouldn't recognize an item if there is another item with the search term in its name.
This commit is contained in:
@@ -27,9 +27,11 @@ package net.runelite.client.plugins.pricecommands;
|
|||||||
|
|
||||||
import com.google.common.eventbus.Subscribe;
|
import com.google.common.eventbus.Subscribe;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.List;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.http.api.item.Item;
|
||||||
import net.runelite.api.MessageNode;
|
import net.runelite.api.MessageNode;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
@@ -61,6 +63,11 @@ public class PriceCommands extends Plugin
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if the chat message is a command.
|
||||||
|
*
|
||||||
|
* @param setMessage The chat message
|
||||||
|
*/
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onSetMessage(SetMessage setMessage)
|
public void onSetMessage(SetMessage setMessage)
|
||||||
{
|
{
|
||||||
@@ -92,6 +99,13 @@ public class PriceCommands extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Looks up the item price and changes the original message to the
|
||||||
|
* reponse.
|
||||||
|
*
|
||||||
|
* @param messageNode The chat message containing the command.
|
||||||
|
* @param search The item given with the command.
|
||||||
|
*/
|
||||||
private void lookup(MessageNode messageNode, String search)
|
private void lookup(MessageNode messageNode, String search)
|
||||||
{
|
{
|
||||||
SearchResult result;
|
SearchResult result;
|
||||||
@@ -106,9 +120,16 @@ public class PriceCommands extends Plugin
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result != null && result.getItems().size() == 1)
|
if (result != null && !result.getItems().isEmpty())
|
||||||
{
|
{
|
||||||
int itemId = result.getItems().get(0).getId();
|
Item item = retrieveFromList(result.getItems(), search);
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
logger.debug("Unable to find item {} in result {}", search, result);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int itemId = item.getId();
|
||||||
ItemPrice itemPrice;
|
ItemPrice itemPrice;
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -122,7 +143,7 @@ public class PriceCommands extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
int cost = itemPrice.getPrice();
|
int cost = itemPrice.getPrice();
|
||||||
String response = "Price of " + result.getItems().get(0).getName() + ": GE average " + String.format("%,d", cost);
|
String response = "Price of " + item.getName() + ": GE average " + String.format("%,d", cost);
|
||||||
|
|
||||||
logger.debug("Setting response {}", response);
|
logger.debug("Setting response {}", response);
|
||||||
|
|
||||||
@@ -131,4 +152,25 @@ public class PriceCommands extends Plugin
|
|||||||
client.refreshChat();
|
client.refreshChat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compares the names of the items in the list with the original input.
|
||||||
|
* returns the item if its name is equal to the original input or null
|
||||||
|
* if it can't find the item.
|
||||||
|
*
|
||||||
|
* @param items List of items.
|
||||||
|
* @param originalInput String with the original input.
|
||||||
|
* @return Item which has a name equal to the original input.
|
||||||
|
*/
|
||||||
|
private Item retrieveFromList(List<Item> items, String originalInput)
|
||||||
|
{
|
||||||
|
for (Item item : items)
|
||||||
|
{
|
||||||
|
if (item.getName().toLowerCase().equals(originalInput.toLowerCase()))
|
||||||
|
{
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user