content: package com.alecgorge.minecraft.jsonapi.adminium;
  
  import java.io.File;
  import java.util.HashMap;
  import java.util.List;
  import java.util.Map;
  
  import org.bukkit.configuration.InvalidConfigurationException;
  import org.bukkit.plugin.Plugin;
  
  import com.alecgorge.minecraft.jsonapi.JSONAPI;
  import com.alecgorge.minecraft.jsonapi.config.Config;
  
  public class Adminium3Config extends Config {
  	public Adminium3Config(Plugin plugin) {
  		CONFIG_FILE = new File(plugin.getDataFolder(), "adminium3.yml");
  		CONFIG_HEADER = "Adminium v3 config. Do not edit unless you know what you are doing";
  	}
  	
  	public static Adminium3Config inst = null;
  	public static Adminium3Config config() {
  		if(inst == null) {
  			inst = new Adminium3Config(JSONAPI.instance);
  			try {
  				inst.init();
  			} catch (InvalidConfigurationException e) {
  				e.printStackTrace();
  			}
  		}
  		return inst;
  	}
  	
  	@Override
  	public Config init() throws InvalidConfigurationException {
  		Config c = super.init();
  		
  		if(notificationDefaults == null || notificationDefaults.keySet().size() < 4) {
  			Map<String, Boolean> def = new HashMap<String, Boolean>();
  			def.put("calladmin", true);
  			def.put("taboo", false);
  			def.put("severe", true);
  			def.put("player_join", false);
  			def.put("player_quit", false);
  			
  			notificationDefaults = def;
  		}
  		
  		if(taboo == null) {
  			taboo = new HashMap<String, List<String>>();
  		}
  		
  		if(devices == null) {
  			devices = new HashMap<String, Map<String,Boolean>>();
  		}
  		
  		this.save();
  		
  		return c;
  	}
  	
  	public Map<String, Map<String, Boolean>> devices;
  	public Map<String, Boolean> notificationDefaults;
  	public Map<String, List<String>> taboo;
  	
  	public Map<String, Boolean> getDevicePushNotificationSettings(String device) {
  		return devices.get(devices);
  	}
  }
  