public void onEnable()
	{
		l.info("SpinningSign By NorthPL starting!");
		
		new EventBlockBreak(this);
		new AutoDisableTask(this);
		
		this.saveDefaultConfig();
		
	    loadConfig();
	    
		Main.l.info("[SpinningSign] Language: "+confLanguage+" (available languages: en, pl)");
		Main.l.info("[SpinningSign] Update checking: "+confCheckUpdate);
		Main.l.info("[SpinningSign] Automatic download update?: "+confAutoUpdate);
		Main.l.info("[SpinningSign] In left?: "+confInLeft);
		Main.l.info("[SpinningSign] Period beetwen sign move: "+confPeriod);
		Main.l.info("[SpinningSign] Require players online?: "+confRequirePlayersOnline);
		Main.l.info("[SpinningSign] Autosave database?: "+confAutoSaveDatabase);
		Main.l.info("[SpinningSign] Autosave database time (in seconds): "+confAutoSaveDatabaseTimeInSeconds);
		
		langMngr = new LanguageManager(confLanguage);
		
		SignsManager.reload();

		getCommand("spinningsign").setExecutor(new Commands(this));
		if (plugin.getServer().getOnlinePlayers().length != 0 || !confRequirePlayersOnline)
		{
			task = new SignMoveTask(this).runTaskTimerAsynchronously(Main.plugin, 20, Long.valueOf(confPeriod).longValue());
		}
		
		if (confCheckUpdate)
		{
			if (!confAutoUpdate)
			{
				updType = UpdateType.NO_DOWNLOAD;
			}
			updater = new Updater(this, 77604, this.getFile(), updType, true);
		}
		
		try {
			l.info("[SpinningSign] Starting Metrics! (mcstats.org)");
		    Metrics metrics = new Metrics(this);
		    
		    Graph weaponsUsedGraph = metrics.createGraph("Language");
		    
		    weaponsUsedGraph.addPlotter(new Metrics.Plotter(confLanguage) {
	            @Override
	            public int getValue() {
	                    return 1;
	            }
	    });
		    
		    metrics.start();
		} catch (IOException e) {
		    l.severe("[SpinningSign] Error while running Metrics!");
		    e.printStackTrace();
		}
		
		if (confAutoSaveDatabase)
		{
			databaseSaveTask = new DatabaseAutoSaveTask(this).runTaskTimerAsynchronously(Main.plugin, confAutoSaveDatabaseTimeInSeconds*20, confAutoSaveDatabaseTimeInSeconds*20);
		}
		
	}