diff --git a/MobArena.jar b/MobArena.jar index 9e4025a..6d8a277 100644 Binary files a/MobArena.jar and b/MobArena.jar differ diff --git a/src/com/garbagemule/register/payment/Method.java b/src/com/garbagemule/register/payment/Method.java index d41c81e..b4c4ff4 100644 --- a/src/com/garbagemule/register/payment/Method.java +++ b/src/com/garbagemule/register/payment/Method.java @@ -88,6 +88,23 @@ public interface Method { */ public boolean hasBankAccount(String bank, String name); + /** + * Forces an account creation + * + * @param name Account name + * @return boolean + */ + public boolean createAccount(String name); + + /** + * Forces an account creation + * + * @param name Account name + * @param balance Initial account balance + * @return boolean + */ + public boolean createAccount(String name, Double balance); + /** * Returns a MethodAccount class for an account name. * diff --git a/src/com/garbagemule/register/payment/Methods.java b/src/com/garbagemule/register/payment/Methods.java index 488b676..41920a8 100644 --- a/src/com/garbagemule/register/payment/Methods.java +++ b/src/com/garbagemule/register/payment/Methods.java @@ -149,7 +149,7 @@ public class Methods { break; plugin = manager.getPlugin(name); - if (plugin == null) + if (plugin == null || !plugin.isEnabled()) continue; Method current = createMethod(plugin); @@ -172,8 +172,7 @@ public class Methods { continue; if (hasMethod()) { - match = true; - break; + match = true; break; } if (preferred.isEmpty()) diff --git a/src/com/garbagemule/register/payment/methods/BOSE6.java b/src/com/garbagemule/register/payment/methods/BOSE6.java index d5f7912..b3e1cbf 100644 --- a/src/com/garbagemule/register/payment/methods/BOSE6.java +++ b/src/com/garbagemule/register/payment/methods/BOSE6.java @@ -58,6 +58,23 @@ public class BOSE6 implements Method { || this.BOSEconomy.isBankMember(bank, name); } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + this.BOSEconomy.registerPlayer(name); + return true; + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + this.BOSEconomy.registerPlayer(name); + this.BOSEconomy.setPlayerMoney(name, balance, false); + return true; + } + public MethodAccount getAccount(String name) { if(!hasAccount(name)) return null; diff --git a/src/com/garbagemule/register/payment/methods/BOSE7.java b/src/com/garbagemule/register/payment/methods/BOSE7.java index adef3d5..376eaff 100644 --- a/src/com/garbagemule/register/payment/methods/BOSE7.java +++ b/src/com/garbagemule/register/payment/methods/BOSE7.java @@ -57,6 +57,23 @@ public class BOSE7 implements Method { return this.BOSEconomy.isBankOwner(bank, name) || this.BOSEconomy.isBankMember(bank, name); } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + this.BOSEconomy.registerPlayer(name); + return true; + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + this.BOSEconomy.registerPlayer(name); + this.BOSEconomy.setPlayerMoney(name, balance, false); + return true; + } + public MethodAccount getAccount(String name) { if(!hasAccount(name)) return null; diff --git a/src/com/garbagemule/register/payment/methods/EE17.java b/src/com/garbagemule/register/payment/methods/EE17.java index 1e1f27b..ed282e8 100644 --- a/src/com/garbagemule/register/payment/methods/EE17.java +++ b/src/com/garbagemule/register/payment/methods/EE17.java @@ -3,9 +3,6 @@ package com.garbagemule.register.payment.methods; import com.garbagemule.register.payment.Method; import com.earth2me.essentials.Essentials; import com.earth2me.essentials.api.Economy; -import com.earth2me.essentials.api.NoLoanPermittedException; -import com.earth2me.essentials.api.UserDoesNotExistException; - import org.bukkit.plugin.Plugin; @@ -58,6 +55,30 @@ public class EE17 implements Method { return false; } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + Economy.createNPC(name); + return true; + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + Economy.createNPC(name); + + try { + Economy.setMoney(name, balance); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); + return false; + } + + return true; + } + public MethodAccount getAccount(String name) { if(!hasAccount(name)) return null; @@ -93,8 +114,8 @@ public class EE17 implements Method { try { balance = Economy.getMoney(this.name); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] Failed to grab balance in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); } return balance; @@ -103,11 +124,8 @@ public class EE17 implements Method { public boolean set(double amount) { try { Economy.setMoney(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); - return false; - } catch (NoLoanPermittedException ex) { - System.out.println("[REGISTER] No loan permitted in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); return false; } @@ -117,11 +135,8 @@ public class EE17 implements Method { public boolean add(double amount) { try { Economy.add(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); - return false; - } catch (NoLoanPermittedException ex) { - System.out.println("[REGISTER] No loan permitted in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); return false; } @@ -131,11 +146,8 @@ public class EE17 implements Method { public boolean subtract(double amount) { try { Economy.subtract(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); - return false; - } catch (NoLoanPermittedException ex) { - System.out.println("[REGISTER] No loan permitted in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); return false; } @@ -145,11 +157,8 @@ public class EE17 implements Method { public boolean multiply(double amount) { try { Economy.multiply(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); - return false; - } catch (NoLoanPermittedException ex) { - System.out.println("[REGISTER] No loan permitted in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); return false; } @@ -159,11 +168,8 @@ public class EE17 implements Method { public boolean divide(double amount) { try { Economy.divide(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); - return false; - } catch (NoLoanPermittedException ex) { - System.out.println("[REGISTER] No loan permitted in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); return false; } @@ -173,8 +179,8 @@ public class EE17 implements Method { public boolean hasEnough(double amount) { try { return Economy.hasEnough(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); } return false; @@ -183,8 +189,8 @@ public class EE17 implements Method { public boolean hasOver(double amount) { try { return Economy.hasMore(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); } return false; @@ -193,8 +199,8 @@ public class EE17 implements Method { public boolean hasUnder(double amount) { try { return Economy.hasLess(name, amount); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); } return false; @@ -203,8 +209,8 @@ public class EE17 implements Method { public boolean isNegative() { try { return Economy.isNegative(name); - } catch (UserDoesNotExistException ex) { - System.out.println("[REGISTER] User does not exist in Essentials Economy: " + ex.getMessage()); + } catch (Exception ex) { + System.out.println("[REGISTER] Error in Essentials Economy: " + ex.getMessage()); } return false; diff --git a/src/com/garbagemule/register/payment/methods/MCUR.java b/src/com/garbagemule/register/payment/methods/MCUR.java index 558e0a9..c6a758c 100644 --- a/src/com/garbagemule/register/payment/methods/MCUR.java +++ b/src/com/garbagemule/register/payment/methods/MCUR.java @@ -53,6 +53,16 @@ public class MCUR implements Method { return false; } + public boolean createAccount(String name) { + CurrencyList.setValue((String) CurrencyList.maxCurrency(name)[0], name, 0); + return true; + } + + public boolean createAccount(String name, Double balance) { + CurrencyList.setValue((String) CurrencyList.maxCurrency(name)[0], name, balance); + return true; + } + public MethodAccount getAccount(String name) { return new MCurrencyAccount(name); } diff --git a/src/com/garbagemule/register/payment/methods/iCo4.java b/src/com/garbagemule/register/payment/methods/iCo4.java index 7599d9a..e4a2ede 100644 --- a/src/com/garbagemule/register/payment/methods/iCo4.java +++ b/src/com/garbagemule/register/payment/methods/iCo4.java @@ -53,6 +53,32 @@ public class iCo4 implements Method { return false; } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + try { + com.nijiko.coelho.iConomy.iConomy.getBank().addAccount(name); + } catch(Exception E) { + return false; + } + + return true; + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + try { + com.nijiko.coelho.iConomy.iConomy.getBank().addAccount(name, balance); + } catch(Exception E) { + return false; + } + + return true; + } + public MethodAccount getAccount(String name) { return new iCoAccount(com.nijiko.coelho.iConomy.iConomy.getBank().getAccount(name)); } diff --git a/src/com/garbagemule/register/payment/methods/iCo5.java b/src/com/garbagemule/register/payment/methods/iCo5.java index 1b22787..77c73bd 100644 --- a/src/com/garbagemule/register/payment/methods/iCo5.java +++ b/src/com/garbagemule/register/payment/methods/iCo5.java @@ -56,6 +56,25 @@ public class iCo5 implements Method { return (hasBank(bank)) && com.iConomy.iConomy.getBank(bank).hasAccount(name); } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + return com.iConomy.iConomy.Accounts.create(name); + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + if(!com.iConomy.iConomy.Accounts.create(name)) + return false; + + getAccount(name).set(balance); + + return true; + } + public MethodAccount getAccount(String name) { return new iCoAccount(com.iConomy.iConomy.getAccount(name)); } diff --git a/src/com/garbagemule/register/payment/methods/iCo6.java b/src/com/garbagemule/register/payment/methods/iCo6.java index 4f2cb1b..ca013f0 100644 --- a/src/com/garbagemule/register/payment/methods/iCo6.java +++ b/src/com/garbagemule/register/payment/methods/iCo6.java @@ -55,6 +55,20 @@ public class iCo6 implements Method { return false; } + public boolean createAccount(String name) { + if(hasAccount(name)) + return false; + + return (new Accounts()).create(name); + } + + public boolean createAccount(String name, Double balance) { + if(hasAccount(name)) + return false; + + return (new Accounts()).create(name, balance); + } + public MethodAccount getAccount(String name) { return new iCoAccount((new Accounts()).get(name)); }