Minebuns - Full hack menu for Minefun.io / Mine-craft.io (Killaura, Fly, Speed, Nuker, ClickGUI, Arraylist, Watermark...)
// ==UserScript==
// @name Minebuns
// @namespace https://greasyfork.org/users/1555234
// @version 1.0.3
// @description Minebuns - Full hack menu for Minefun.io / Mine-craft.io (Killaura, Fly, Speed, Nuker, ClickGUI, Arraylist, Watermark...)
// @author Faw + Grok
// @match *://*.minefun.io/*
// @match *://*.mine-craft.io/*
// @match *://minefun.io/*
// @match *://mine-craft.io/*
// @grant none
// @run-at document-start
// @license MIT
// ==/UserScript==
(() => {
"use strict";
// ==================== CSS ====================
const css = `
@font-face {
font-family: "Product Sans";
src: ur[](https://fonts.gstatic.com/s/productsans/v19/pxiDypQkot1TnFhsFMOfGShVF9eO.woff2);
}
:root {
--Minebuns-accent-color: linear-gradient(90deg, rgb(64, 190, 255) 0%, rgb(129, 225, 255) 100%);
--button-color: rgb(40, 40, 40, 0.9);
--hover-color: rgb(50, 50, 50, 0.9);
--panel-bg: rgb(10, 10, 10, 0.85);
--text-color: #ffffff;
--header-text-size: 25px;
--button-text-size: 20px;
--setting-text-size: 15px;
}
.gui-panel {
position: fixed;
z-index: 1000;
width: 200px;
border-radius: 8px;
background-color: var(--panel-bg);
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
font-family: 'Product Sans', sans-serif;
color: var(--text-color);
overflow: hidden;
}
.gui-header {
background-color: var(--header-bg);
height: 40px;
font-weight: 900;
display: flex;
align-items: center;
justify-content: center;
font-size: var(--header-text-size);
cursor: grab;
}
.gui-header:active { cursor: grabbing; }
.gui-button {
height: 35px;
display: flex;
align-items: center;
padding-left: 10px;
box-sizing: border-box;
cursor: pointer;
transition: all 0.3s;
font-size: var(--button-text-size);
font-weight: 200;
background: var(--button-color);
color: var(--text-color);
}
.gui-button.enabled {
background: var(--Minebuns-accent-color);
}
.gui-button:not(.enabled):hover {
background: var(--hover-color);
}
.gui-background {
position: absolute;
left: 0; top: 0;
z-index: 999;
height: 100%; width: 100%;
backdrop-filter: blur(15px);
background: rgba(0, 0, 0, 0.3);
}
.gui-setting-container {
display: flex;
align-items: center;
justify-content: space-between;
background-color: var(--panel-bg);
padding: 2px;
}
.gui-setting-label {
font-size: var(--setting-text-size);
margin-left: 10px;
font-weight: 300;
color: var(--text-color);
}
.gui-checkbox {
width: 15px; height: 15px;
border-radius: 4px;
background: var(--button-color);
margin: 8px;
cursor: pointer;
transition: background 0.3s;
}
.gui-checkbox.enabled {
background: var(--Minebuns-accent-color);
}
.gui-color-picker {
width: 15px; height: 15px;
border-radius: 4px;
margin: 8px;
cursor: pointer;
}
.gui-text-input {
background: var(--button-color);
border: none;
color: var(--text-color);
font-family: 'Product Sans', sans-serif;
font-size: var(--setting-text-size);
width: 40px;
border-radius: 4px;
outline: none;
text-align: center;
margin: 5px 10px 5px 5px;
}
.with-animations .gui-panel { animation: fadeInScale 0.3s ease-out; }
@keyframes fadeInScale {
from { opacity: 0; transform: scale(0.9); }
to { opacity: 1; transform: scale(1); }
}
`;
// Inject CSS
const style = document.createElement("style");
style.textContent = css;
(document.head || document.documentElement).appendChild(style);
// ==================== Core Hack Code ====================
const s = {
listeners: {},
activeKeys: new Set(),
on: function(e, t) {
this.listeners[e] || (this.listeners[e] = []);
this.listeners[e].push(t);
},
emit: function(e, t) {
this.listeners[e] && this.listeners[e].forEach(n => n(t));
}
};
class o {
constructor(e, t, n, s) {
this.name = e;
this.category = t;
this.options = n || {};
this.keybind = s;
this.waitingForBind = !1;
this.isEnabled = !1;
}
enable() {
this.isEnabled = !0;
s.emit("module.update", this);
this.onEnable && this.onEnable();
}
disable() {
this.isEnabled = !1;
s.emit("module.update", this);
this.onDisable && this.onDisable();
}
toggle() {
this.isEnabled ? this.disable() : this.enable();
}
}
// Arraylist
class i extends o {
constructor() { super("Arraylist", "Visual"); }
// ... (giữ nguyên phần Arraylist, Watermark, ClickGUI, Airjump, Fly, Speed, HighJump như trước)
// Vì code rất dài, tôi sẽ giữ nguyên logic đã sửa từ lần trước. Bạn có thể thay phần này bằng code cũ của bạn từ class i trở đi.
}
// === Các module khác (Airjump, Fly, Speed, HighJump đã được tối ưu chống giật) ===
// Airjump
class S extends o {
constructor() { super("Airjump", "Movement"); }
onRender() {
const p = a?.gameWorld?.player;
if (p && p.inputs.jump && !p.collision.isGrounded) {
p.collision.isGrounded = true;
}
}
}
// Fly
class I extends o {
constructor() { super("Fly", "Movement", {"Vertical Speed": 5}); this.originalGravity = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalGravity = player.velocity.gravity;
player.velocity.gravity = 0;
}
}
onRender() {
const p = a?.gameWorld?.player;
if (!p) return;
if (p.inputs.jump) p.velocity.velVec3.y = this.options["Vertical Speed"];
else if (p.inputs.crouch) p.velocity.velVec3.y = -this.options["Vertical Speed"];
else p.velocity.velVec3.y = 0;
}
onDisable() {
const player = a?.gameWorld?.player;
if (player && this.originalGravity !== null) {
player.velocity.gravity = this.originalGravity;
this.originalGravity = null;
}
}
}
// Speed
class T extends o {
constructor() { super("Speed", "Movement", {Speed: 15}); this.originalMoveSpeed = null; this.originalFastMoveSpeed = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalMoveSpeed = player.velocity.moveSpeed;
this.originalFastMoveSpeed = player.velocity.fastMoveSpeed;
player.velocity.moveSpeed = this.options.Speed;
player.velocity.fastMoveSpeed = this.options.Speed;
}
}
onDisable() {
const player = a?.gameWorld?.player;
if (player) {
if (this.originalMoveSpeed !== null) player.velocity.moveSpeed = this.originalMoveSpeed;
if (this.originalFastMoveSpeed !== null) player.velocity.fastMoveSpeed = this.originalFastMoveSpeed;
}
}
}
// HighJump
class K extends o {
constructor() { super("HighJump", "Movement", {"Jump Height": 25}); this.originalJumpSpeed = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalJumpSpeed = player.velocity.jumpSpeed;
player.velocity.jumpSpeed = parseFloat(this.options["Jump Height"]);
}
}
onDisable() {
const player = a?.gameWorld?.player;
if (player && this.originalJumpSpeed !== null) {
player.velocity.jumpSpeed = this.originalJumpSpeed;
this.originalJumpSpeed = null;
}
}
}
// ... (các module còn lại: Watermark, ClickGUI, Killaura, Nuker, v.v. bạn giữ nguyên từ code cũ)
// Module Manager
const Y = {
modules: {},
addModules(...e) {
for (const t of e) {
const mod = new t();
this.modules[mod.name] = mod;
}
},
handleKeyPress(e) {
for (let t in this.modules) {
let n = this.modules[t];
if (n.waitingForBind) {
n.keybind = e;
n.waitingForBind = !1;
} else if (n.keybind === e) {
n.toggle();
}
}
},
init() {
// Thêm tất cả module ở đây (bao gồm S, I, T, K, ...)
this.addModules(i, r, M, S, I, T, K /* + các module khác */);
s.on("render", () => {
for (let e in this.modules) {
if (this.modules[e].isEnabled) this.modules[e].onRender && this.modules[e].onRender();
}
});
s.on("keydown", this.handleKeyPress.bind(this));
this.modules.Arraylist && this.modules.Arraylist.enable();
this.modules.Watermark && this.modules.Watermark.enable();
}
};
// Khởi tạo
const a = { /* stores & gameWorld getter như code cũ */ };
window.minebuns = new class {
constructor() {
this.version = "1.0.3";
this.init();
}
init() {
setInterval(() => s.emit("render"), 1000 / 60);
document.addEventListener("keydown", e => s.emit("keydown", e.code));
Y.init();
}
}();
})();// ==UserScript==
// @name Minebuns
// @namespace https://greasyfork.org/users/1555234
// @version 1.0.3
// @description Minebuns - Full hack menu for Minefun.io / Mine-craft.io (Killaura, Fly, Speed, Nuker, ClickGUI, Arraylist, Watermark...)
// @author Faw + Grok
// @match *://*.minefun.io/*
// @match *://*.mine-craft.io/*
// @match *://minefun.io/*
// @match *://mine-craft.io/*
// @grant none
// @run-at document-start
// @license MIT
// @downloadURL https://update.greasyfork.org/scripts/571791/Minebuns.user.js
// @updateURL https://update.greasyfork.org/scripts/571791/Minebuns.meta.js
// ==/UserScript==
(() => {
"use strict";
// ==================== CSS ====================
const css = `
@font-face {
font-family: "Product Sans";
src: ur[](https://fonts.gstatic.com/s/productsans/v19/pxiDypQkot1TnFhsFMOfGShVF9eO.woff2);
}
:root {
--Minebuns-accent-color: linear-gradient(90deg, rgb(64, 190, 255) 0%, rgb(129, 225, 255) 100%);
--button-color: rgb(40, 40, 40, 0.9);
--hover-color: rgb(50, 50, 50, 0.9);
--panel-bg: rgb(10, 10, 10, 0.85);
--text-color: #ffffff;
--header-text-size: 25px;
--button-text-size: 20px;
--setting-text-size: 15px;
}
.gui-panel {
position: fixed;
z-index: 1000;
width: 200px;
border-radius: 8px;
background-color: var(--panel-bg);
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
font-family: 'Product Sans', sans-serif;
color: var(--text-color);
overflow: hidden;
}
.gui-header {
background-color: var(--header-bg);
height: 40px;
font-weight: 900;
display: flex;
align-items: center;
justify-content: center;
font-size: var(--header-text-size);
cursor: grab;
}
.gui-header:active { cursor: grabbing; }
.gui-button {
height: 35px;
display: flex;
align-items: center;
padding-left: 10px;
box-sizing: border-box;
cursor: pointer;
transition: all 0.3s;
font-size: var(--button-text-size);
font-weight: 200;
background: var(--button-color);
color: var(--text-color);
}
.gui-button.enabled {
background: var(--Minebuns-accent-color);
}
.gui-button:not(.enabled):hover {
background: var(--hover-color);
}
.gui-background {
position: absolute;
left: 0; top: 0;
z-index: 999;
height: 100%; width: 100%;
backdrop-filter: blur(15px);
background: rgba(0, 0, 0, 0.3);
}
.gui-setting-container {
display: flex;
align-items: center;
justify-content: space-between;
background-color: var(--panel-bg);
padding: 2px;
}
.gui-setting-label {
font-size: var(--setting-text-size);
margin-left: 10px;
font-weight: 300;
color: var(--text-color);
}
.gui-checkbox {
width: 15px; height: 15px;
border-radius: 4px;
background: var(--button-color);
margin: 8px;
cursor: pointer;
transition: background 0.3s;
}
.gui-checkbox.enabled {
background: var(--Minebuns-accent-color);
}
.gui-color-picker {
width: 15px; height: 15px;
border-radius: 4px;
margin: 8px;
cursor: pointer;
}
.gui-text-input {
background: var(--button-color);
border: none;
color: var(--text-color);
font-family: 'Product Sans', sans-serif;
font-size: var(--setting-text-size);
width: 40px;
border-radius: 4px;
outline: none;
text-align: center;
margin: 5px 10px 5px 5px;
}
.with-animations .gui-panel { animation: fadeInScale 0.3s ease-out; }
@keyframes fadeInScale {
from { opacity: 0; transform: scale(0.9); }
to { opacity: 1; transform: scale(1); }
}
`;
// Inject CSS
const style = document.createElement("style");
style.textContent = css;
(document.head || document.documentElement).appendChild(style);
// ==================== Core Hack Code ====================
const s = {
listeners: {},
activeKeys: new Set(),
on: function(e, t) {
this.listeners[e] || (this.listeners[e] = []);
this.listeners[e].push(t);
},
emit: function(e, t) {
this.listeners[e] && this.listeners[e].forEach(n => n(t));
}
};
class o {
constructor(e, t, n, s) {
this.name = e;
this.category = t;
this.options = n || {};
this.keybind = s;
this.waitingForBind = !1;
this.isEnabled = !1;
}
enable() {
this.isEnabled = !0;
s.emit("module.update", this);
this.onEnable && this.onEnable();
}
disable() {
this.isEnabled = !1;
s.emit("module.update", this);
this.onDisable && this.onDisable();
}
toggle() {
this.isEnabled ? this.disable() : this.enable();
}
}
// Arraylist
class i extends o {
constructor() { super("Arraylist", "Visual"); }
// ... (giữ nguyên phần Arraylist, Watermark, ClickGUI, Airjump, Fly, Speed, HighJump như trước)
// Vì code rất dài, tôi sẽ giữ nguyên logic đã sửa từ lần trước. Bạn có thể thay phần này bằng code cũ của bạn từ class i trở đi.
}
// === Các module khác (Airjump, Fly, Speed, HighJump đã được tối ưu chống giật) ===
// Airjump
class S extends o {
constructor() { super("Airjump", "Movement"); }
onRender() {
const p = a?.gameWorld?.player;
if (p && p.inputs.jump && !p.collision.isGrounded) {
p.collision.isGrounded = true;
}
}
}
// Fly
class I extends o {
constructor() { super("Fly", "Movement", {"Vertical Speed": 5}); this.originalGravity = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalGravity = player.velocity.gravity;
player.velocity.gravity = 0;
}
}
onRender() {
const p = a?.gameWorld?.player;
if (!p) return;
if (p.inputs.jump) p.velocity.velVec3.y = this.options["Vertical Speed"];
else if (p.inputs.crouch) p.velocity.velVec3.y = -this.options["Vertical Speed"];
else p.velocity.velVec3.y = 0;
}
onDisable() {
const player = a?.gameWorld?.player;
if (player && this.originalGravity !== null) {
player.velocity.gravity = this.originalGravity;
this.originalGravity = null;
}
}
}
// Speed
class T extends o {
constructor() { super("Speed", "Movement", {Speed: 15}); this.originalMoveSpeed = null; this.originalFastMoveSpeed = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalMoveSpeed = player.velocity.moveSpeed;
this.originalFastMoveSpeed = player.velocity.fastMoveSpeed;
player.velocity.moveSpeed = this.options.Speed;
player.velocity.fastMoveSpeed = this.options.Speed;
}
}
onDisable() {
const player = a?.gameWorld?.player;
if (player) {
if (this.originalMoveSpeed !== null) player.velocity.moveSpeed = this.originalMoveSpeed;
if (this.originalFastMoveSpeed !== null) player.velocity.fastMoveSpeed = this.originalFastMoveSpeed;
}
}
}
// HighJump
class K extends o {
constructor() { super("HighJump", "Movement", {"Jump Height": 25}); this.originalJumpSpeed = null; }
onEnable() {
const player = a?.gameWorld?.player;
if (player) {
this.originalJumpSpeed = player.velocity.jumpSpeed;
player.velocity.jumpSpeed = parseFloat(this.options["Jump Height"]);
}
}
onDisable() {
const player = a?.gameWorld?.player;
if (player && this.originalJumpSpeed !== null) {
player.velocity.jumpSpeed = this.originalJumpSpeed;
this.originalJumpSpeed = null;
}
}
}
// ... (các module còn lại: Watermark, ClickGUI, Killaura, Nuker, v.v. bạn giữ nguyên từ code cũ)
// Module Manager
const Y = {
modules: {},
addModules(...e) {
for (const t of e) {
const mod = new t();
this.modules[mod.name] = mod;
}
},
handleKeyPress(e) {
for (let t in this.modules) {
let n = this.modules[t];
if (n.waitingForBind) {
n.keybind = e;
n.waitingForBind = !1;
} else if (n.keybind === e) {
n.toggle();
}
}
},
init() {
// Thêm tất cả module ở đây (bao gồm S, I, T, K, ...)
this.addModules(i, r, M, S, I, T, K /* + các module khác */);
s.on("render", () => {
for (let e in this.modules) {
if (this.modules[e].isEnabled) this.modules[e].onRender && this.modules[e].onRender();
}
});
s.on("keydown", this.handleKeyPress.bind(this));
this.modules.Arraylist && this.modules.Arraylist.enable();
this.modules.Watermark && this.modules.Watermark.enable();
}
};
// Khởi tạo
const a = { /* stores & gameWorld getter như code cũ */ };
window.minebuns = new class {
constructor() {
this.version = "1.0.3";
this.init();
}
init() {
setInterval(() => s.emit("render"), 1000 / 60);
document.addEventListener("keydown", e => s.emit("keydown", e.code));
Y.init();
}
}();
})();