diff options
author | snowleo <schneeleo@gmail.com> | 2011-07-16 14:04:30 +0200 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-07-16 14:04:30 +0200 |
commit | 5ad12b52f87175e289f1af513baa216a6040f716 (patch) | |
tree | c362c80e54c1cdebea5b55896b923a337643b3c9 | |
parent | e6685abe4d437b89f3ecfc73b0f2f16838d00b6f (diff) | |
download | Essentials-5ad12b52f87175e289f1af513baa216a6040f716.tar Essentials-5ad12b52f87175e289f1af513baa216a6040f716.tar.gz Essentials-5ad12b52f87175e289f1af513baa216a6040f716.tar.lz Essentials-5ad12b52f87175e289f1af513baa216a6040f716.tar.xz Essentials-5ad12b52f87175e289f1af513baa216a6040f716.zip |
Register API #8f66f7dcae80945250301a9d9e644a74ab28d0b6
Supports BOSE7
-rw-r--r-- | Essentials/nbproject/project.properties | 6 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/register/payment/Methods.java | 48 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java (renamed from Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE.java) | 25 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java | 188 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java | 2 | ||||
-rw-r--r-- | lib/BOSEconomy.jar | bin | 130814 -> 0 bytes | |||
-rw-r--r-- | lib/BOSEconomy7.jar | bin | 0 -> 155916 bytes |
7 files changed, 232 insertions, 37 deletions
diff --git a/Essentials/nbproject/project.properties b/Essentials/nbproject/project.properties index 850d0d4d8..f8b41cf41 100644 --- a/Essentials/nbproject/project.properties +++ b/Essentials/nbproject/project.properties @@ -26,7 +26,7 @@ dist.jar=${dist.dir}/Essentials.jar dist.javadoc.dir=${dist.dir}/javadoc endorsed.classpath= excludes= -file.reference.BOSEconomy.jar=../lib/BOSEconomy.jar +file.reference.BOSEconomy7.jar=../lib/BOSEconomy7.jar file.reference.craftbukkit-0.0.1-SNAPSHOT.jar=..\\lib\\craftbukkit-0.0.1-SNAPSHOT.jar file.reference.iCo4.jar=../lib/iCo4.jar file.reference.iCo5.jar=../lib/iCo5.jar @@ -37,9 +37,9 @@ jar.compress=false javac.classpath=\ ${file.reference.Permissions3.jar}:\ ${file.reference.craftbukkit-0.0.1-SNAPSHOT.jar}:\ - ${file.reference.BOSEconomy.jar}:\ ${file.reference.iCo4.jar}:\ - ${file.reference.iCo5.jar} + ${file.reference.iCo5.jar}:\ + ${file.reference.BOSEconomy7.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false diff --git a/Essentials/src/com/earth2me/essentials/register/payment/Methods.java b/Essentials/src/com/earth2me/essentials/register/payment/Methods.java index 71e0adae0..0ebbcfb84 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/Methods.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/Methods.java @@ -1,14 +1,12 @@ package com.earth2me.essentials.register.payment; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; + import java.util.HashSet; import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.bukkit.plugin.Plugin; -import org.bukkit.plugin.PluginManager; - -/*** +/** * Methods.java * Controls the getting / setting of methods & the method of payment used. * @@ -19,18 +17,36 @@ import org.bukkit.plugin.PluginManager; public class Methods { private boolean self = false; private Method Method = null; - private String preferred = ""; + private String preferred = ""; private Set<Method> Methods = new HashSet<Method>(); private Set<String> Dependencies = new HashSet<String>(); - private Set<Method> Attachables = new HashSet<Method>(); + private Set<Method> Attachables = new HashSet<Method>(); public Methods() { + this._init(); + } + + /** + * Allows you to set which economy plugin is most preferred. + * + * @param preferred - preferred economy plugin + */ + public Methods(String preferred) { + this._init(); + + if(this.Dependencies.contains(preferred)) { + this.preferred = preferred; + } + } + + private void _init() { this.addMethod("iConomy", new com.earth2me.essentials.register.payment.methods.iCo4()); this.addMethod("iConomy", new com.earth2me.essentials.register.payment.methods.iCo5()); - this.addMethod("BOSEconomy", new com.earth2me.essentials.register.payment.methods.BOSE()); + this.addMethod("BOSEconomy", new com.earth2me.essentials.register.payment.methods.BOSE6()); + this.addMethod("BOSEconomy", new com.earth2me.essentials.register.payment.methods.BOSE7()); } - public Set<String> getDependencies() { + public Set<String> getDependencies() { return Dependencies; } @@ -60,7 +76,7 @@ public class Methods { int count = 0; boolean match = false; - Plugin plugin = null; + Plugin plugin; PluginManager manager = method.getServer().getPluginManager(); for(String name: this.getDependencies()) { @@ -68,14 +84,6 @@ public class Methods { if(method.getDescription().getName().equals(name)) plugin = method; else plugin = manager.getPlugin(name); if(plugin == null) continue; - if(!plugin.isEnabled()) { - this.self = true; - //Logger.getLogger("Minecraft").log(Level.SEVERE, name + " Plugin was found, but not enabled before Essentials. Read the Essentials thread for help."); - //manager.enablePlugin(plugin); - } - - if(plugin == null) continue; - Method current = this.createMethod(plugin); if(current == null) continue; @@ -86,7 +94,7 @@ public class Methods { } } - if(!this.preferred.isEmpty()) { + if(!this.preferred.isEmpty()) { do { if(hasMethod()) { match = true; diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java index cce5691b9..6293f81be 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE6.java @@ -4,7 +4,7 @@ import com.earth2me.essentials.register.payment.Method; import cosine.boseconomy.BOSEconomy; import org.bukkit.plugin.Plugin; -public class BOSE implements Method { +public class BOSE6 implements Method { private BOSEconomy BOSEconomy; public BOSEconomy getPlugin() { @@ -38,7 +38,7 @@ public class BOSE implements Method { } public boolean hasBankAccount(String bank, String name) { - return this.BOSEconomy.isBankOwner(bank, name); + return this.BOSEconomy.isBankOwner(bank, name) || this.BOSEconomy.isBankMember(bank, name); } public MethodAccount getAccount(String name) { @@ -47,11 +47,12 @@ public class BOSE implements Method { } public MethodBankAccount getBankAccount(String bank, String name) { - return new BOSEBankAccount(bank, name, BOSEconomy); + if(!hasBankAccount(bank, name)) return null; + return new BOSEBankAccount(bank, BOSEconomy); } public boolean isCompatible(Plugin plugin) { - return plugin.getDescription().getName().equalsIgnoreCase("boseconomy") && plugin instanceof BOSEconomy; + return plugin.getDescription().getName().equalsIgnoreCase("boseconomy") && plugin instanceof BOSEconomy && plugin.getDescription().getVersion().equals("0.6.2"); } public void setPlugin(Plugin plugin) { @@ -122,11 +123,9 @@ public class BOSE implements Method { public class BOSEBankAccount implements MethodBankAccount { private String bank; - private String name; private BOSEconomy BOSEconomy; - public BOSEBankAccount(String bank, String name, BOSEconomy bOSEconomy) { - this.name = name; + public BOSEBankAccount(String bank, BOSEconomy bOSEconomy) { this.bank = bank; this.BOSEconomy = bOSEconomy; } @@ -140,36 +139,36 @@ public class BOSE implements Method { } public double balance() { - return Double.valueOf(this.BOSEconomy.getBankMoney(name)); + return Double.valueOf(this.BOSEconomy.getBankMoney(bank)); } public boolean set(double amount) { int IntAmount = (int)Math.ceil(amount); - return this.BOSEconomy.setBankMoney(name, IntAmount, true); + return this.BOSEconomy.setBankMoney(bank, IntAmount, true); } public boolean add(double amount) { int IntAmount = (int)Math.ceil(amount); int balance = (int)this.balance(); - return this.BOSEconomy.setBankMoney(this.name, (balance + IntAmount), false); + return this.BOSEconomy.setBankMoney(bank, (balance + IntAmount), false); } public boolean subtract(double amount) { int IntAmount = (int)Math.ceil(amount); int balance = (int)this.balance(); - return this.BOSEconomy.setBankMoney(this.name, (balance - IntAmount), false); + return this.BOSEconomy.setBankMoney(bank, (balance - IntAmount), false); } public boolean multiply(double amount) { int IntAmount = (int)Math.ceil(amount); int balance = (int)this.balance(); - return this.BOSEconomy.setBankMoney(this.name, (balance * IntAmount), false); + return this.BOSEconomy.setBankMoney(bank, (balance * IntAmount), false); } public boolean divide(double amount) { int IntAmount = (int)Math.ceil(amount); int balance = (int)this.balance(); - return this.BOSEconomy.setBankMoney(this.name, (balance / IntAmount), false); + return this.BOSEconomy.setBankMoney(bank, (balance / IntAmount), false); } public boolean hasEnough(double amount) { diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java new file mode 100644 index 000000000..3612c89e4 --- /dev/null +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/BOSE7.java @@ -0,0 +1,188 @@ +package com.earth2me.essentials.register.payment.methods; + +import com.earth2me.essentials.register.payment.Method; +import cosine.boseconomy.BOSEconomy; +import org.bukkit.plugin.Plugin; + +/** + * @author Acrobot + */ + +public class BOSE7 implements Method { + private BOSEconomy BOSEconomy; + + public BOSEconomy getPlugin() { + return this.BOSEconomy; + } + + public String getName() { + return "BOSEconomy"; + } + + public String getVersion() { + return "0.7.0"; + } + + public String format(double amount) { + String currency = this.BOSEconomy.getMoneyNamePlural(); + if(amount == 1) currency = this.BOSEconomy.getMoneyName(); + return amount + " " + currency; + } + + public boolean hasBanks() { + return true; + } + + public boolean hasBank(String bank) { + return this.BOSEconomy.bankExists(bank); + } + + public boolean hasAccount(String name) { + return this.BOSEconomy.playerRegistered(name, false); + } + + public boolean hasBankAccount(String bank, String name) { + return this.BOSEconomy.isBankOwner(bank, name) || this.BOSEconomy.isBankMember(bank, name); + } + + public MethodAccount getAccount(String name) { + if(!hasAccount(name)) return null; + return new BOSEAccount(name, this.BOSEconomy); + } + + public MethodBankAccount getBankAccount(String bank, String name) { + if(!hasBankAccount(bank, name)) return null; + return new BOSEBankAccount(bank, BOSEconomy); + } + + public boolean isCompatible(Plugin plugin) { + return plugin.getDescription().getName().equalsIgnoreCase("boseconomy") && plugin instanceof BOSEconomy && !plugin.getDescription().getVersion().equals("0.6.2"); + } + + public void setPlugin(Plugin plugin) { + BOSEconomy = (BOSEconomy)plugin; + } + + public class BOSEAccount implements MethodAccount { + private String name; + private BOSEconomy BOSEconomy; + + public BOSEAccount(String name, BOSEconomy bOSEconomy) { + this.name = name; + this.BOSEconomy = bOSEconomy; + } + + public double balance() { + return this.BOSEconomy.getPlayerMoneyDouble(this.name); + } + + public boolean set(double amount) { + return this.BOSEconomy.setPlayerMoney(this.name, amount, false); + } + + public boolean add(double amount) { + return this.BOSEconomy.addPlayerMoney(this.name, amount, false); + } + + public boolean subtract(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setPlayerMoney(this.name, (balance - amount), false); + } + + public boolean multiply(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setPlayerMoney(this.name, (balance * amount), false); + } + + public boolean divide(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setPlayerMoney(this.name, (balance / amount), false); + } + + public boolean hasEnough(double amount) { + return (this.balance() >= amount); + } + + public boolean hasOver(double amount) { + return (this.balance() > amount); + } + + public boolean hasUnder(double amount) { + return (this.balance() < amount); + } + + public boolean isNegative() { + return (this.balance() < 0); + } + + public boolean remove() { + return false; + } + } + + public class BOSEBankAccount implements MethodBankAccount { + private String bank; + private BOSEconomy BOSEconomy; + + public BOSEBankAccount(String bank, BOSEconomy bOSEconomy) { + this.bank = bank; + this.BOSEconomy = bOSEconomy; + } + + public String getBankName() { + return this.bank; + } + + public int getBankId() { + return -1; + } + + public double balance() { + return this.BOSEconomy.getBankMoneyDouble(bank); + } + + public boolean set(double amount) { + return this.BOSEconomy.setBankMoney(bank, amount, true); + } + + public boolean add(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setBankMoney(bank, (balance + amount), false); + } + + public boolean subtract(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setBankMoney(bank, (balance - amount), false); + } + + public boolean multiply(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setBankMoney(bank, (balance * amount), false); + } + + public boolean divide(double amount) { + double balance = this.balance(); + return this.BOSEconomy.setBankMoney(bank, (balance / amount), false); + } + + public boolean hasEnough(double amount) { + return (this.balance() >= amount); + } + + public boolean hasOver(double amount) { + return (this.balance() > amount); + } + + public boolean hasUnder(double amount) { + return (this.balance() < amount); + } + + public boolean isNegative() { + return (this.balance() < 0); + } + + public boolean remove() { + return this.BOSEconomy.removeBank(bank); + } + } +}
\ No newline at end of file diff --git a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java index f30af7dde..28931eac2 100644 --- a/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java +++ b/Essentials/src/com/earth2me/essentials/register/payment/methods/iCo5.java @@ -208,4 +208,4 @@ public class iCo5 implements Method { return true; } } -}
\ No newline at end of file +} diff --git a/lib/BOSEconomy.jar b/lib/BOSEconomy.jar Binary files differdeleted file mode 100644 index bba5231f9..000000000 --- a/lib/BOSEconomy.jar +++ /dev/null diff --git a/lib/BOSEconomy7.jar b/lib/BOSEconomy7.jar Binary files differnew file mode 100644 index 000000000..2ce672afa --- /dev/null +++ b/lib/BOSEconomy7.jar |