Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.castegaming.plugins.FPSCaste.config;
- import java.io.File;
- import java.io.IOException;
- import java.io.InputStream;
- import net.castegaming.plugins.FPSCaste.FPSCaste;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- public class Config {
- public FPSCaste plugin;
- public Config(){
- plugin = FPSCaste.getInstance();
- }
- /**
- * Creates the specified config (Doesnt save!)
- * @param name The config to create
- * @return The config which you just made
- */
- public FileConfiguration createConfig(String name) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder(),name);
- if (!file.exists()) {
- plugin.getDataFolder().mkdir();
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return YamlConfiguration.loadConfiguration(file);// returns the newly created configuration object.
- }
- /**
- * Saves the specified config to the main plugin dir.<br/>
- * The string is the name of the config to save
- * @param name The name the config should have
- * @param config The config to save
- * @return nothing
- */
- public void saveConfig(String name, FileConfiguration config) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder(),name);
- try {
- config.save(file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * Gets the specified config from the main plugin dir
- * @param name The config to get
- * @return The config or null if it doesnt exist
- */
- public FileConfiguration getConfig(String name) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder(), name);
- if (!file.exists()){
- return null;
- } else {
- return YamlConfiguration.loadConfiguration(file);
- }
- }
- /******************************Player configs***************************************/
- /**
- * Creates a player config, and saves it to disk
- * @param name name of the config/player
- */
- public void createPlayerConfig(String name) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder() + File.separator + "players", name);
- if (!file.exists()) {
- try {
- file.createNewFile();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- FileConfiguration playerfile = getPlayerConfig(name);
- FileConfiguration defaultplayer = getConfig("defaultplayer");
- for (String key : defaultplayer.getKeys(false)){
- playerfile.set(key, defaultplayer.get(key));
- }
- savePlayerConfig(name, playerfile);
- }
- /**
- * Saves the player config to disk
- * @param name the name of the player/config
- * @param config the Player his config to save
- */
- public void savePlayerConfig(String name, FileConfiguration config) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder() + File.separator + "players", name);
- try {
- config.save(file);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * Gets the player his configuration
- * @param name the name of the player/config
- * @return the config
- */
- public FileConfiguration getPlayerConfig(String name) {
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- File file = new File(plugin.getDataFolder() + File.separator + "players", name);
- if (!file.exists()){
- return null;
- } else {
- return YamlConfiguration.loadConfiguration(file);
- }
- }
- /**
- * Copys values from a config inside the plugin jar
- * @param name the name of the config to copy
- * @return the freshly made config
- */
- public FileConfiguration copy(String name){
- if (!name.endsWith(".yml")) {
- name = name + ".yml";
- }
- FileConfiguration config = getConfig(name);
- //Does this config exist?
- if (config != null){
- InputStream defaultStream = plugin.getResource(name);
- //does the raw config exist?
- if (defaultStream != null){
- //laod the stream into a config
- YamlConfiguration defConfig = YamlConfiguration.loadConfiguration(defaultStream);
- //add the defaults to the config
- config.addDefaults(defConfig);
- //save the config to disk
- saveConfig(name, defConfig);
- //return the filled config
- return config;
- } else {
- return null;
- }
- } else {
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement