ChestShop-3/com/Acrobot/Breeze/Utils/PriceUtil.java
Acrobot d1732552b0 - Made the plugin more event-driven
- Added PreTransactionEvent which can be cancelled
- Fixed not placing B/S before prices
- Updated Heroes
2012-07-07 19:24:06 +02:00

78 lines
1.8 KiB
Java

package com.Acrobot.Breeze.Utils;
/**
* @author Acrobot
*/
public class PriceUtil {
public static final double NO_PRICE = -1;
public static final double FREE = 0;
public static final String FREE_TEXT = "free";
/**
* Gets the price from the text
* @param text Text to check
* @param indicator Price indicator (for example, B for buy)
* @return price
*/
public static double get(String text, char indicator) {
String[] split = text.replace(" ", "").toLowerCase().split(":");
String character = String.valueOf(indicator);
for (String part : split) {
if (!part.contains(character)) {
continue;
}
part = part.replace(character, "");
if (part.equals(FREE_TEXT)) {
return FREE;
}
if (NumberUtil.isDouble(part)) {
double price = Double.valueOf(part);
if (price == 0) {
return NO_PRICE;
} else {
return price;
}
}
}
return NO_PRICE;
}
/**
* Gets the buy price from te text
* @param text Text to check
* @return Buy price
*/
public static double getBuyPrice(String text) {
return get(text, 'b');
}
/**
* Gets the sell price from te text
* @param text Text to check
* @return Sell price
*/
public static double getSellPrice(String text) {
return get(text, 's');
}
/**
* Checks if the string is a valid price
* @param text Text to check
* @return Is the string a valid price
*/
public static boolean textIsPrice(String text) {
if (NumberUtil.isFloat(text)) {
return true;
}
return text.trim().equalsIgnoreCase("free");
}
}