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 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() {
@@ -58,6 +60,8 @@ public class Main extends JavaPlugin {
inventoriesToDrop = getConfig().getInt("drop-on-death.inventories");
}
config = getConfig();
}
public void transferVaults() {
@@ -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());