From b02fea8cbb8f8df85a6e11c6878e119b77102397 Mon Sep 17 00:00:00 2001 From: xeology Date: Mon, 2 May 2011 22:54:38 +0000 Subject: EXPIRIMENTAL Essentials Iconomy Bridge for iConomy 5.0. This has reverse compatability and is tested but unsure of 5.0 API, needs testing but no 5.0 API plugins yet! git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1324 e251c2fe-e539-e718-e476-b85c1f46cddb --- .../src/com/nijiko/coelho/iConomy/banks.java | 53 ++++++ .../src/com/nijiko/coelho/iConomy/existCheck.java | 26 +++ .../src/com/nijiko/coelho/iConomy/iConomy.java | 105 ++++++++++ .../com/nijiko/coelho/iConomy/system/Account.java | 212 +++++++++++++++++++++ .../src/com/nijiko/coelho/iConomy/system/Bank.java | 73 +++++++ .../nijiko/coelho/iConomy/system/BankAccount.java | 47 +++++ .../com/nijiko/coelho/iConomy/system/Holdings.java | 128 +++++++++++++ EssentialsiConomyBridge5/src/plugin.yml | 6 + 8 files changed, 650 insertions(+) create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/banks.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/existCheck.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/iConomy.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Account.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Bank.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/BankAccount.java create mode 100644 EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Holdings.java create mode 100644 EssentialsiConomyBridge5/src/plugin.yml (limited to 'EssentialsiConomyBridge5/src') diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/banks.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/banks.java new file mode 100644 index 000000000..a85a66587 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/banks.java @@ -0,0 +1,53 @@ + +package com.nijiko.coelho.iConomy; + +import com.earth2me.essentials.api.Economy; + + + +public class banks +{ + + + public int count(String name){ + int count=0; + int breaker = 0; + for (int ctr = 1; breaker != 1; ctr++) + { + if (ctr == 1) + { + if (Economy.accountExist(name + "-bank")) + { + count = count + 1; + } + else + { + breaker = 1; + } + } + if (Economy.accountExist(name + "-bank" + Integer.toString(ctr)) && ctr != 1) + { + count = count + 1; + } + else + { + breaker = 1; + } + } + + return count; + } + + +} + + + + + + + + + + + diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/existCheck.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/existCheck.java new file mode 100644 index 000000000..bfc3134de --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/existCheck.java @@ -0,0 +1,26 @@ +package com.nijiko.coelho.iConomy; + +import java.util.logging.Logger; +import org.bukkit.Bukkit; + + +public class existCheck +{ + private static final Logger logger = Logger.getLogger("Minecraft"); + //We have to make sure the user exists! + + public static boolean exist(String name) + { + + if (name == null) + { + logger.info("Essentials iConomy Bridge - Whatever plugin is calling for users that are null is BROKEN!"); + return false; + } + if (Bukkit.getServer().getPlayer(name) != null) + { + return true; + } + return false; + } +} \ No newline at end of file diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/iConomy.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/iConomy.java new file mode 100644 index 000000000..0641482b7 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/iConomy.java @@ -0,0 +1,105 @@ +package com.nijiko.coelho.iConomy; + +import com.earth2me.essentials.Essentials; +import com.earth2me.essentials.api.Economy; +import com.nijiko.coelho.iConomy.system.Account; +import org.bukkit.plugin.java.JavaPlugin; +import com.nijiko.coelho.iConomy.system.Bank; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.bukkit.plugin.Plugin; +import org.bukkit.plugin.PluginManager; + + +/** + * This is not iConomy and I take NO credit for iConomy! + * This is FayConomy, a iConomy Essentials Eco bridge! + * @author Xeology + */ +public class iConomy extends JavaPlugin +{ + public static Bank Bank=null; + public static boolean Banking = true; + public static boolean BankingMultiple = true; + private static final Logger logger = Logger.getLogger("Minecraft"); + + @Override + public void onDisable() + { + } + + @Override + public void onEnable() + { + Bank=new Bank("hello"); + PluginManager pm = this.getServer().getPluginManager(); + Plugin p = pm.getPlugin("Essentials"); + if (p != null) + { + if (!pm.isPluginEnabled(p)) + { + pm.enablePlugin(p); + } + } + + String version = this.getDescription().getDescription().replaceAll(".*: ", ""); + if (!version.equals(Essentials.getStatic().getDescription().getVersion())) + { + logger.log(Level.WARNING, "Version mismatch! Please update all Essentials jars to the same version."); + } + Essentials.getStatic().setIConomyFallback(false); + + + + logger.info("Loaded " + this.getDescription().getDescription() + " by " + Essentials.AUTHORS); + logger.info("Make sure you don't have iConomy installed, if you use this."); + } + + //Fake bank + public static Bank getBank() + { + return Bank; + } + + public static String format(String account) + { + return getAccount(account).getHoldings().toString(); + } + + public static String format(String bank, String account) + { + return (new Bank(bank)).getAccount(account).getHoldings().toString(); + } + + public String format(double amount) + { + return Economy.format(amount); + } + + public static Account getAccount(String name) + { + Account Account = null; + Account = new Account(name); + if (!existCheck.exist(name)) + { + if (!Economy.accountExist(name)) + { + Economy.newAccount(name); + } + } + return Account; + + } + + public static boolean hasAccount(String name) + { + if (!existCheck.exist(name)) + { + if (!Economy.accountExist(name)) + { + Economy.newAccount(name); + } + } + return true; + } +} diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Account.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Account.java new file mode 100644 index 000000000..0c550b6ef --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Account.java @@ -0,0 +1,212 @@ +package com.nijiko.coelho.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.nijiko.coelho.iConomy.existCheck; +import java.util.ArrayList; + + +public class Account +{ + private String name; + + public Holdings getHoldings() + { + return new Holdings(name, this.name); + } + + public String getName() + { + return name; + } + + /** + * Essentials does not support hidden accounts. + * @return false + */ + public boolean setHidden(boolean hidden) + { + return true; + } + + //Simply set the account variable type? + public Account(String name) + { + this.name = name; + } + + public double getBalance() + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + return Economy.getMoney(name); + } + return 0; + } + return Economy.getMoney(name); + } + + public void setBalance(double bal) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.setMoney(name, bal); + } + return; + } + Economy.setMoney(name, bal); + } + + public void add(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.add(name, money); + } + return; + } + Economy.add(name, money); + } + + public void divide(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.divide(name, money); + } + return; + } + Economy.divide(name, money); + } + + public ArrayList withBanks() + { + ArrayList banks = new ArrayList(); + if (Economy.accountExist(name + "-bank")) + { + Bank bank = new Bank("EcoBanks"); + banks.add(bank); + return banks; + } + return null; + } + + public ArrayList getBankAccounts() + { + ArrayList banks = new ArrayList(); + int breaker = 0; + Bank bank; + for (int ctr = 1; breaker != 1; ctr++) + { + if (ctr == 1) + { + if (Economy.accountExist(name + "-bank")) + { + bank = new Bank(name + "-bank"); + banks.add(bank); + } + else + { + breaker = 1; + } + } + if (Economy.accountExist(name + "-bank" + Integer.toString(ctr)) && ctr != 1) + { + bank = new Bank(name + "-bank" + Integer.toString(ctr)); + banks.add(bank); + } + else + { + breaker = 1; + } + } + return null; + } + + public void multiply(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.multiply(name, money); + } + return; + } + Economy.multiply(name, money); + } + + public void subtract(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.subtract(name, money); + } + return; + } + Economy.subtract(name, money); + } + + public void resetBalance() + { + this.setBalance(0); + } + + public boolean hasEnough(double amount) + { + return amount <= this.getBalance(); + } + + public boolean hasOver(double amount) + { + return amount < this.getBalance(); + } + + /** + * Essentials does not support hidden accounts. + * @return false + */ + public boolean isHidden() + { + return false; + } + + public boolean isNegative() + { + return this.getBalance() < 0.0; + } + + public Bank getMainBank() + { + Bank bank = null; + if (!Economy.accountExist(name + "-bank")) + { + Economy.newAccount(name + "-bank"); + bank = new Bank(name + "-bank"); + return bank; + } + bank = new Bank(name + "-bank"); + return bank; + + + } + + /** + * Because some plugins like to use depricated methods I must save + * admins' log from the overflow of dumb + */ + @Deprecated + public void save() + { + } +; +} diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Bank.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Bank.java new file mode 100644 index 000000000..1c94fa311 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Bank.java @@ -0,0 +1,73 @@ +package com.nijiko.coelho.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.nijiko.coelho.iConomy.existCheck; + + +public class Bank +{ + private String id = null; + private String name = null; + + public Bank(String name) + { + this.id = name; + this.name = name; + } + //The fake formatter + + public String format(double amount) + { + return Economy.format(amount); + } + + //Fake currency! + public String getCurrency() + { + return Economy.getCurrency(); + } + + //Fake "does player have an account?" but essentials eco doesnt need to make one, so TRUE, unless its an NPC. + public boolean hasAccount(String account) + { + if (!existCheck.exist(account)) + { + if (!Economy.accountExist(account)) + { + Economy.newAccount(account); + } + } + return true; + } + + //simply switches the name to an account type? + public Account getAccount(String name) + { + Account Account = null; + Account = new Account(name); + hasAccount(name); + return Account; + } + + //Fake remove account + public void removeAccount(String name) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.removeAccount(name); + } + return; + } + Economy.setMoney(name, 0); + } + + public void createAccount(String account) + { + if (!Economy.accountExist(account)) + { + Economy.newAccount(account); + } + } +} diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/BankAccount.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/BankAccount.java new file mode 100644 index 000000000..b12298f54 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/BankAccount.java @@ -0,0 +1,47 @@ +package com.nijiko.coelho.iConomy.system; + +import com.earth2me.essentials.api.Economy; + + +public class BankAccount +{ + private String BankName; + private String BankId; + private String AccountName; + + public BankAccount(String BankName, String BankId, String AccountName) + { + this.BankName = BankName; + this.BankId = BankId; + this.AccountName = AccountName; + } + + public String getBankName() + { + return this.BankName; + } + + public String getBankId() + { + return this.BankId; + } + + public void getAccountName(String AccountName) + { + this.AccountName = AccountName; + } + + public Holdings getHoldings() + { + return new Holdings(this.BankId, this.AccountName, true); + } + + public void remove(String name) + { + if (Economy.accountExist(BankId)) + { + Economy.removeAccount(BankId); + } + return; + } +} diff --git a/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Holdings.java b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Holdings.java new file mode 100644 index 000000000..32e86e81f --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/nijiko/coelho/iConomy/system/Holdings.java @@ -0,0 +1,128 @@ +package com.nijiko.coelho.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.nijiko.coelho.iConomy.existCheck; + + +public class Holdings +{ + private String name = ""; + private boolean bank = false; + private String bankId = null; + + public Holdings(String name) + { + this.name = name; + } + + public Holdings(String id, String name) + { + this.bankId = id; + this.name = name; + } + + public Holdings(String id, String name, boolean bank) + { + this.bank = bank; + this.bankId = id; + this.name = name; + } + + public double get() + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + return Economy.getMoney(name); + } + return 0; + } + return Economy.getMoney(name); + } + + public void set(double bal) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.setMoney(name, bal); + } + return; + } + Economy.setMoney(name, bal); + } + + public void add(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.add(name, money); + } + return; + } + Economy.add(name, money); + } + + public void divide(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.divide(name, money); + } + return; + } + Economy.divide(name, money); + } + + public void multiply(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.multiply(name, money); + } + return; + } + Economy.multiply(name, money); + } + + public void subtract(double money) + { + if (!existCheck.exist(name)) + { + if (Economy.accountExist(name)) + { + Economy.subtract(name, money); + } + return; + } + Economy.subtract(name, money); + } + + public void reset() + { + this.set(0); + } + + public boolean hasEnough(double amount) + { + return amount <= this.get(); + } + + public boolean hasOver(double amount) + { + return amount < this.get(); + } + + public boolean isNegative() + { + return this.get() < 0.0; + } +} diff --git a/EssentialsiConomyBridge5/src/plugin.yml b/EssentialsiConomyBridge5/src/plugin.yml new file mode 100644 index 000000000..378b42196 --- /dev/null +++ b/EssentialsiConomyBridge5/src/plugin.yml @@ -0,0 +1,6 @@ +name: iConomy +version: 5.0 +main: com.nijiko.coelho.iConomy.iConomy +website: http://www.earth2me.net:8001/ +description: "Essentials iConomy Bridge version: TeamCity" +authors: [Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo, ceulemans, Xeology] -- cgit v1.2.3