Fix NPE getting config.

This commit is contained in:
drtshock
2013-03-19 22:30:26 -05:00
parent 5fe91c5abf
commit 7c63422853
2 changed files with 23 additions and 13 deletions
@@ -8,6 +8,7 @@ import java.util.logging.Logger;
import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.economy.Economy;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
@@ -20,7 +21,7 @@ import com.drtshock.playervaults.util.Updater;
public class Main extends JavaPlugin { public class Main extends JavaPlugin {
public Main plugin; public static Main plugin;
public Logger log; public Logger log;
public static boolean update = false; public static boolean update = false;
public static String name = ""; public static String name = "";
@@ -29,6 +30,7 @@ public class Main extends JavaPlugin {
public static boolean dropOnDeath = false; public static boolean dropOnDeath = false;
public static int inventoriesToDrop = 0; public static int inventoriesToDrop = 0;
public static boolean useVault = false; public static boolean useVault = false;
public static FileConfiguration config;
@Override @Override
public void onEnable() { public void onEnable() {
@@ -57,6 +59,8 @@ public class Main extends JavaPlugin {
dropOnDeath = true; dropOnDeath = true;
inventoriesToDrop = getConfig().getInt("drop-on-death.inventories"); inventoriesToDrop = getConfig().getInt("drop-on-death.inventories");
} }
config = getConfig();
} }
@@ -1,22 +1,28 @@
package com.drtshock.playervaults.util; package com.drtshock.playervaults.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import net.milkbowl.vault.economy.EconomyResponse; 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 org.bukkit.entity.Player;
import com.drtshock.playervaults.Main; import com.drtshock.playervaults.Main;
public class EconomyOperations { 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; public Main plugin;
private static FileConfiguration config; public EconomyOperations(Main instance) throws FileNotFoundException, IOException, InvalidConfigurationException {
public EconomyOperations(Main instance) {
this.plugin = instance; this.plugin = instance;
EconomyOperations.config = plugin.getConfig(); bukkitConfig.load(configFile);
} }
/** /**
* Have a player pay to open a vault. * Have a player pay to open a vault.
* Returns true if successful. Otherwise false. * Returns true if successful. Otherwise false.
@@ -24,10 +30,10 @@ public class EconomyOperations {
* @return transaction success * @return transaction success
*/ */
public static boolean payToOpen(Player player) { 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; 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); EconomyResponse resp = Main.econ.withdrawPlayer(player.getName(), cost);
if(resp.transactionSuccess()) { if(resp.transactionSuccess()) {
player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_OPEN.toString()); player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_OPEN.toString());
@@ -44,10 +50,10 @@ public class EconomyOperations {
* @return transaction success * @return transaction success
*/ */
public static boolean payToMake(Player player) { 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; 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); EconomyResponse resp = Main.econ.withdrawPlayer(player.getName(), cost);
if(resp.transactionSuccess()) { if(resp.transactionSuccess()) {
player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_CREATE.toString()); player.sendMessage(Lang.TITLE.toString() + Lang.COST_TO_CREATE.toString());
@@ -64,10 +70,10 @@ public class EconomyOperations {
* @return transaction success. * @return transaction success.
*/ */
public static boolean refundOnDelete(Player player) { 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; 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); EconomyResponse resp = Main.econ.depositPlayer(player.getName(), cost);
if(resp.transactionSuccess()) { if(resp.transactionSuccess()) {
player.sendMessage(Lang.TITLE.toString() + Lang.REFUND_AMOUNT.toString()); player.sendMessage(Lang.TITLE.toString() + Lang.REFUND_AMOUNT.toString());