// ==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();
}
})();