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));
}