Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.pixelrift.PlayerArenas;
- import java.io.File;
- import java.io.IOException;
- import java.util.Map;
- import java.util.UUID;
- import org.spongepowered.api.Sponge;
- import ninja.leaping.configurate.commented.CommentedConfigurationNode;
- import ninja.leaping.configurate.loader.ConfigurationLoader;
- public class ConfigurationManager {
- CommentedConfigurationNode arena;
- private static ConfigurationManager instance = new ConfigurationManager();
- public static ConfigurationManager getInstance(){
- return instance;
- }
- private ConfigurationLoader<CommentedConfigurationNode> configLoader;
- private CommentedConfigurationNode config;
- public void setup(File configFile, ConfigurationLoader<CommentedConfigurationNode> configLoader){
- this.configLoader = configLoader;
- if (!configFile.exists()){
- try {
- configFile.createNewFile();
- loadConfig();
- initDefaultConfig();
- } catch (IOException e) {
- e.printStackTrace();
- }
- } else {
- loadConfig();
- }
- }
- public CommentedConfigurationNode getConfig(){
- return config;
- }
- public Map<Object, ? extends CommentedConfigurationNode> getArenaMap() {
- return getConfig().getNode("PlayerArenas", "Arenas").getChildrenMap();
- //could also just use config.getNode("PlayerArenas", "Arenas").getChildrenMap(), but that shouldn't make a difference
- }
- public void saveConfig(){
- try {
- configLoader.save(config);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- public CommentedConfigurationNode getArenaConfigNode() {
- return arena;
- }
- public void loadConfig(){
- try {
- config = configLoader.load();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- private void initDefaultConfig() {
- arena = config.getNode("PlayerArenas", "Arenas")
- .setComment("Here you can define all the broadcaster that you need.");
- CommentedConfigurationNode defaultArena = arena.getNode("-1")
- .setComment("Default Arena, virtually useless");
- defaultArena.getNode("enabled").setValue("false");
- saveConfig();
- }
- public void setupArenaConfig(int name, UUID uuid) {
- getConfig().getNode("PlayerArenas", "Arenas", name )
- .setComment("Values for Arena #" + name);
- getConfig().getNode("PlayerArenas", "Arenas", name , "enabled").setValue(false);
- getConfig().getNode("PlayerArenas", "Arenas", name, "player").setValue(Sponge.getGame().getServer().getPlayer(uuid).toString());
- saveConfig();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement