From 354e5e2d898b44b75ec2117ff5a4ba368026fc9e Mon Sep 17 00:00:00 2001 From: AfterWind Date: Tue, 14 Apr 2015 18:41:57 +0300 Subject: [PATCH] Made economy throw exception if it fails to initialize. --- build.gradle | 2 +- .../mytown/core/utils/economy/Economy.java | 37 ++++++------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/build.gradle b/build.gradle index 2dc5b28..6fce3eb 100644 --- a/build.gradle +++ b/build.gradle @@ -35,7 +35,7 @@ if (System.env.TRAVIS_TAG != null && !System.env.TRAVIS_TAG.isEmpty()) { ext.config.build_number = System.env.TRAVIS_TAG.substring(0, System.env.TRAVIS_TAG.length()-1) ext.config.build_type = System.env.TRAVIS_TAG.substring(System.env.TRAVIS_TAG.length()-1) } else { - ext.config.build_number = "0.0" + ext.config.build_number = "1.5" ext.config.build_type = "r" } diff --git a/src/main/java/mytown/core/utils/economy/Economy.java b/src/main/java/mytown/core/utils/economy/Economy.java index 14fddde..b68026b 100644 --- a/src/main/java/mytown/core/utils/economy/Economy.java +++ b/src/main/java/mytown/core/utils/economy/Economy.java @@ -1,6 +1,7 @@ package mytown.core.utils.economy; import cpw.mods.fml.common.Loader; +import mytown.core.MyEssentialsCore; import mytown.core.bukkit.BukkitCompat; import mytown.core.utils.ItemUtils; import mytown.core.utils.PlayerUtils; @@ -9,6 +10,7 @@ import net.minecraft.server.MinecraftServer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import scala.reflect.runtime.ThreadLocalStorage; import java.util.UUID; @@ -16,7 +18,6 @@ * @author Joe Goett */ public class Economy { - private static Logger log = LogManager.getLogger("MyEconomy"); private String costItemName; public Class econManagerClass; @@ -26,9 +27,13 @@ public Economy(String costItemName) { if (MinecraftServer.getServer().getServerModName().contains("cauldron") || MinecraftServer.getServer().getServerModName().contains("mcpc")) { econManagerClass = BukkitCompat.initEconomy(); } + if(econManagerClass == null) + throw new RuntimeException("Failed to initialize Vault economy!"); } else if(costItemName.equals("$ForgeEssentials")) { - econManagerClass = (Class) ((Class) ForgeessentialsEconomy.class); - //MyTown.instance.log.info("Enabling ForgeEssentials economy system!"); + if(Loader.isModLoaded("ForgeEssentials")) + econManagerClass = (Class) ((Class) ForgeessentialsEconomy.class); + if(econManagerClass == null) + throw new RuntimeException("Failed to initialize ForgeEssentials economy!"); } } @@ -36,13 +41,12 @@ public IEconManager economyManagerForUUID(UUID uuid) { if (econManagerClass == null) { return null; } - try { IEconManager manager = econManagerClass.newInstance(); manager.setUUID(uuid); return manager; } catch(Exception ex) { - log.info("Failed to create IEconManager", ex); + MyEssentialsCore.Instance.log.info("Failed to create IEconManager", ex); } return null; // Hopefully this doesn't break things... @@ -53,7 +57,7 @@ public IEconManager economyManagerForUUID(UUID uuid) { * Returns false if player doesn't have the money necessary */ public boolean takeMoneyFromPlayer(EntityPlayer player, int amount) { - if(costItemName.startsWith("$")) { + if(costItemName.equals("$ForgeEssentials") || costItemName.equals("$Vault")) { IEconManager eco = economyManagerForUUID(player.getUniqueID()); if (eco == null) return false; int wallet = eco.getWallet(); @@ -72,7 +76,7 @@ public boolean takeMoneyFromPlayer(EntityPlayer player, int amount) { * Returns false if player doesn't have the money necessary */ public void giveMoneyToPlayer(EntityPlayer player, int amount) { - if (costItemName.startsWith("$")) { + if (costItemName.equals("$ForgeEssentials") || costItemName.equals("$Vault")) { IEconManager eco = economyManagerForUUID(player.getUniqueID()); if (eco == null) return; eco.addToWallet(amount); @@ -93,7 +97,7 @@ public String getCurrency(int amount) { IEconManager manager = econManagerClass.newInstance(); return manager.currency(amount); } catch(Exception ex) { - log.info("Failed to create IEconManager", ex); + MyEssentialsCore.Instance.log.info("Failed to create IEconManager", ex); } return "$"; @@ -101,21 +105,4 @@ public String getCurrency(int amount) { return ItemUtils.itemStackFromName(costItemName).getDisplayName() + (amount == 1 ? "" : "s"); } } - - /** - * Returns true if the string matches one of the implemented Economy systems. - * Returns false if the item based Economy is used. - */ - public boolean checkCurrencyString(String currencyString) { - if(currencyString.equals("$ForgeEssentials")) { - if(!Loader.isModLoaded("ForgeEssentials") || econManagerClass == null) - throw new RuntimeException("ForgeEssentials economy failed to initialize."); - return true; - } else if(currencyString.equals("$Vault")) { - if(econManagerClass == null) - throw new RuntimeException("Vault economy failed to initialize"); - return true; - } - return false; - } }