From 67e54157bc143664d61359cf02dd668cdaae3df0 Mon Sep 17 00:00:00 2001 From: Drakia Date: Sun, 20 Mar 2011 01:32:45 -0700 Subject: [PATCH] iConomy Handler --- src/net/TheDgtl/Stargate/iConomyHandler.java | 46 ++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/net/TheDgtl/Stargate/iConomyHandler.java diff --git a/src/net/TheDgtl/Stargate/iConomyHandler.java b/src/net/TheDgtl/Stargate/iConomyHandler.java new file mode 100644 index 0000000..c24a17e --- /dev/null +++ b/src/net/TheDgtl/Stargate/iConomyHandler.java @@ -0,0 +1,46 @@ +package net.TheDgtl.Stargate; + +import com.nijiko.coelho.iConomy.iConomy; +import com.nijiko.coelho.iConomy.system.Account; + +public class iConomyHandler { + public static boolean useiConomy = false; + public static iConomy iConomy = null; + + public static int useCost = 0; + public static int createCost = 0; + public static int destroyCost = 0; + public static String inFundMsg = "Insufficient Funds."; + + public static double getBalance(String player) { + if (useiConomy && iConomy != null) { + Account acc = com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(player); + if (acc == null) { + Stargate.log.info("[Stargate::ich::getBalance] Error fetching iConomy account for " + player); + return 0; + } + return acc.getBalance(); + } + return 0; + } + + public static boolean chargePlayer(String player, double amount) { + if (useiConomy && iConomy != null) { + Account acc = com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(player); + if (acc == null) { + Stargate.log.info("[Stargate::ich::chargePlayer] Error fetching iConomy account for " + player); + return false; + } + double balance = acc.getBalance(); + + if (balance < amount) return false; + acc.setBalance(balance - amount); + return true; + } + return true; + } + + public static boolean useiConomy() { + return (useiConomy && iConomy != null); + } +}