protected void mainTimer() {
        if (hasSomebodyWon()) {
            somebodyWon();
        }

        updatePowerUps();
        updateBall();
        updatePaddles();

        if (isBlackHole) {
            ball.useGravity(blackHole);
            for (PowerUp p : powerUpList) {
                p.useGravity(blackHole);
            }
            updateBlackHole();
        }

        if (isTeleport) {
            updateTeleport();
        }

        repaint();
    }