Support for iConomy 6 and other economy plugins added through Register support (with new conf.json setting "econRegisterEnabled", defaults to false); you will need to have the Register plugin on your server
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								lib/Register.jar
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								lib/Register.jar
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -184,6 +184,7 @@ public class Conf {
 | 
				
			|||||||
	public static String capePeaceful = "https://github.com/MassiveCraft/Factions/raw/master/capes/peaceful.png";
 | 
						public static String capePeaceful = "https://github.com/MassiveCraft/Factions/raw/master/capes/peaceful.png";
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	// Economy settings
 | 
						// Economy settings
 | 
				
			||||||
 | 
						public static boolean econRegisterEnabled = false;
 | 
				
			||||||
	public static boolean econIConomyEnabled = false;
 | 
						public static boolean econIConomyEnabled = false;
 | 
				
			||||||
	public static boolean econEssentialsEcoEnabled = false;
 | 
						public static boolean econEssentialsEcoEnabled = false;
 | 
				
			||||||
	public static double econCostClaimWilderness = 30.0;
 | 
						public static double econCostClaimWilderness = 30.0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,11 +6,14 @@ import org.bukkit.plugin.Plugin;
 | 
				
			|||||||
import com.massivecraft.factions.listeners.FactionsServerListener;
 | 
					import com.massivecraft.factions.listeners.FactionsServerListener;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import com.earth2me.essentials.api.Economy;
 | 
					import com.earth2me.essentials.api.Economy;
 | 
				
			||||||
 | 
					import com.nijikokun.register.payment.Methods;
 | 
				
			||||||
 | 
					import com.nijikokun.register.payment.Method.MethodAccount;
 | 
				
			||||||
import com.iConomy.*;
 | 
					import com.iConomy.*;
 | 
				
			||||||
import com.iConomy.system.*;
 | 
					import com.iConomy.system.*;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class Econ {
 | 
					public class Econ {
 | 
				
			||||||
 | 
						private static boolean registerUse = false;
 | 
				
			||||||
	private static boolean iConomyUse = false;
 | 
						private static boolean iConomyUse = false;
 | 
				
			||||||
	private static boolean essEcoUse = false;
 | 
						private static boolean essEcoUse = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -24,6 +27,12 @@ public class Econ {
 | 
				
			|||||||
			return;
 | 
								return;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (!registerHooked()) {
 | 
				
			||||||
 | 
								Plugin plug = factions.getServer().getPluginManager().getPlugin("Register");
 | 
				
			||||||
 | 
								if (plug != null && plug.getClass().getName().equals("com.nijikokun.register.Register") && plug.isEnabled()) {
 | 
				
			||||||
 | 
									registerSet(true);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		if (!iConomyHooked()) {
 | 
							if (!iConomyHooked()) {
 | 
				
			||||||
			Plugin plug = factions.getServer().getPluginManager().getPlugin("iConomy");
 | 
								Plugin plug = factions.getServer().getPluginManager().getPlugin("iConomy");
 | 
				
			||||||
			if (plug != null && plug.getClass().getName().equals("com.iConomy.iConomy") && plug.isEnabled()) {
 | 
								if (plug != null && plug.getClass().getName().equals("com.iConomy.iConomy") && plug.isEnabled()) {
 | 
				
			||||||
@@ -38,9 +47,19 @@ public class Econ {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static void registerSet(boolean enable) {
 | 
				
			||||||
 | 
							registerUse = enable;
 | 
				
			||||||
 | 
							if (enable) {
 | 
				
			||||||
 | 
								Factions.log("Register hook available, "+(Conf.econRegisterEnabled ? "and interface is enabled" : "but disabled (\"econRegisterEnabled\": false)")+".");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else {
 | 
				
			||||||
 | 
								Factions.log("Un-hooked from Register.");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static void iConomySet(boolean enable) {
 | 
						public static void iConomySet(boolean enable) {
 | 
				
			||||||
		iConomyUse = enable;
 | 
							iConomyUse = enable;
 | 
				
			||||||
		if (enable) {
 | 
							if (enable && !registerUse) {
 | 
				
			||||||
			Factions.log("iConomy hook available, "+(Conf.econIConomyEnabled ? "and interface is enabled" : "but disabled (\"econIConomyEnabled\": false)")+".");
 | 
								Factions.log("iConomy hook available, "+(Conf.econIConomyEnabled ? "and interface is enabled" : "but disabled (\"econIConomyEnabled\": false)")+".");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
@@ -50,7 +69,7 @@ public class Econ {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	public static void essentialsEcoSet(boolean enable) {
 | 
						public static void essentialsEcoSet(boolean enable) {
 | 
				
			||||||
		essEcoUse = enable;
 | 
							essEcoUse = enable;
 | 
				
			||||||
		if (enable) {
 | 
							if (enable && !registerUse) {
 | 
				
			||||||
			Factions.log("EssentialsEco hook available, "+(Conf.econEssentialsEcoEnabled ? "and interface is enabled" : "but disabled (\"econEssentialsEcoEnabled\": false)")+".");
 | 
								Factions.log("EssentialsEco hook available, "+(Conf.econEssentialsEcoEnabled ? "and interface is enabled" : "but disabled (\"econEssentialsEcoEnabled\": false)")+".");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
@@ -58,6 +77,10 @@ public class Econ {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static boolean registerHooked() {
 | 
				
			||||||
 | 
							return registerUse;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	public static boolean iConomyHooked() {
 | 
						public static boolean iConomyHooked() {
 | 
				
			||||||
		return iConomyUse;
 | 
							return iConomyUse;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -66,9 +89,15 @@ public class Econ {
 | 
				
			|||||||
		return essEcoUse;
 | 
							return essEcoUse;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public static boolean registerAvailable() {
 | 
				
			||||||
 | 
							return Conf.econRegisterEnabled && registerUse && Methods.hasMethod();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// If economy is enabled in conf.json, and we're successfully hooked into an economy plugin
 | 
						// If economy is enabled in conf.json, and we're successfully hooked into an economy plugin
 | 
				
			||||||
	public static boolean enabled() {
 | 
						public static boolean enabled() {
 | 
				
			||||||
		return (Conf.econIConomyEnabled && iConomyUse) || (Conf.econEssentialsEcoEnabled && essEcoUse);
 | 
							return    (Conf.econRegisterEnabled && registerUse && Methods.hasMethod())
 | 
				
			||||||
 | 
								   || (Conf.econIConomyEnabled && iConomyUse)
 | 
				
			||||||
 | 
								   || (Conf.econEssentialsEcoEnabled && essEcoUse);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// mainly for internal use, for a little less code repetition
 | 
						// mainly for internal use, for a little less code repetition
 | 
				
			||||||
@@ -84,11 +113,23 @@ public class Econ {
 | 
				
			|||||||
		Holdings holdings = account.getHoldings();
 | 
							Holdings holdings = account.getHoldings();
 | 
				
			||||||
		return holdings;
 | 
							return holdings;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						public static MethodAccount getRegisterAccount(String playerName) {
 | 
				
			||||||
 | 
							if (!enabled()) {
 | 
				
			||||||
 | 
								return null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							if (!Methods.getMethod().hasAccount(playerName)) {
 | 
				
			||||||
 | 
								return null;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							MethodAccount account = Methods.getMethod().getAccount(playerName);
 | 
				
			||||||
 | 
							return account;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// format money string based on server's set currency type, like "24 gold" or "$24.50"
 | 
						// format money string based on server's set currency type, like "24 gold" or "$24.50"
 | 
				
			||||||
	public static String moneyString(double amount) {
 | 
						public static String moneyString(double amount) {
 | 
				
			||||||
		return iConomyUse ? iConomy.format(amount) : Economy.format(amount);
 | 
							return registerAvailable() ? Methods.getMethod().format(amount)
 | 
				
			||||||
 | 
								   : (iConomyUse ? iConomy.format(amount) : Economy.format(amount));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// whether a player can afford specified amount
 | 
						// whether a player can afford specified amount
 | 
				
			||||||
@@ -98,7 +139,15 @@ public class Econ {
 | 
				
			|||||||
			return true;
 | 
								return true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (iConomyUse) {
 | 
							if (registerAvailable()) {
 | 
				
			||||||
 | 
								MethodAccount holdings = getRegisterAccount(playerName);
 | 
				
			||||||
 | 
								if (holdings == null) {
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return holdings.hasEnough(amount);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (iConomyUse) {
 | 
				
			||||||
			Holdings holdings = getIconomyHoldings(playerName);
 | 
								Holdings holdings = getIconomyHoldings(playerName);
 | 
				
			||||||
			if (holdings == null) {
 | 
								if (holdings == null) {
 | 
				
			||||||
				return false;
 | 
									return false;
 | 
				
			||||||
@@ -122,7 +171,15 @@ public class Econ {
 | 
				
			|||||||
			return true;
 | 
								return true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (iConomyUse) {
 | 
							if (registerAvailable()) {
 | 
				
			||||||
 | 
								MethodAccount holdings = getRegisterAccount(playerName);
 | 
				
			||||||
 | 
								if (holdings == null || !holdings.hasEnough(amount)) {
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return holdings.subtract(amount);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (iConomyUse) {
 | 
				
			||||||
			Holdings holdings = getIconomyHoldings(playerName);
 | 
								Holdings holdings = getIconomyHoldings(playerName);
 | 
				
			||||||
			if (holdings == null || !holdings.hasEnough(amount)) {
 | 
								if (holdings == null || !holdings.hasEnough(amount)) {
 | 
				
			||||||
				return false;
 | 
									return false;
 | 
				
			||||||
@@ -151,7 +208,15 @@ public class Econ {
 | 
				
			|||||||
			return true;
 | 
								return true;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (iConomyUse) {
 | 
							if (registerAvailable()) {
 | 
				
			||||||
 | 
								MethodAccount holdings = getRegisterAccount(playerName);
 | 
				
			||||||
 | 
								if (holdings == null) {
 | 
				
			||||||
 | 
									return false;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								return holdings.add(amount);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (iConomyUse) {
 | 
				
			||||||
			Holdings holdings = getIconomyHoldings(playerName);
 | 
								Holdings holdings = getIconomyHoldings(playerName);
 | 
				
			||||||
			if (holdings == null) {
 | 
								if (holdings == null) {
 | 
				
			||||||
				return false;
 | 
									return false;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,10 @@ public class FactionsServerListener extends ServerListener {
 | 
				
			|||||||
	@Override
 | 
						@Override
 | 
				
			||||||
	public void onPluginDisable(PluginDisableEvent event) {
 | 
						public void onPluginDisable(PluginDisableEvent event) {
 | 
				
			||||||
		String name = event.getPlugin().getDescription().getName();
 | 
							String name = event.getPlugin().getDescription().getName();
 | 
				
			||||||
        if (Econ.iConomyHooked() && name.equals("iConomy")) {
 | 
							if (Econ.registerHooked() && name.equals("Register")) {
 | 
				
			||||||
 | 
								Econ.registerSet(false);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (Econ.iConomyHooked() && name.equals("iConomy")) {
 | 
				
			||||||
			Econ.iConomySet(false);
 | 
								Econ.iConomySet(false);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else if (Econ.essentialsEcoHooked() && name.equals("Essentials")) {
 | 
							else if (Econ.essentialsEcoHooked() && name.equals("Essentials")) {
 | 
				
			||||||
@@ -28,7 +31,10 @@ public class FactionsServerListener extends ServerListener {
 | 
				
			|||||||
	public void onPluginEnable(PluginEnableEvent event) {
 | 
						public void onPluginEnable(PluginEnableEvent event) {
 | 
				
			||||||
		Plugin plug = event.getPlugin();
 | 
							Plugin plug = event.getPlugin();
 | 
				
			||||||
		String name = plug.getDescription().getName();
 | 
							String name = plug.getDescription().getName();
 | 
				
			||||||
        if (!Econ.iConomyHooked() && name.equals("iConomy") && plug.getClass().getName().equals("com.iConomy.iConomy")) {
 | 
							if (!Econ.registerHooked() && name.equals("Register") && plug.getClass().getName().equals("com.nijikokun.register.Register")) {
 | 
				
			||||||
 | 
								Econ.registerSet(true);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							else if (!Econ.iConomyHooked() && name.equals("iConomy") && plug.getClass().getName().equals("com.iConomy.iConomy")) {
 | 
				
			||||||
			Econ.iConomySet(true);
 | 
								Econ.iConomySet(true);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else if (!Econ.essentialsEcoHooked() && name.equals("Essentials")) {
 | 
							else if (!Econ.essentialsEcoHooked() && name.equals("Essentials")) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,7 @@ softdepend:
 | 
				
			|||||||
  - ChatManager
 | 
					  - ChatManager
 | 
				
			||||||
  - AuthMe
 | 
					  - AuthMe
 | 
				
			||||||
  - iConomy
 | 
					  - iConomy
 | 
				
			||||||
 | 
					  - Register
 | 
				
			||||||
  - Spout
 | 
					  - Spout
 | 
				
			||||||
  - WorldEdit
 | 
					  - WorldEdit
 | 
				
			||||||
  - WorldGuard
 | 
					  - WorldGuard
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user