From 7c634228536033a3d9d8334777ff8febc2e7ff74 Mon Sep 17 00:00:00 2001 From: drtshock Date: Tue, 19 Mar 2013 22:30:26 -0500 Subject: [PATCH] Fix NPE getting config. --- .../java/com/drtshock/playervaults/Main.java | 6 +++- .../playervaults/util/EconomyOperations.java | 30 +++++++++++-------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/drtshock/playervaults/Main.java b/src/main/java/com/drtshock/playervaults/Main.java index 6c2c7c6..29c4dfd 100644 --- a/src/main/java/com/drtshock/playervaults/Main.java +++ b/src/main/java/com/drtshock/playervaults/Main.java @@ -8,6 +8,7 @@ import java.util.logging.Logger; import net.milkbowl.vault.economy.Economy; +import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin; @@ -20,7 +21,7 @@ import com.drtshock.playervaults.util.Updater; public class Main extends JavaPlugin { - public Main plugin; + public static Main plugin; public Logger log; public static boolean update = false; public static String name = ""; @@ -29,6 +30,7 @@ public class Main extends JavaPlugin { public static boolean dropOnDeath = false; public static int inventoriesToDrop = 0; public static boolean useVault = false; + public static FileConfiguration config; @Override public void onEnable() { @@ -57,6 +59,8 @@ public class Main extends JavaPlugin { dropOnDeath = true; inventoriesToDrop = getConfig().getInt("drop-on-death.inventories"); } + + config = getConfig(); } diff --git a/src/main/java/com/drtshock/playervaults/util/EconomyOperations.java b/src/main/java/com/drtshock/playervaults/util/EconomyOperations.java index d9ae1a6..5487156 100644 --- a/src/main/java/com/drtshock/playervaults/util/EconomyOperations.java +++ b/src/main/java/com/drtshock/playervaults/util/EconomyOperations.java @@ -1,22 +1,28 @@ package com.drtshock.playervaults.util; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; + import net.milkbowl.vault.economy.EconomyResponse; -import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.InvalidConfigurationException; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import com.drtshock.playervaults.Main; public class EconomyOperations { + private static String directory = "plugins" + File.separator + "PlayerVaults" + File.separator; + private static File configFile = new File(directory + "config.yml"); + private static YamlConfiguration bukkitConfig = new YamlConfiguration(); + public Main plugin; - private static FileConfiguration config; - - public EconomyOperations(Main instance) { + public EconomyOperations(Main instance) throws FileNotFoundException, IOException, InvalidConfigurationException { this.plugin = instance; - EconomyOperations.config = plugin.getConfig(); + bukkitConfig.load(configFile); } - /** * Have a player pay to open a vault. * Returns true if successful. Otherwise false. @@ -24,10 +30,10 @@ public class EconomyOperations { * @return transaction success */ public static boolean payToOpen(Player player) { - if(!config.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) + if(bukkitConfig.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) return true; - double cost = config.getDouble("economy.cost-to-open"); + double cost = bukkitConfig.getDouble("economy.cost-to-open"); EconomyResponse resp = Main.econ.withdrawPlayer(player.getName(), cost); if(resp.transactionSuccess()) { player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_OPEN.toString()); @@ -44,10 +50,10 @@ public class EconomyOperations { * @return transaction success */ public static boolean payToMake(Player player) { - if(!config.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) + if(!bukkitConfig.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) return true; - double cost = config.getDouble("economy.cost-to-create"); + double cost = bukkitConfig.getDouble("economy.cost-to-create"); EconomyResponse resp = Main.econ.withdrawPlayer(player.getName(), cost); if(resp.transactionSuccess()) { player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_CREATE.toString()); @@ -64,10 +70,10 @@ public class EconomyOperations { * @return transaction success. */ public static boolean refundOnDelete(Player player) { - if(!config.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) + if(!bukkitConfig.getBoolean("economy.enabled") || player.hasPermission("playervaults.free") || !Main.useVault) return true; - double cost = config.getDouble("economy.refund-on-delete"); + double cost = bukkitConfig.getDouble("economy.refund-on-delete"); EconomyResponse resp = Main.econ.depositPlayer(player.getName(), cost); if(resp.transactionSuccess()) { player.sendMessage(Lang.TITLE.toString() + Lang.REFUND_AMOUNT.toString());