This tutorial is still being finished!!! Using Config.yml imports: You need to import the next things: Code:java import java.io.File; creating file/checking important settings now when the plugin is enabled you have to possible situations. A. Config file doesn't exist B. Config file does exist This is the code you'll need to put in the onEnable() part: Code:java public void onEnable() { File file = new File(getDataFolder() + File.separator + "config.yml"); //This will get the config file if (!file.exists()){ //This will check if the file exist //Situation A, File doesn't exist getConfig().addDefault("Name", "Value"); //adding default settings //Save the default settings getConfig().options().copyDefaults(true); saveConfig(); } else { //situation B, Config does exist CheckConfig(); //function to check the important settings saveConfig(); //saves the config reloadConfig(); //reloads the config } } Now as you can see, in situation B there is a function CheckConfig(); This funcion will check of important settings aren't deleted Code:java public void CheckConfig() { if(getConfig().get("Name") == null){ //if the setting has been deleted it will be null getConfig().set("Name", "Value"); //reset the setting saveConfig(); reloadConfig(); } } Getting information from config file Now to get the information from the config file you need to know what kind of info you need. Code:java //get StringString string = getConfig().getString("Name"); //get Integerint integer = getConfig().getInt("Name"); //get BooleanBoolean boolean = getConfig().getBoolean("Name"); Saving information Now to save information you just need to do Code:java getConfig().set("Name", "Value");saveConfig();reloadConfig(); Now the saveConfig(); and reloadConfig(); are very important! If you don't place these lines your settings won't be updated. Naming your settings What is the best way to choose your names for your settings? The best way to choose a name: 1) think what settings you all want to save in the config 2) divide them into several big groups. Example: Default, Players, Messages ... 3) now per group think what will be placed in the group and maybe make more little groups in the bigger groups. 4) Start making the names for your settings using "." to make it this way it will be organised using the groups from above. Example: Group1.Group12.Setting1, Group1.Group12.Setting2 Default.Enabled, Default.Online ... Players.GyllieGyllie.ip, Players.GyllieGyllie.rank, Players.GyllieGyllie.money ... If you then open the config file you see the settings will be organised like this: