From a46bc7448b7defe971139567233d0bc80f69d4ad Mon Sep 17 00:00:00 2001 From: xeology Date: Tue, 3 May 2011 04:29:37 +0000 Subject: Working with ico 5.0 plugins. Not sure about banks . . no plugins to test it with . . . yet! Reverse compatability broken, ico decided to switch packages. git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1327 e251c2fe-e539-e718-e476-b85c1f46cddb --- .../src/com/iConomy/banks.java | 53 ++++++++ .../src/com/iConomy/existCheck.java | 27 +++++ .../src/com/iConomy/iConomy.java | 96 +++++++++++++++ .../src/com/iConomy/system/Account.java | 107 ++++++++++++++++ .../src/com/iConomy/system/Bank.java | 64 ++++++++++ .../src/com/iConomy/system/BankAccount.java | 47 +++++++ .../src/com/iConomy/system/Holdings.java | 135 +++++++++++++++++++++ EssentialsiConomyBridge5/src/plugin.yml | 2 +- 8 files changed, 530 insertions(+), 1 deletion(-) create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/banks.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/existCheck.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/iConomy.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/system/Account.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/system/Bank.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/system/BankAccount.java create mode 100644 EssentialsiConomyBridge5/src/com/iConomy/system/Holdings.java (limited to 'EssentialsiConomyBridge5') diff --git a/EssentialsiConomyBridge5/src/com/iConomy/banks.java b/EssentialsiConomyBridge5/src/com/iConomy/banks.java new file mode 100644 index 000000000..85ffabd80 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/banks.java @@ -0,0 +1,53 @@ + +package com.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/iConomy/existCheck.java b/EssentialsiConomyBridge5/src/com/iConomy/existCheck.java new file mode 100644 index 000000000..9d765bf3a --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/existCheck.java @@ -0,0 +1,27 @@ +package com.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; + } + double amount=12; + return false; + } +} \ No newline at end of file diff --git a/EssentialsiConomyBridge5/src/com/iConomy/iConomy.java b/EssentialsiConomyBridge5/src/com/iConomy/iConomy.java new file mode 100644 index 000000000..725e7e5fb --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/iConomy.java @@ -0,0 +1,96 @@ +package com.iConomy; + +import com.earth2me.essentials.Essentials; +import com.earth2me.essentials.api.Economy; +import com.iConomy.system.Account; +import org.bukkit.plugin.java.JavaPlugin; +import com.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(double amount) + { + return Economy.format(amount); + } + + 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 static Account getAccount(String name) + { + return Bank.getAccount(name); + + } + + 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/iConomy/system/Account.java b/EssentialsiConomyBridge5/src/com/iConomy/system/Account.java new file mode 100644 index 000000000..a4d06a269 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/system/Account.java @@ -0,0 +1,107 @@ +package com.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.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 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; + } + + /** + * Essentials does not support hidden accounts. + * @return false + */ + public boolean isHidden() + { + return false; + } + + 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; + + + } + + +} diff --git a/EssentialsiConomyBridge5/src/com/iConomy/system/Bank.java b/EssentialsiConomyBridge5/src/com/iConomy/system/Bank.java new file mode 100644 index 000000000..6708b9e96 --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/system/Bank.java @@ -0,0 +1,64 @@ +package com.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.iConomy.existCheck; + + +public class Bank +{ + private String id = null; + private String name = null; + + public Bank(String name) + { + this.id = name; + this.name = name; + } + + //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) + { + return new Account(name); + } + + //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/iConomy/system/BankAccount.java b/EssentialsiConomyBridge5/src/com/iConomy/system/BankAccount.java new file mode 100644 index 000000000..c3d74d01d --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/system/BankAccount.java @@ -0,0 +1,47 @@ +package com.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/iConomy/system/Holdings.java b/EssentialsiConomyBridge5/src/com/iConomy/system/Holdings.java new file mode 100644 index 000000000..c4a758f7b --- /dev/null +++ b/EssentialsiConomyBridge5/src/com/iConomy/system/Holdings.java @@ -0,0 +1,135 @@ +package com.iConomy.system; + +import com.earth2me.essentials.api.Economy; +import com.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 boolean isBank() { + return bank; + } + + public double balance() { + return get(); + } + + 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 index 378b42196..7ee898468 100644 --- a/EssentialsiConomyBridge5/src/plugin.yml +++ b/EssentialsiConomyBridge5/src/plugin.yml @@ -1,6 +1,6 @@ name: iConomy version: 5.0 -main: com.nijiko.coelho.iConomy.iConomy +main: com.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