mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-25 02:04:44 +02:00
Fixed treasures config NPE
This commit is contained in:
@ -19,22 +19,8 @@ package com.gmail.nossr50.config;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.gmail.nossr50.datatypes.HUDType;
|
||||
import com.gmail.nossr50.datatypes.treasure.ExcavationTreasure;
|
||||
import com.gmail.nossr50.datatypes.treasure.FishingTreasure;
|
||||
import com.gmail.nossr50.datatypes.treasure.Treasure;
|
||||
|
||||
public class LoadProperties {
|
||||
public static Boolean enableOnlyActivateWhenSneaking,
|
||||
@ -162,7 +148,7 @@ public class LoadProperties {
|
||||
}
|
||||
|
||||
private void loadKeys() {
|
||||
plugin.getLogger().info("Loading Config File...");
|
||||
plugin.getLogger().info("Loading mcMMO config.yml File...");
|
||||
|
||||
// Setup default HUD
|
||||
String temp = readString("Spout.HUD.Default", "STANDARD");
|
||||
|
@ -43,14 +43,14 @@ public class LoadTreasures {
|
||||
this.plugin = plugin;
|
||||
dataFolder = plugin.getDataFolder();
|
||||
configFile = new File(dataFolder, File.separator + "treasures.yml");
|
||||
config = plugin.getCustomConfig();
|
||||
config = plugin.getTreasuresConfig();
|
||||
}
|
||||
|
||||
public void load() {
|
||||
// If not exist, copy from the jar
|
||||
if (!configFile.exists()) {
|
||||
dataFolder.mkdir();
|
||||
plugin.saveCustomConfig();
|
||||
config.options().copyDefaults();
|
||||
}
|
||||
addDefaults();
|
||||
loadKeys();
|
||||
@ -77,14 +77,14 @@ public class LoadTreasures {
|
||||
|
||||
private void loadKeys()
|
||||
{
|
||||
plugin.getLogger().info("Loading Config File...");
|
||||
plugin.getLogger().info("Loading mcMMO treasures.yml File...");
|
||||
|
||||
// Load treasures
|
||||
Map<String, Treasure> treasures = new HashMap<String, Treasure>();
|
||||
|
||||
ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
|
||||
Set<String> treasureConfigSet = treasureSection.getKeys(true);
|
||||
Iterator<String> iterator = treasureConfigSet.iterator();
|
||||
Set<String> treasureConfigSet = treasureSection.getKeys(false);
|
||||
Iterator<String> iterator = treasureConfigSet.iterator();
|
||||
while(iterator.hasNext())
|
||||
{
|
||||
String treasureName = iterator.next();
|
||||
|
@ -392,38 +392,38 @@ public class mcMMO extends JavaPlugin
|
||||
* Boilerplate Custom Config Stuff
|
||||
*/
|
||||
|
||||
private FileConfiguration customConfig = null;
|
||||
private File customConfigFile = null;
|
||||
private FileConfiguration treasuresConfig = null;
|
||||
private File treasuresConfigFile = null;
|
||||
|
||||
public void reloadCustomConfig() {
|
||||
if (customConfigFile == null) {
|
||||
customConfigFile = new File(getDataFolder(), "customConfig.yml");
|
||||
public void reloadTreasuresConfig() {
|
||||
if (treasuresConfigFile == null) {
|
||||
treasuresConfigFile = new File(getDataFolder(), "treasures.yml");
|
||||
}
|
||||
customConfig = YamlConfiguration.loadConfiguration(customConfigFile);
|
||||
treasuresConfig = YamlConfiguration.loadConfiguration(treasuresConfigFile);
|
||||
|
||||
// Look for defaults in the jar
|
||||
InputStream defConfigStream = getResource("customConfig.yml");
|
||||
InputStream defConfigStream = getResource("treasures.yml");
|
||||
if (defConfigStream != null) {
|
||||
YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defConfigStream);
|
||||
customConfig.setDefaults(defConfig);
|
||||
treasuresConfig.setDefaults(defConfig);
|
||||
}
|
||||
}
|
||||
|
||||
public FileConfiguration getCustomConfig() {
|
||||
if (customConfig == null) {
|
||||
reloadCustomConfig();
|
||||
public FileConfiguration getTreasuresConfig() {
|
||||
if (treasuresConfig == null) {
|
||||
reloadTreasuresConfig();
|
||||
}
|
||||
return customConfig;
|
||||
return treasuresConfig;
|
||||
}
|
||||
|
||||
public void saveCustomConfig() {
|
||||
if (customConfig == null || customConfigFile == null) {
|
||||
public void saveTreasuresConfig() {
|
||||
if (treasuresConfig == null || treasuresConfigFile == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
customConfig.save(customConfigFile);
|
||||
treasuresConfig.save(treasuresConfigFile);
|
||||
} catch (IOException ex) {
|
||||
Logger.getLogger(JavaPlugin.class.getName()).log(Level.SEVERE, "Could not save config to " + customConfigFile, ex);
|
||||
Logger.getLogger(JavaPlugin.class.getName()).log(Level.SEVERE, "Could not save config to " + treasuresConfigFile, ex);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user