ソースを参照

Update LoadProperties to use new FileConfiguration

TheYeti 13 年 前
コミット
401af172ae

+ 2 - 1
Changelog.txt

@@ -7,7 +7,8 @@ Version 1.2.09-dev
  - Changed timer to be a bit more efficient (Issue #19)
  - Changed to fire EntityDamageEvents for all damage done by mcMMO
  - New custom event for developers McMMOPlayerLevelUpEvent
- - New custmo event for developers McMMOItemSpawnEvent
+ - New custom event for developers McMMOItemSpawnEvent
+ - Fishing Configuration inclusion (Pull Request #60)
 
 Version 1.2.08
  - Changed Bukkit events to new event system

+ 38 - 19
src/main/java/com/gmail/nossr50/config/LoadProperties.java

@@ -16,8 +16,11 @@
 */
 package com.gmail.nossr50.config;
 
+import com.gmail.nossr50.mcMMO;
 import java.io.File;
-import org.bukkit.util.config.Configuration;
+import java.io.IOException;
+
+import org.bukkit.configuration.file.FileConfiguration;
 
 import com.gmail.nossr50.datatypes.HUDType;
 
@@ -53,21 +56,27 @@ public class LoadProperties
 	archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
 	
 	public static HUDType defaulthud;
+	protected static File configFile;
+	protected static File dataFolder;
+	protected final mcMMO plugin;
+	protected static FileConfiguration config;
 	
-	public String directory = "plugins/mcMMO/"; 
-	
-	File file = new File(directory + File.separator + "config.yml");
-	static Configuration config = null;
+	public LoadProperties(mcMMO plugin)
+	{
+		this.plugin = plugin;
+		dataFolder = plugin.getDataFolder();
+		configFile = new File(dataFolder, "config.yml");
+	}
 	
 	public void configCheck()
 	{
-		new File(directory).mkdir();
-		config = load();
-		if(!file.exists())
+		load();
+		if(!configFile.exists())
 		{
 			try 
 			{
-				file.createNewFile();
+				configFile.getParentFile().mkdir();
+				configFile.createNewFile();
 				addDefaults();
 			} 
 			catch (Exception ex) 
@@ -83,27 +92,26 @@ public class LoadProperties
 	    private void write(String root, Object x)
 	    {
 	    	//Configuration config = load();
-	        config.setProperty(root, x);
-	        config.save();
+	        config.set(root, x);
 	    }
 	    private Boolean readBoolean(String root, Boolean def)
 	    {
 	    	//Configuration config = load();
 	    	Boolean result = config.getBoolean(root, def);
-	    	config.save();
+	    	saveConfig();
 	        return result;
 	    }
 	    private Double readDouble(String root, Double def)
 	    {
 	    	Double result = config.getDouble(root, def);
-	    	config.save();
+	    	saveConfig();
 	    	return result;
 	    }
 	    private Integer readInteger(String root, Integer def)
 	    {
 	    	//Configuration config = load();
 	    	Integer result = config.getInt(root, def);
-	    	config.save();
+	    	saveConfig();
 	        return result;
 	    }
 	    
@@ -111,22 +119,31 @@ public class LoadProperties
 	    {
 	    	//Configuration config = load();
 	    	String result = config.getString(root, def);
-	    	config.save();
+	    	saveConfig();
 	        return result;
 	    }
 	    
-	    private Configuration load()
+	    private FileConfiguration load()
 	    {
 	        try {
-	            Configuration configx = new Configuration(file);
-	            configx.load();
-	            return configx;
+	            config.load(configFile);
+	            return config;
 
 	        } catch (Exception e) {
 	            e.printStackTrace();
 	        }
 	        return null;
 	    }
+	    
+	    private static void saveConfig()
+	    {
+	    	try {
+	    		config.save(configFile);
+	    	} catch (IOException e) {
+	    		e.printStackTrace();
+	    	}
+	    }
+	    
 	    private void addDefaults()
 	    {
 	        System.out.println("Generating Config File...");  	
@@ -389,6 +406,7 @@ public class LoadProperties
 	        write("Fishing.Drops.Glowstone_Dust", true);
 	        write("Fishing.Drops.Diamonds", true);
 	        
+	        saveConfig();
 	    	loadkeys();
 	    }
 	    private void loadkeys()
@@ -396,6 +414,7 @@ public class LoadProperties
 	        System.out.println("Loading Config File...");
 	        
 	        //Setup default HUD
+	        load();
 	        String temp = readString("Spout.HUD.Default", "STANDARD");
 	        for(HUDType x : HUDType.values())
 	        {

+ 1 - 1
src/main/java/com/gmail/nossr50/mcMMO.java

@@ -97,7 +97,7 @@ public class mcMMO extends JavaPlugin
 	public Misc misc = new Misc(this);
 
 	//Config file stuff
-	LoadProperties config = new LoadProperties();
+	LoadProperties config = new LoadProperties(this);
 	//Jar stuff
 	public static File mcmmo;