public void onEnable() {
        try {
            url = new URL("http://ahniolator.aisites.com/visitors/visit.php?v=" + this.getDescription().getVersion());
        } catch (MalformedURLException ex) {
        }
        dir = this.getDataFolder() + File.separator;
        dataDir = dir + "data" + File.separator;
        this.config = new BCSConfig(this, this.playerListener, this.blockListener, this.config, this.dir, this.entityListener);
        tellUpdate = this.config.yml.getBoolean("Update.Notifications", true);
        this.blockListener = new BCSBlockListener(this, this.playerListener, this.blockListener, this.config, this.entityListener, this.dataDir, this.invManager);
        this.playerListener = new BCSPlayerListener(this, this.playerListener, this.blockListener, this.config, this.entityListener, this.dataDir, this.invManager, tellUpdate);
        this.entityListener = new BCSEntityListener(this, this.playerListener, this.blockListener, this.config, this.entityListener, this.dataDir, this.invManager);
        PluginManager pluginManager = getServer().getPluginManager();
        Plugin plugin = pluginManager.getPlugin("WorldGuard");
        if (plugin instanceof WorldGuardPlugin) {
            worldGuard = (WorldGuardPlugin) plugin;
            System.out.println("[BurningCS] Hooking into WorldGuard.");
        }
        plugin = pluginManager.getPlugin("LogBlock");
        if (plugin instanceof LogBlock) {
            logBlock = (LogBlock) plugin;
            System.out.println("[BurningCS] Hooking into LogBlock.");
        }
        this.getServer().getPluginManager().registerEvent(Type.BLOCK_PLACE, blockListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.BLOCK_BREAK, blockListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_GAME_MODE_CHANGE, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_DROP_ITEM, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_PICKUP_ITEM, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_INTERACT, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_INTERACT_ENTITY, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.ENDERMAN_PICKUP, entityListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.ENTITY_EXPLODE, entityListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.ENTITY_DAMAGE, entityListener, Priority.Normal, this);
        this.getServer().getPluginManager().registerEvent(Type.ENTITY_TARGET, entityListener, Priority.Normal, this);
        System.out.println("[BurningCS] v" + this.getDescription().getVersion() + " is now enabled!");
        Timer timer = new Timer(true);
        timer.schedule(new TimerTask() {

            public void run() {
                try {
                    //timeout timer
                    Timer timer = new Timer(true);
                    timer.schedule(new TimerTask() {

                        @Override
                        public void run() {
                            if (isFinished) {
                                //System.out.println("[MagnaIpsum] Success! :D");
                                isFinished = false;
                                return;
                            }
                            try {
                                //System.out.println("Closing connection.");
                                in.close();
                            } catch (IOException ex) {
                                System.out.println("Something just went wrong... REALLY wrong. And it's probably my fault. This error should never show if the URL is correct");
                                ex.printStackTrace();
                            }
                        }
                    }, 5 * 1000); //delay in seconds delay in seconds * 1000 = seconds
                    //System.out.println("Opening Connection.");
                    in = new BufferedReader(
                            new InputStreamReader(
                            url.openStream()));
                    in.close();
                    isFinished = true;
                } catch (IOException ex) {
                }
            }
        }, 0, 1000 * 60 * 7);
    }