apache_conf 我写的一些旧的配置类实际上非常好用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache_conf 我写的一些旧的配置类实际上非常好用相关的知识,希望对你有一定的参考价值。

package com.franga2000.capturetheflag.config;

import org.bukkit.configuration.serialization.ConfigurationSerialization;

import com.franga2000.capturetheflag.arena.Arena;

public class ConfigManager {
	public static Config ARENAS;
    public static Config KITS;
    public static Config CONFIG;
    public static Config SIGNS;
    
	public static void init() {
		ConfigurationSerialization.registerClass(SerializableLocation.class, "CTF_Location");
		ConfigurationSerialization.registerClass(Arena.class, "CTF_Arena");
		ConfigurationSerialization.registerClass(Arena.class, "CTF_Kit");
	    ConfigurationSerialization.registerClass(ArenaSign.class, "CTF_ArenaSign");
	    
		ARENAS = new Config("arenas.yml");
		CONFIG = new Config("config.yml");
		KITS = new Config("kits.yml");
		SIGNS = new Config("signs.yml");
	}
}
package com.franga2000.capturetheflag.config;

import java.io.File;
import java.io.IOException;

import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;

import com.franga2000.capturetheflag.Main;
import com.franga2000.capturetheflag.Util;

public class Config extends YamlConfiguration {
	File file;
	
	public Config(String filename) {
		this(new File(Main.instance.getDataFolder(), filename));
	}
	
	public Config(File file) {
		this.file = file;
		try {
			reload();
		} catch (IOException e) {
			Util.logToConsole("&cThere was an error reading from the configuration file &e" + file.getName() + "&c!");
			e.printStackTrace();
		} catch (InvalidConfigurationException e) {
			Util.logToConsole("&cThere was an error in the configuration file &e" + file.getName() + "&c!");
			e.printStackTrace();
		}
	}

	public void reload() throws IOException, InvalidConfigurationException {
		if (!file.exists()) {
			file.getParentFile().mkdirs();
			Main.instance.saveResource(file.getName(), false);
		}
		this.load(file);
	}
	
	public void save() {
		try {
			save(file);
		} catch (IOException e) {
			Util.logToConsole("&cThere was an error saving the configuration file &e" + file.getName() + "&c!");
			e.printStackTrace();
		}
	}
}

以上是关于apache_conf 我写的一些旧的配置类实际上非常好用的主要内容,如果未能解决你的问题,请参考以下文章