Bloxd.io Mod Menu | Made by iron web10

Mod menu for Bloxd.io

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Bloxd.io Mod Menu | Made by iron web10
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  Mod menu for Bloxd.io
// @author       iron web10
// @match        https://bloxd.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=bloxd.io
// @grant        none
// @license      iron web10
// ==/UserScript==

(function () {
    'use strict';

    function getStorage(name) {
        return localStorage.getItem(name);
    }

    function setStorage(name, value) {
        localStorage.setItem(name, value);
    }

   
    const clickerConfig = JSON.parse(localStorage.getItem('bloxdClickerConfig')) || {
        leftClickKey: 'KeyR',
        rightClickKey: 'KeyF'
    };

    let minCPS = 10, maxCPS = 15;
    let leftClickActive = false, rightClickActive = false;
    let leftClickInterval, rightClickInterval;

    // Auto Clicker Functions
    function simulateClick(button) {
        const element = document.querySelector("#noa-canvas");
        if (!element) return;
        element.dispatchEvent(new MouseEvent("mousedown", { button, bubbles: true }));
        element.dispatchEvent(new MouseEvent("mouseup", { button, bubbles: true }));
        if (button === 0) element.dispatchEvent(new MouseEvent("click", { button, bubbles: true }));
        if (button === 2) element.dispatchEvent(new MouseEvent("contextmenu", { button, bubbles: true }));
    }

    function randomInterval() {
        return 1000 / (Math.random() * (maxCPS - minCPS) + minCPS);
    }

    function startLeftClick() {
        if (leftClickActive) return;
        leftClickActive = true;
        function loop() {
            if (!leftClickActive) return;
            simulateClick(0);
            leftClickInterval = setTimeout(loop, randomInterval());
        }
        loop();
    }

    function stopLeftClick() {
        leftClickActive = false;
        clearTimeout(leftClickInterval);
    }

    function toggleLeftClick() {
        leftClickActive ? stopLeftClick() : startLeftClick();
    }

    function startRightClick() {
        if (rightClickActive) return;
        rightClickActive = true;
        function loop() {
            if (!rightClickActive) return;
            simulateClick(2);
            rightClickInterval = setTimeout(loop, randomInterval());
        }
        loop();
    }

    function stopRightClick() {
        rightClickActive = false;
        clearTimeout(rightClickInterval);
    }

    function toggleRightClick() {
        rightClickActive ? stopRightClick() : startRightClick();
    }

    function saveClickerConfig() {
        localStorage.setItem('bloxdClickerConfig', JSON.stringify(clickerConfig));
    }

    function createMenu() {
        if (document.getElementById('modMenu')) return;

        let menu = document.createElement('div');
        menu.id = 'modMenu';
        menu.style.position = 'fixed';
        menu.style.top = getStorage('menuTop') || '50px';
        menu.style.left = getStorage('menuLeft') || '50px';
        menu.style.width = '200px';
        menu.style.background = 'rgba(0, 0, 0, 0.9)';
        menu.style.color = 'white';
        menu.style.padding = '15px';
        menu.style.borderRadius = '10px';
        menu.style.zIndex = '9999';
        menu.style.fontFamily = 'Arial';
        menu.style.boxShadow = '0 0 10px rgba(255, 255, 255, 0.2)';
        menu.style.display = getStorage('menuMinimized') === 'true' ? 'none' : 'flex';
        menu.style.flexDirection = 'column';
        menu.style.alignItems = 'center';

        let titleBar = document.createElement('div');
        titleBar.style.display = 'flex';
        titleBar.style.justifyContent = 'space-between';
        titleBar.style.alignItems = 'center';
        titleBar.style.cursor = 'move';
        titleBar.style.width = '100%';
        titleBar.style.padding = '5px';
        titleBar.style.background = '#333';
        titleBar.style.borderRadius = '5px';

        let title = document.createElement('h3');
        title.textContent = 'Bloxd.io Mod Menu';
        title.style.margin = '0';
        title.style.flexGrow = '1';
        title.style.color = 'white';

        let minimizeButton = document.createElement('button');
        minimizeButton.textContent = '-';
        minimizeButton.style.background = 'transparent';
        minimizeButton.style.color = 'white';
        minimizeButton.style.border = 'none';
        minimizeButton.style.cursor = 'pointer';

        titleBar.appendChild(title);
        titleBar.appendChild(minimizeButton);
        menu.appendChild(titleBar);

        let content = document.createElement('div');
        content.style.display = getStorage('menuMinimized') === 'true' ? 'none' : 'block';
        menu.appendChild(content);

        document.body.appendChild(menu);

        minimizeButton.addEventListener('click', function () {
            let isHidden = content.style.display === 'none';
            content.style.display = isHidden ? 'block' : 'none';
            setStorage('menuMinimized', !isHidden);
        });

        function createSwitch(name, callback) {
            let container = document.createElement('div');
            container.style.display = 'flex';
            container.style.justifyContent = 'space-between';
            container.style.alignItems = 'center';
            container.style.width = '100%';
            container.style.marginBottom = '5px';

            let label = document.createElement('span');
            label.textContent = name;
            label.style.flexGrow = '1';

            let switchContainer = document.createElement('label');
            switchContainer.style.position = 'relative';
            switchContainer.style.display = 'inline-block';
            switchContainer.style.width = '34px';
            switchContainer.style.height = '18px';

            let input = document.createElement('input');
            input.type = 'checkbox';
            input.style.opacity = '0';
            input.style.width = '0';
            input.style.height = '0';
            input.checked = getStorage(name) === 'true';

            let slider = document.createElement('span');
            slider.style.position = 'absolute';
            slider.style.cursor = 'pointer';
            slider.style.top = '0';
            slider.style.left = '0';
            slider.style.right = '0';
            slider.style.bottom = '0';
            slider.style.backgroundColor = input.checked ? '#4CAF50' : '#ccc';
            slider.style.transition = '.4s';
            slider.style.borderRadius = '18px';

            let circle = document.createElement('span');
            circle.style.position = 'absolute';
            circle.style.height = '14px';
            circle.style.width = '14px';
            circle.style.left = '2px';
            circle.style.bottom = '2px';
            circle.style.backgroundColor = 'white';
            circle.style.borderRadius = '50%';
            circle.style.transition = '.4s';
            circle.style.transform = input.checked ? 'translateX(16px)' : 'translateX(0)';

            slider.appendChild(circle);
            switchContainer.appendChild(input);
            switchContainer.appendChild(slider);
            container.appendChild(label);
            container.appendChild(switchContainer);
            content.appendChild(container);

            input.addEventListener('change', function () {
                slider.style.backgroundColor = this.checked ? '#4CAF50' : '#ccc';
                circle.style.transform = this.checked ? 'translateX(16px)' : 'translateX(0)';
                setStorage(name, this.checked);
                callback(this.checked);
            });

            if (input.checked) {
                callback(true);
            }
        }

        function createAutoClickerControls() {
            let container = document.createElement('div');
            container.style.width = '100%';
            container.style.marginTop = '10px';
            container.style.paddingTop = '10px';
            container.style.borderTop = '1px solid #333';

            let title = document.createElement('h4');
            title.textContent = 'Auto Clicker';
            title.style.margin = '0 0 10px 0';
            title.style.color = 'white';
            title.style.textAlign = 'center';
            container.appendChild(title);

            
            let leftClickContainer = document.createElement('div');
            leftClickContainer.style.display = 'flex';
            leftClickContainer.style.justifyContent = 'space-between';
            leftClickContainer.style.alignItems = 'center';
            leftClickContainer.style.width = '100%';
            leftClickContainer.style.marginBottom = '5px';

            let leftClickLabel = document.createElement('span');
            leftClickLabel.textContent = 'Left Click';
            leftClickLabel.style.flexGrow = '1';

            let leftClickToggle = document.createElement('button');
            leftClickToggle.textContent = leftClickActive ? 'ON' : 'OFF';
            leftClickToggle.style.background = leftClickActive ? '#4CAF50' : '#ccc';
            leftClickToggle.style.color = 'white';
            leftClickToggle.style.border = 'none';
            leftClickToggle.style.padding = '3px 10px';
            leftClickToggle.style.borderRadius = '3px';
            leftClickToggle.style.cursor = 'pointer';

            leftClickToggle.addEventListener('click', function() {
                toggleLeftClick();
                leftClickToggle.textContent = leftClickActive ? 'ON' : 'OFF';
                leftClickToggle.style.background = leftClickActive ? '#4CAF50' : '#ccc';
            });

            leftClickContainer.appendChild(leftClickLabel);
            leftClickContainer.appendChild(leftClickToggle);
            container.appendChild(leftClickContainer);

          
            let rightClickContainer = document.createElement('div');
            rightClickContainer.style.display = 'flex';
            rightClickContainer.style.justifyContent = 'space-between';
            rightClickContainer.style.alignItems = 'center';
            rightClickContainer.style.width = '100%';
            rightClickContainer.style.marginBottom = '5px';

            let rightClickLabel = document.createElement('span');
            rightClickLabel.textContent = 'Right Click';
            rightClickLabel.style.flexGrow = '1';

            let rightClickToggle = document.createElement('button');
            rightClickToggle.textContent = rightClickActive ? 'ON' : 'OFF';
            rightClickToggle.style.background = rightClickActive ? '#4CAF50' : '#ccc';
            rightClickToggle.style.color = 'white';
            rightClickToggle.style.border = 'none';
            rightClickToggle.style.padding = '3px 10px';
            rightClickToggle.style.borderRadius = '3px';
            rightClickToggle.style.cursor = 'pointer';

            rightClickToggle.addEventListener('click', function() {
                toggleRightClick();
                rightClickToggle.textContent = rightClickActive ? 'ON' : 'OFF';
                rightClickToggle.style.background = rightClickActive ? '#4CAF50' : '#ccc';
            });

            rightClickContainer.appendChild(rightClickLabel);
            rightClickContainer.appendChild(rightClickToggle);
            container.appendChild(rightClickContainer);

            
            let cpsContainer = document.createElement('div');
            cpsContainer.style.display = 'flex';
            cpsContainer.style.flexDirection = 'column';
            cpsContainer.style.width = '100%';
            cpsContainer.style.marginTop = '10px';

            let minCPSControl = document.createElement('div');
            minCPSControl.style.display = 'flex';
            minCPSControl.style.justifyContent = 'space-between';
            minCPSControl.style.alignItems = 'center';
            minCPSControl.style.width = '100%';
            minCPSControl.style.marginBottom = '5px';

            let minCPSLabel = document.createElement('span');
            minCPSLabel.textContent = 'Min CPS:';
            minCPSLabel.style.flexGrow = '1';

            let minCPSInput = document.createElement('input');
            minCPSInput.type = 'number';
            minCPSInput.value = minCPS;
            minCPSInput.min = '1';
            minCPSInput.max = '50';
            minCPSInput.style.width = '50px';
            minCPSInput.style.padding = '2px';

            minCPSInput.addEventListener('change', function() {
                minCPS = parseInt(this.value);
            });

            minCPSControl.appendChild(minCPSLabel);
            minCPSControl.appendChild(minCPSInput);
            cpsContainer.appendChild(minCPSControl);

            let maxCPSControl = document.createElement('div');
            maxCPSControl.style.display = 'flex';
            maxCPSControl.style.justifyContent = 'space-between';
            maxCPSControl.style.alignItems = 'center';
            maxCPSControl.style.width = '100%';
            maxCPSControl.style.marginBottom = '5px';

            let maxCPSLabel = document.createElement('span');
            maxCPSLabel.textContent = 'Max CPS:';
            maxCPSLabel.style.flexGrow = '1';

            let maxCPSInput = document.createElement('input');
            maxCPSInput.type = 'number';
            maxCPSInput.value = maxCPS;
            maxCPSInput.min = '1';
            maxCPSInput.max = '50';
            maxCPSInput.style.width = '50px';
            maxCPSInput.style.padding = '2px';

            maxCPSInput.addEventListener('change', function() {
                maxCPS = parseInt(this.value);
            });

            maxCPSControl.appendChild(maxCPSLabel);
            maxCPSControl.appendChild(maxCPSInput);
            cpsContainer.appendChild(maxCPSControl);

            container.appendChild(cpsContainer);

           
            let keybindContainer = document.createElement('div');
            keybindContainer.style.display = 'flex';
            keybindContainer.style.flexDirection = 'column';
            keybindContainer.style.width = '100%';
            keybindContainer.style.marginTop = '10px';

            let leftKeyControl = document.createElement('div');
            leftKeyControl.style.display = 'flex';
            leftKeyControl.style.justifyContent = 'space-between';
            leftKeyControl.style.alignItems = 'center';
            leftKeyControl.style.width = '100%';
            leftKeyControl.style.marginBottom = '5px';

            let leftKeyLabel = document.createElement('span');
            leftKeyLabel.textContent = 'Left Key:';
            leftKeyLabel.style.flexGrow = '1';

            let leftKeyInput = document.createElement('input');
            leftKeyInput.type = 'text';
            leftKeyInput.value = clickerConfig.leftClickKey;
            leftKeyInput.style.width = '50px';
            leftKeyInput.style.padding = '2px';

            leftKeyControl.appendChild(leftKeyLabel);
            leftKeyControl.appendChild(leftKeyInput);
            keybindContainer.appendChild(leftKeyControl);

            let rightKeyControl = document.createElement('div');
            rightKeyControl.style.display = 'flex';
            rightKeyControl.style.justifyContent = 'space-between';
            rightKeyControl.style.alignItems = 'center';
            rightKeyControl.style.width = '100%';
            rightKeyControl.style.marginBottom = '5px';

            let rightKeyLabel = document.createElement('span');
            rightKeyLabel.textContent = 'Right Key:';
            rightKeyLabel.style.flexGrow = '1';

            let rightKeyInput = document.createElement('input');
            rightKeyInput.type = 'text';
            rightKeyInput.value = clickerConfig.rightClickKey;
            rightKeyInput.style.width = '50px';
            rightKeyInput.style.padding = '2px';

            rightKeyControl.appendChild(rightKeyLabel);
            rightKeyControl.appendChild(rightKeyInput);
            keybindContainer.appendChild(rightKeyControl);

            let saveButton = document.createElement('button');
            saveButton.textContent = 'Save Keybinds';
            saveButton.style.width = '100%';
            saveButton.style.padding = '5px';
            saveButton.style.marginTop = '5px';
            saveButton.style.background = '#4CAF50';
            saveButton.style.color = 'white';
            saveButton.style.border = 'none';
            saveButton.style.borderRadius = '3px';
            saveButton.style.cursor = 'pointer';

            saveButton.addEventListener('click', function() {
                clickerConfig.leftClickKey = leftKeyInput.value;
                clickerConfig.rightClickKey = rightKeyInput.value;
                saveClickerConfig();
                alert('Keybinds saved!');
            });

            keybindContainer.appendChild(saveButton);
            container.appendChild(keybindContainer);

            content.appendChild(container);
        }

        let isDragging = false;
        let offsetX, offsetY;

        titleBar.addEventListener('mousedown', function (event) {
            isDragging = true;
            offsetX = event.clientX - menu.getBoundingClientRect().left;
            offsetY = event.clientY - menu.getBoundingClientRect().top;
            titleBar.style.cursor = 'grabbing';
        });

        document.addEventListener('mousemove', function (event) {
            if (isDragging) {
                let left = event.clientX - offsetX;
                let top = event.clientY - offsetY;
                menu.style.left = `${left}px`;
                menu.style.top = `${top}px`;
                setStorage('menuLeft', left);
                setStorage('menuTop', top);
            }
        });

        document.addEventListener('mouseup', function () {
            isDragging = false;
            titleBar.style.cursor = 'move';
        });

        createSwitch('Full Screen Bypass', function (enabled) {
            if (enabled) {
                if (!window.fullScreenBypassInterval) {
                    window.fullScreenBypassInterval = setInterval(function () {
                        let elementToDelete = document.querySelector('.ForceRotateBackground.FullyFancyText');
                        if (elementToDelete) {
                            elementToDelete.remove();
                        }
                    }, 100);
                }
            } else {
                clearInterval(window.fullScreenBypassInterval);
                window.fullScreenBypassInterval = null;
            }
        });

        createSwitch('Bunny Jump', function (enabled) {
            if (enabled) {
                if (!window.infiniteJumpInterval) {
                    window.infiniteJumpInterval = setInterval(function () {
                        let event = new KeyboardEvent('keydown', {
                            key: ' ',
                            code: 'Space',
                            keyCode: 32,
                            which: 32,
                            bubbles: true
                        });
                        document.dispatchEvent(event);
                    }, 100);
                }
            } else {
                clearInterval(window.infiniteJumpInterval);
                window.infiniteJumpInterval = null;
            }
        });

        createSwitch('Add Remover', function (enabled) {
            if (enabled) {
                function hideAds() {
                    var elementsToHide = document.querySelectorAll(
                        '#gameadsbanner, .AdContainer, #cmpbox, .CookieConsent, [id*="fc-"], [class*="fc-"]'
                    );

                    elementsToHide.forEach(function(element) {
                        if (element) {
                            element.style.opacity = '0';
                            element.style.width = '0';
                            element.style.height = '0';
                            element.style.overflow = 'hidden';
                            element.style.position = 'absolute';
                        }
                    });

                    console.log("🚀 Add removed!");
                }

                setInterval(hideAds, 2000);
            }
        });

        createSwitch('Custom Crosshair', function (enabled) {
            if (enabled) {
                let crosshairUrl = prompt("Ingrese la URL de la imagen para la Crosshair:", getStorage('crosshairURL') || '');
                if (crosshairUrl) {
                    setStorage('crosshairURL', crosshairUrl);
                    applyCrosshair(crosshairUrl);
                }
            } else {
                applyCrosshair(null);
            }
        });

        let isLMBCounterEnabled = false;
        let isRMBCounterEnabled = false;

        createSwitch('Enable LMB CPS Counter', function (enabled) {
            isLMBCounterEnabled = enabled;
        });

        createSwitch('Enable RMB CPS Counter', function (enabled) {
            isRMBCounterEnabled = enabled;
        });

        let LMBclickTimes = [];
        let RMBclickTimes = [];
        document.addEventListener('mousedown', function (event) {
            if (event.button === 0 && isLMBCounterEnabled) {
                LMBcountClick();
            } else if (event.button === 2 && isRMBCounterEnabled) {
                RMBcountClick();
            }
        });

        function LMBcountClick() {
            var LMBcurrentTime = new Date().getTime();
            LMBclickTimes.push(LMBcurrentTime);
            LMBupdateCPS();
            if (new Date().getTime() - LMBcurrentTime >= 1000) {
                LMBValue.textContent = '0';
            }
        }

        function RMBcountClick() {
            var RMBcurrentTime = new Date().getTime();
            RMBclickTimes.push(RMBcurrentTime);
            RMBupdateCPS();
            if (new Date().getTime() - RMBcurrentTime >= 1000) {
                RMBValue.textContent = '0';
            }
        }

        function LMBupdateCPS() {
            var currentTime = new Date().getTime();
            var oneSecondAgo = currentTime - 1000;
            var LMBcount = 0;

            for (var i = LMBclickTimes.length - 1; i >= 0; i--) {
                if (LMBclickTimes[i] >= oneSecondAgo) {
                    LMBcount++;
                } else {
                    break;
                }
            }

            LMBValue.textContent = LMBcount;
        }

        function RMBupdateCPS() {
            var currentTime = new Date().getTime();
            var oneSecondAgo = currentTime - 1000;
            var RMBcount = 0;

            for (var i = RMBclickTimes.length - 1; i >= 0; i--) {
                if (RMBclickTimes[i] >= oneSecondAgo) {
                    RMBcount++;
                } else {
                    break;
                }
            }

            RMBValue.textContent = RMBcount;
        }

        var cpsButton = document.createElement('div');
        cpsButton.style.position = 'fixed';
        cpsButton.style.top = '10px';
        cpsButton.style.left = '745px';
        cpsButton.style.backgroundColor = 'black';
        cpsButton.style.color = 'white';
        cpsButton.style.padding = '5px';
        cpsButton.style.fontFamily = 'Arial';
        cpsButton.style.fontSize = '20px';
        cpsButton.style.zIndex = '9999';
        cpsButton.textContent = '';

        var LMBValue = document.createElement('span');
        LMBValue.textContent = '0';
        var cpsLabel = document.createElement('span');
        cpsLabel.textContent = ' | ';
        var RMBValue = document.createElement('span');
        RMBValue.textContent = '0';

        cpsButton.appendChild(LMBValue);
        cpsButton.appendChild(cpsLabel);
        cpsButton.appendChild(RMBValue);
        document.body.appendChild(cpsButton);

        function applyCrosshair(url) {
            let crosshair = document.querySelector('.CrossHair');
            if (crosshair) {
                crosshair.textContent = "";
                if (url) {
                    crosshair.style.backgroundImage = `url(${url})`;
                    crosshair.style.backgroundRepeat = "no-repeat";
                    crosshair.style.backgroundSize = "contain";
                    crosshair.style.width = "50px";
                    crosshair.style.height = "50px";
                } else {
                    crosshair.style.backgroundImage = "";
                }
            }
        }

        let savedCrosshair = getStorage('crosshairURL');
        if (savedCrosshair) {
            applyCrosshair(savedCrosshair);
        }

        let reloadContainer = document.createElement('div');
        reloadContainer.style.display = 'flex';
        reloadContainer.style.flexDirection = 'column';
        reloadContainer.style.alignItems = 'center';
        reloadContainer.style.width = '100%';
        reloadContainer.style.marginBottom = '5px';

        let reloadLabel = document.createElement('span');
        reloadLabel.textContent = 'Account Generator';
        reloadLabel.style.flexGrow = '1';
        reloadLabel.style.textAlign = 'center';

        let reloadButtonContainer = document.createElement('label');
        reloadButtonContainer.style.position = 'relative';
        reloadButtonContainer.style.display = 'inline-block';
        reloadButtonContainer.style.width = 'auto';

        let reloadButton = document.createElement('button');
        reloadButton.textContent = 'Account Gen';
        reloadButton.style.backgroundColor = '#4CAF50';
        reloadButton.style.color = 'white';
        reloadButton.style.border = 'none';
        reloadButton.style.padding = '5px 10px';
        reloadButton.style.marginTop = '10px';
        reloadButton.style.cursor = 'pointer';
        reloadButton.style.borderRadius = '5px';
        reloadButton.disabled = true;

        reloadButton.addEventListener('click', function () {
            location.reload();
            var cookies = document.cookie.split(";");
            for (var _i = 0, cookies_1 = cookies; _i < cookies_1.length; _i++) {
                var cookie = cookies_1[_i];
                var eqPos = cookie.indexOf("=");
                var name_1 = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
                document.cookie = name_1 + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=/";
            }
        });

        reloadButtonContainer.appendChild(reloadButton);
        reloadContainer.appendChild(reloadLabel);
        reloadContainer.appendChild(reloadButtonContainer);
        content.appendChild(reloadContainer);

        setTimeout(function () {
            reloadButton.disabled = false;
        }, 3000);

        
        createAutoClickerControls();
    }

    
    document.addEventListener("keydown", (event) => {
        if (event.repeat || ["INPUT", "TEXTAREA"].includes(event.target.tagName) || event.target.isContentEditable) return;
        if (event.code === clickerConfig.leftClickKey) toggleLeftClick();
        if (event.code === clickerConfig.rightClickKey) toggleRightClick();
    });

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', createMenu);
    } else {
        createMenu();
    }
})();