public void onEnable()
	{
		instance = this;
		
		getServer().getPluginManager().registerEvents( this, this );
		
		getConfig().options().copyDefaults( true );
		
		INationsCommandExecutor ExeClass = new INationsCommandExecutor( this );
		
		getCommand( "iplayer" ).setExecutor( ExeClass );
		getCommand( "iadmin" ).setExecutor( ExeClass );
		getCommand( "inv" ).setExecutor( ExeClass );
		getCommand( "clear" ).setExecutor( ExeClass );
		getCommand( "t" ).setExecutor( ExeClass );
		getCommand( "o" ).setExecutor( ExeClass );
		getCommand( "e" ).setExecutor( ExeClass );
		getCommand( "c" ).setExecutor( ExeClass );
		getCommand( "q" ).setExecutor( ExeClass );
		getCommand( "g" ).setExecutor( ExeClass );
		getCommand( "tell" ).setExecutor( ExeClass );
		getCommand( "goto" ).setExecutor( ExeClass );
		
		Long ticks = getConfig().getLong( "globals.msgFreq", 5000L );
		
		syncId = Bukkit.getScheduler().scheduleAsyncRepeatingTask( this, new Runnable()
		{
			public void run()
			{
				if ( broadEnabled )
					broadcastMessage();
			}
			
		}, 200L, ticks );
		
		if ( syncId == -1 )
		{
			System.out.println( "We have failed to initalize a synced task." );
		}
		
		/*
		 * Load GriefPrevention Plugin
		 */
		if ( !gp() )
			System.out.println( "[iNations] Grief Prevention plugin was not detected. Please install it so iNations can work properly." );
		
		/*
		 * Load Vault Plugin
		 */
		RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration( net.milkbowl.vault.permission.Permission.class );
		
		if ( permissionProvider == null )
		{
			System.out.println( "Vault plugin was not detected. Please install it or else we can not properly format chat." );
		}
		else
		{
			perm = permissionProvider.getProvider();
		}
		
		System.out.println( this.toString() + " has been loaded." );
		pluginEnabled = true;
		
		if ( getConfig().getBoolean( "global.remote_enabled", false ) )
			wss = new WebSocketService( getConfig().getString( "global.server_addr", "localhost" ), getConfig().getLong( "global.server_port", 1040 ), this );
		
		loadSlotQue();
	}