package me.desht.chesscraft.util;
import me.desht.dhutils.LogUtils;
import net.milkbowl.vault.economy.Economy;
import org.bukkit.OfflinePlayer;
import java.text.DecimalFormat;
public class EconomyUtil {
private static Economy economy;
private static boolean legacyMode;
public static void init(Economy economy, boolean legacyMode) {
EconomyUtil.economy = economy;
EconomyUtil.legacyMode = legacyMode;
}
public static boolean enabled() {
return economy != null && economy.isEnabled();
}
public static boolean has(OfflinePlayer player, double amount) {
return enabled() && (legacyMode ? economy.has(player.getName(), amount) : economy.has(player, amount));
}
public static double getBalance(OfflinePlayer player) {
if (!enabled()) {
return 0.0;
} else {
return legacyMode ? economy.getBalance(player.getName()) : economy.getBalance(player);
}
}
public static void deposit(OfflinePlayer player, double amount) {
if (enabled()) {
if (legacyMode) {
economy.depositPlayer(player.getName(), amount);
} else {
economy.depositPlayer(player, amount);
}
}
}
public static void withdraw(OfflinePlayer player, double amount) {
if (enabled()) {
if (legacyMode) {
economy.withdrawPlayer(player.getName(), amount);
} else {
economy.withdrawPlayer(player, amount);
}
}
}
public static String formatStakeStr(double stake) {
try {
if (enabled()) {
return economy.format(stake);
}
} catch (Exception e) {
LogUtils.warning("Caught exception from " + economy.getName() + " while trying to format quantity " + stake + ":");
e.printStackTrace();
LogUtils.warning("ChessCraft will continue but you should verify your economy plugin configuration.");
}
return new DecimalFormat("#0.00").format(stake);
}
}