XerClient

Not just a client, it's XerClient.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         XerClient
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  Not just a client, it's XerClient.
// @author       XerClient
// @match        https://bloxd.io/
// @icon         https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT_PA4hIGnGfIWa7Yk6Q0586W3uzezNAydF6YZ0g6QB6A&s
// @grant        none
// @license      none
// ==/UserScript==

;(original => (Date.now = () => original() * 2.1).toString = () => "function now() {\n    [native code]\n}")(Date.now);

(function() {
    'use strict';

    // Create GUI element and set its style
    var gui = document.createElement('div');
    gui.style.position = 'fixed';
    gui.style.top = '10px';
    gui.style.right = '10px';
    gui.style.backgroundColor = '#b51515'; // Main color is black
    gui.style.color = 'white';
    gui.style.border = '1px solid #333';
    gui.style.padding = '5px';
    gui.style.borderRadius = '5px';
    gui.style.zIndex = '9999';
    gui.style.display = 'none'; // Initially hide GUI
    document.body.appendChild(gui);

    // Function to toggle GUI visibility with 'U' key
    document.addEventListener('keydown', function(event) {
        if (event.key.toUpperCase() === 'U') {
            if (gui.style.display === 'none') {
                gui.style.display = 'block';
            } else {
                gui.style.display = 'none';
            }
        }
    });

    // Create note element for control instructions
    var note = document.createElement('div');
    note.textContent = 'Controls: Press U to toggle GUI';
    note.style.position = 'fixed';
    note.style.top = '50%';
    note.style.left = '50%';
    note.style.transform = 'translate(-50%, -50%)';
    note.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
    note.style.color = 'white';
    note.style.padding = '10px';
    note.style.borderRadius = '5px';
    note.style.zIndex = '9999';
    document.body.appendChild(note);

    // Function to hide note with spacebar press ('N' key in the original code)
    document.addEventListener('keydown', function(event) {
        if (event.code === 'Space') {
            note.style.display = 'none';
        }
    });

    // Rest of the code...

    var wholeAppWrapper = document.querySelector(".WholeAppWrapper");
    document.addEventListener('keydown', function(event) {
        if (event.key === 'U') {
            if (wholeAppWrapper.style.visibility === 'hidden') {
                wholeAppWrapper.style.visibility = 'visible';
            } else {
                wholeAppWrapper.style.visibility = 'hidden';
            }
        }
    });

    document.addEventListener('keydown', function(event) {
        if (event.key === 'u') {
            if (wholeAppWrapper.style.visibility === 'hidden') {
                wholeAppWrapper.style.visibility = 'visible';
            } else {
                wholeAppWrapper.style.visibility = 'hidden';
            }
        }
    });

    let GUI_THEME = {
        mainColor: "#b51515",
        transparentColor: "rgba(255, 0, 0, 0.4)",
        gradientFirst: "#6C3E93",
        gradientSecond: "#4B0082"
    };

    function addColorPicker(thingToChange) {
        let colorInput = document.createElement('input');
        colorInput.type = 'color';
        colorInput.value = thingToChange;
        colorInput.style.width = '100px';

        colorInput.addEventListener('input', function (event) {
            thingToChange = event.target.value;
            updateGUIColors(GUI_THEME.mainColor, GUI_THEME.transparentColor, GUI_THEME.gradientFirst, GUI_THEME.gradientSecond);
        });
        gui.appendChild(colorInput);
        return colorInput;
    }

    document.querySelector('.Title.FullyFancyText').textContent = "XerClient";
    let toggleKey = 'T';

    document.addEventListener('keydown', function(event) {
        if (event.key.toUpperCase() === toggleKey) {
            if (gui.style.display === 'none') {
                gui.style.display = 'block';
            } else {
                gui.style.display = 'none';
            }
        }
    });

    let isAutoRespawnEnabled = false;
    let isAutoDenyTeleportEnabled = false;
    let youtubeVolume = 100;  // Default volume
    let buttonArray = [];
    let modal;
    let watermark;

    function createStyledButton(text, onClickFunction, tooltipText = "") {
        const container = document.createElement('div');
        const button = document.createElement('button');
        button.textContent = text;
        button.onclick = onClickFunction;
        button.style.padding = '8px 15px';
        button.style.margin = '5px 0';
        button.style.borderRadius = '5px';
        button.style.border = 'none';
        button.style.background = `linear-gradient(90deg, ${GUI_THEME.gradientFirst}, ${GUI_THEME.gradientSecond})`;
        button.style.color = 'white';
        button.style.cursor = 'pointer';
        button.style.transition = 'background 0.3s';
        button.onmouseover = function() {
            button.style.background = `linear-gradient(90deg, ${GUI_THEME.gradientSecond}, ${GUI_THEME.gradientFirst})`;
        };
        button.onmouseout = function() {
            button.style.background = `linear-gradient(90deg, ${GUI_THEME.gradientFirst}, ${GUI_THEME.gradientSecond})`;
        };
        buttonArray.push(button);
        if (tooltipText) {
            const tooltip = document.createElement('div');
            tooltip.textContent = "?";
            tooltip.title = tooltipText;
            tooltip.style.display = "inline-block";
            tooltip.style.marginLeft = "10px";
            tooltip.style.color = "white";
            tooltip.style.cursor = "pointer";
            container.appendChild(button);
            container.appendChild(tooltip);
            return container;
        }

        return button;
    }

    // Remove Game's Background Music
    function removeGameBackgroundMusic() {
        const audioElements = document.querySelectorAll('audio, video');
        for (let audio of audioElements) {
            audio.pause();
            audio.remove();
        }
    }

    removeGameBackgroundMusic();

    // Welcome message modal
    modal = document.createElement('div');
    modal.style.position = 'fixed';
    modal.style.top = '50%';
    modal.style.left = '50%';
    modal.style.transform = 'translate(-50%, -50%)';
    modal.style.backgroundColor = GUI_THEME.mainColor;
    modal.style.border = '1px solid #333';
    modal.style.padding = '20px';
    modal.style.borderRadius = '5px';
    modal.style.zIndex = '99999';
    modal.innerHTML = "<strong style='color: white;'>Thanks for choosing XerClient! Join the Official Discord From the GUI! Press T to toggle the menu for the first time and Enjoy!</strong><br>";
    const closeButton = createStyledButton('Close', function() {
        document.body.removeChild(modal);
    });
    modal.appendChild(closeButton);
    document.body.appendChild(modal);

    // GUI container
    function addColorPicker(thingToChange) {
        let colorInput = document.createElement('input');
        colorInput.type = 'color';
        colorInput.value = GUI_THEME[thingToChange];
        colorInput.style.width = '100px';

        colorInput.addEventListener('input', function (event) {
            GUI_THEME[thingToChange] = event.target.value;
            updateGUIColors(GUI_THEME.mainColor, GUI_THEME.transparentColor, GUI_THEME.gradientFirst, GUI_THEME.gradientSecond);
        });
        gui.appendChild(colorInput);
        return colorInput;
    }
    addColorPicker("mainColor");
    addColorPicker("transparentColor");
    addColorPicker("gradientFirst");
    addColorPicker("gradientSecond");
    function addGUIComponents() {
        // Toggle Key Setting
        const toggleKeyLabel = document.createElement('label');
        toggleKeyLabel.textContent = 'Toggle Key:';
        const toggleKeyInput = document.createElement('input');
        toggleKeyInput.type = 'text';
        toggleKeyInput.value = toggleKey;
        toggleKeyInput.maxLength = 1;
        toggleKeyInput.style.width = '30px';
        toggleKeyInput.addEventListener('input', function(event) {
            toggleKey = toggleKeyInput.value.toUpperCase();
        });
        gui.appendChild(toggleKeyLabel);
        gui.appendChild(toggleKeyInput);
        gui.appendChild(document.createElement('br'));

        // Watermark
        watermark = document.createElement('div');
        watermark.textContent = 'XerClient';
        watermark.style.position = 'fixed';
        watermark.style.top = '5px';
        watermark.style.left = '50%';
        watermark.style.transform = 'translateX(-50%)';
        watermark.style.color = 'white';
        watermark.style.fontSize = '24px';
        watermark.style.fontWeight = 'bold';
        watermark.style.padding = '5px 10px';
        watermark.style.backgroundColor = GUI_THEME.transparentColor;
        watermark.style.borderRadius = '5px';
        watermark.style.zIndex = '10000';
        document.body.appendChild(watermark);

        // Auto Respawn Toggle
        const respawnContainer = createStyledButton(
            isAutoRespawnEnabled ? 'Disable Auto Respawn' : 'Enable Auto Respawn',
            function() {
                isAutoRespawnEnabled = !isAutoRespawnEnabled;
                respawnContainer.firstChild.textContent = isAutoRespawnEnabled ? 'Disable Auto Respawn' : 'Enable Auto Respawn';
            },
            'If enabled, when you die, the "Respawn" button will automatically click itself.'
        );
        gui.appendChild(respawnContainer);

        // Auto Deny Teleport Toggle
        const teleportContainer = createStyledButton(
            isAutoDenyTeleportEnabled ? 'Disable Auto Deny Teleport' : 'Enable Auto Deny Teleport',
            function() {
                isAutoDenyTeleportEnabled = !isAutoDenyTeleportEnabled;
                teleportContainer.firstChild.textContent = isAutoDenyTeleportEnabled ? 'Disable Auto Deny Teleport' : 'Enable Auto Deny Teleport';
            },
            'If enabled, when somebody sends you a Teleport Request, it will automatically deny the teleport request.'
        );
        gui.appendChild(teleportContainer);

        // Crosshair URL Input
        const crosshairUrlLabel = document.createElement('label');
        crosshairUrlLabel.textContent = 'Crosshair URL:';
        const crosshairUrlInput = document.createElement('input');
        crosshairUrlInput.type = 'text';
        crosshairUrlInput.placeholder = 'Enter the URL for your crosshair';
        crosshairUrlInput.addEventListener('keydown', function(event) {
            if (event.key === 'Enter') {
                modifyCrossHair(crosshairUrlInput.value);
            }
        });
        const crosshairTooltip = document.createElement('div');
        crosshairTooltip.textContent = "?";
        crosshairTooltip.title = "Find a transparent Crosshair image online (Reddit, Pinterest, etc), and paste the URL to the image here. This will swap the crosshair image with the one you provided.";
        crosshairTooltip.style.display = "block";
        crosshairTooltip.style.marginTop = "5px";
        crosshairTooltip.style.color = "white";
        crosshairTooltip.style.cursor = "pointer";

        gui.appendChild(crosshairUrlLabel);
        gui.appendChild(crosshairUrlInput);
        gui.appendChild(crosshairTooltip);

        // YouTube Audio Loop Input
        const youtubeLabel = document.createElement('label');
        youtubeLabel.textContent = 'YouTube Audio Loop:';
        const youtubeInput = document.createElement('input');
        youtubeInput.type = 'text';
        youtubeInput.placeholder = 'Paste YouTube link here...';
        youtubeInput.addEventListener('keydown', function(event) {
            if (event.key === 'Enter') {
                playYoutubeLoop(youtubeInput.value);
            }
        });
        const youtubeTooltip = document.createElement('div');
        youtubeTooltip.textContent = "?";
        youtubeTooltip.title = "[MAKE SURE TO MUTE IN GAME MUSIC!!!] Copy and Paste the YouTube URL to a music video to add some vibe to your gameplay! My personal favorite is LoFi, but the options are endless!";
        youtubeTooltip.style.display = "block";
        youtubeTooltip.style.marginTop = "5px";
        youtubeTooltip.style.color = "white";
        youtubeTooltip.style.cursor = "pointer";

        gui.appendChild(youtubeLabel);
        gui.appendChild(youtubeInput);
        gui.appendChild(youtubeTooltip);

        // Volume slider for YouTube Audio
        const volumeLabel = document.createElement('label');
        volumeLabel.textContent = 'Volume:';
        gui.appendChild(volumeLabel);

        const volumeSlider = document.createElement('input');
        volumeSlider.type = 'range';
        volumeSlider.min = 0;
        volumeSlider.max = 100;
        volumeSlider.value = youtubeVolume;
        volumeSlider.oninput = function() {
            youtubeVolume = volumeSlider.value;
            adjustYoutubeVolume(youtubeVolume / 100); // The API expects a range from 0.0 to 1.0
        };
        gui.appendChild(volumeSlider);

        // Play and Pause buttons for YouTube Audio
        const playButton = createStyledButton('▶️', playYoutubeAudio);
        gui.appendChild(playButton);

        const pauseButton = createStyledButton('⏸️', pauseYoutubeAudio);
        gui.appendChild(pauseButton);

        createDiscordButton();
    }

    let youtubeIframe = null;
    function playYoutubeLoop(youtubeLink) {
        if (!youtubeIframe) {
            youtubeIframe = document.createElement('iframe');
            youtubeIframe.width = 0;
            youtubeIframe.height = 0;
            youtubeIframe.frameBorder = "0";
            youtubeIframe.allow = "autoplay";
            document.body.appendChild(youtubeIframe);
        }

        if (youtubeLink.includes('youtube.com/watch?v=')) {
            const videoId = youtubeLink.split('v=')[1].split('&')[0];
            youtubeIframe.src = `https://www.youtube.com/embed/${videoId}?autoplay=1&loop=1&playlist=${videoId}&enablejsapi=1&volume=${youtubeVolume}`;
        } else {
            alert('Please provide a valid YouTube link.');
        }
    }

    function pauseYoutubeAudio() {
        if (youtubeIframe) {
            youtubeIframe.contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}', '*');
        }
    }

    function playYoutubeAudio() {
        if (youtubeIframe) {
            youtubeIframe.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');
        }
    }

    function adjustYoutubeVolume(value) {
        if (youtubeIframe) {
            youtubeIframe.contentWindow.postMessage(`{"event":"command","func":"setVolume","args":[${value * 100}]}`, '*');
        }
    }

    function modifyCrossHair(url) {
        const crossHairElement = document.querySelector('.CrossHair');
        if (crossHairElement) {
            crossHairElement.style.backgroundImage = `url(${url})`;
            crossHairElement.style.backgroundSize = 'contain';
            crossHairElement.style.backgroundRepeat = 'no-repeat';
            crossHairElement.style.backgroundPosition = 'center';
            crossHairElement.textContent = '';
        }
    }

    function autoDenyTeleport() {
        if (!isAutoDenyTeleportEnabled) return;

        const denyTeleportButton = document.querySelector('.UiReqDismissButt');
        if (denyTeleportButton) {
            denyTeleportButton.click();
        }
    }

    function applyColorChanges() {
        changeColorForElements('.SettingsMenu, .Inventory, .hotbar, .CenteredDiv', GUI_THEME.mainColor);
        changeColorForElements('.ChatMessages', GUI_THEME.transparentColor);

        const adBox = document.getElementById('gameadsbannerpic');
        if (adBox) {
            adBox.remove();
        }
    }

    function changeColorForElements(selector, color) {
        const elements = document.querySelectorAll(selector);
        for (let elem of elements) {
            elem.style.backgroundColor = color;
        }
    }

    function autoClickRespawn() {
        if (!isAutoRespawnEnabled) return;
        const respawnButton = document.querySelector('.RespawnButton');
        if (respawnButton && !respawnButton.disabled) {
            respawnButton.click();
        }
    }

    function createDiscordButton() {
        const discordButton = createStyledButton('Discord', function() {
            window.location.href = "https://discord.gg/yqTmu6CvNj";
        }, 'Join our Discord server!');
        gui.appendChild(discordButton);
    }

    function updateGUIColors(mainColor, transparentColor, gradientFirst, gradientSecond) {
        for (let button of buttonArray) {
            button.style.background = `linear-gradient(90deg, ${GUI_THEME.gradientFirst}, ${GUI_THEME.gradientSecond})`;
        }
        if (modal) {
            modal.style.backgroundColor = GUI_THEME.mainColor;
        }
        if (gui) {
            gui.style.backgroundColor = GUI_THEME.mainColor;
        }
        if (watermark) {
            watermark.style.backgroundColor = GUI_THEME.transparentColor;
        }
    }

    addGUIComponents(); // Ensures the GUI components are added when the script runs.
    setInterval(autoClickRespawn, 1000);
    setInterval(autoDenyTeleport, 1000);
    setInterval(applyColorChanges, 5); // Checks every 5 milliseconds
})();