public void onEnable(){
    	this.log = this.getLogger();

    	saveDefaultConfig();

    	// for previous version
    	getConfig().options().copyDefaults(true);
    	saveConfig();

    	// update check
    	final int PROJECT_ID = 43601;
    	if(getConfig().getBoolean("update-check", true)){
    		Updater updater = new Updater(this, PROJECT_ID, this.getFile(), Updater.UpdateType.NO_DOWNLOAD, false);
    		boolean isUpdateAvailable = (updater.getResult() == Updater.UpdateResult.UPDATE_AVAILABLE);

    		if(isUpdateAvailable){
    			this.log.info("New version is available:" + updater.getLatestName());
    			this.log.info("Download Link:" + updater.getLatestFileLink());
        		// execute auto update
        		if(getConfig().getBoolean("auto-update", false)){
            		this.log.info("Auto-update is enabled, I'll update to latest version...");
        			new Updater(this, PROJECT_ID, this.getFile(), Updater.UpdateType.DEFAULT, false);
        		}
    		}
    		else{
        		this.log.info("This is the latest version!");

    		}
    	}
    	else{
    		this.log.info("Update check was skipped.");
    	}

    	this.inventoryManager = new InventoryManager(this);

    	// copy default special inventory file
    	File spInvFile = inventoryManager.getDefaultSpecialInventoryFile();
    	if(!spInvFile.exists()){
    		saveResource(spInvFile.getName(), false);
    	}

    	// Use MCStats:
    	// http://mcstats.org/plugin/ToggleInventory
    	if(!getConfig().getBoolean("disable-mcstats", false)){
	    	try {
	    		this.log.info("MCStats enabled. You can disable via config.yml.");
				Metrics metrics = new Metrics(this);
				metrics.start();
			} catch (IOException e) {
				// Failed to submit the stats :-(
			}
    	}else{
    		this.log.info("MCStats disabled.");
    	}
    }