ChestShop-3/com/Acrobot/ChestShop/Economy/Economy.java
Acrobot a49d51ce97 - Changed to the new, more robust event system
- Added partial transactions (You have 5 items, shop wants 10 - you can sell your items for half the price)
- Added a warning to the HTML generator
- Fixed Towny integration
- Fixed occasional ArrayOutOfBoundsExceptions
- Fixed an error when a shop couldn't be created because a sign (not shop sign) was on other side of the block
- Added SCL (SimpleChestLock) protection plugin to supported plugins
- Updated Metrics (and added a new asynch thread for startup)
- Removed Bukkit-1.0 workaround
- Fixed plugin.yml formatting
2012-02-16 19:09:37 +01:00

59 lines
1.7 KiB
Java

package com.Acrobot.ChestShop.Economy;
import com.Acrobot.ChestShop.Config.Config;
import com.Acrobot.ChestShop.Config.Property;
import com.Acrobot.ChestShop.Utils.uLongName;
/**
* @author Acrobot
* Economy management
*/
public class Economy {
public static EcoPlugin economy;
public static boolean hasAccount(String p) {
return economy.hasAccount(uLongName.getName(p));
}
public static void add(String name, float amount) {
String account = Config.getString(Property.SERVER_ECONOMY_ACCOUNT);
if (!account.isEmpty()) {
float tax = getTax(Property.TAX_AMOUNT, amount);
economy.add(account, tax);
amount = amount - tax;
}
economy.add(uLongName.getName(name), amount);
}
public static void addServer(String name, float amount){
String account = Config.getString(Property.SERVER_ECONOMY_ACCOUNT);
if (!account.isEmpty()) {
float tax = getTax(Property.SERVER_TAX_AMOUNT, amount);
economy.add(account, tax);
amount = amount - tax;
}
economy.add(uLongName.getName(name), amount);
}
public static float getTax(Property tax, float price){
return (Config.getFloat(tax) / 100F) * price;
}
public static void subtract(String name, float amount) {
economy.subtract(uLongName.getName(name), amount);
}
public static boolean hasEnough(String name, float amount) {
return economy.hasEnough(uLongName.getName(name), amount);
}
public static double balance(String name) {
return economy.balance(uLongName.getName(name));
}
public static String formatBalance(double amount) {
return economy.format(amount);
}
}