// ==UserScript==
// @name MineFun.io 全功能模組選單(自動攻擊/挖礦/ESP/滑桿)
// @namespace http://tampermonkey.net/
// @version 3.0
// @description 整合:自動攻擊、自瞄、滑桿速度調整、方塊ESP、自動挖礦等功能(按 M 開關選單)
// @author ChatGPT
// @match *://minefun.io/*
// @grant none
// ==/UserScript==
(function () {
'use strict';
const settings = {
aimbot: false,
headlock: false,
esp: false,
speedHack: false,
autoAttack: false,
autoMine: false,
blockESP: false,
aimRange: 50,
moveSpeed: 1.0
};
// ===== 選單 UI =====
const menu = document.createElement('div');
menu.style = `
position: fixed;
top: 80px;
left: 80px;
background: rgba(0, 0, 0, 0.85);
padding: 15px;
color: white;
font-family: monospace;
font-size: 14px;
border-radius: 10px;
z-index: 9999;
cursor: move;
`;
menu.innerHTML = `
<h4>🧠 MineFun.io 模組</h4>
<label><input type="checkbox" id="aimbot"> 自瞄</label><br>
<label><input type="checkbox" id="headlock"> 鎖頭</label><br>
<label><input type="checkbox" id="esp"> 敵人透視</label><br>
<label><input type="checkbox" id="blockESP"> 方塊ESP</label><br>
<label><input type="checkbox" id="speedHack"> 加速移動</label><br>
<label><input type="checkbox" id="autoAttack"> 自動攻擊</label><br>
<label><input type="checkbox" id="autoMine"> 自動挖礦</label><br><br>
🔄 鎖定距離:<input type="range" id="rangeSlider" min="10" max="100" value="50"><span id="rangeVal">50</span><br>
⚡ 移動速度:<input type="range" id="speedSlider" min="0.5" max="3" step="0.1" value="1.0"><span id="speedVal">1.0</span><br>
<p style="font-size:12px;">按 M 鍵 開關選單</p>
`;
document.body.appendChild(menu);
// 拖曳功能
let dragging = false, offsetX = 0, offsetY = 0;
menu.addEventListener('mousedown', e => {
dragging = true;
offsetX = e.clientX - menu.offsetLeft;
offsetY = e.clientY - menu.offsetTop;
});
document.addEventListener('mouseup', () => dragging = false);
document.addEventListener('mousemove', e => {
if (dragging) {
menu.style.left = `${e.clientX - offsetX}px`;
menu.style.top = `${e.clientY - offsetY}px`;
}
});
// M 鍵開關
let menuVisible = true;
document.addEventListener('keydown', e => {
if (e.key.toLowerCase() === 'm') {
menuVisible = !menuVisible;
menu.style.display = menuVisible ? 'block' : 'none';
}
});
// 綁定選項
[
'aimbot', 'headlock', 'esp', 'speedHack',
'autoAttack', 'autoMine', 'blockESP'
].forEach(id => {
document.getElementById(id).addEventListener('change', e => {
settings[id] = e.target.checked;
});
});
// 滑桿控制
const rangeSlider = document.getElementById('rangeSlider');
const rangeVal = document.getElementById('rangeVal');
rangeSlider.addEventListener('input', () => {
settings.aimRange = parseInt(rangeSlider.value);
rangeVal.textContent = settings.aimRange;
});
const speedSlider = document.getElementById('speedSlider');
const speedVal = document.getElementById('speedVal');
speedSlider.addEventListener('input', () => {
settings.moveSpeed = parseFloat(speedSlider.value);
speedVal.textContent = settings.moveSpeed;
});
// ===== 主功能循環 =====
setInterval(() => {
const player = window?.game?.player;
const entities = window?.game?.entities || [];
const world = window?.game?.world;
if (!player) return;
// 移動加速
if (settings.speedHack && player.speed) {
player.speed = settings.moveSpeed;
}
// 自動挖礦(模擬滑鼠左鍵)
if (settings.autoMine) {
document.dispatchEvent(new MouseEvent('mousedown', { bubbles: true }));
}
// 自動攻擊最近敵人
const enemies = entities.filter(e => e.isEnemy && e.health > 0);
if (settings.autoAttack && enemies.length > 0) {
const nearest = enemies.sort((a, b) =>
player.position.distanceTo(a.position) - player.position.distanceTo(b.position)
)[0];
if (nearest && player.attack) {
player.attack(nearest);
}
}
// 自瞄(最近敵人)
if ((settings.aimbot || settings.headlock) && enemies.length > 0) {
const nearby = enemies.filter(e =>
player.position.distanceTo(e.position) < settings.aimRange
);
const target = nearby.sort((a, b) =>
player.position.distanceTo(a.position) - player.position.distanceTo(b.position)
)[0];
if (target) {
const lockPos = settings.headlock && target.head ? target.head : target.position;
player.lookAt?.(lockPos);
}
}
// 敵人ESP
if (settings.esp) {
enemies.forEach(e => {
if (e.mesh?.material && !e.__espMarked) {
e.mesh.material.depthTest = false;
e.mesh.material.color?.set?.('#ff0000');
e.__espMarked = true;
}
});
}
// 方塊ESP / 採礦ESP
if (settings.blockESP && world?.blocks) {
world.blocks.forEach(b => {
if (b.mesh?.material && !b.__espMarked) {
b.mesh.material.emissive?.set?.('#00ff00');
b.mesh.material.depthTest = false;
b.__espMarked = true;
}
});
}
}, 100);
})();
(function () {
'use strict';
const settings = {
fly: false,
speedHack: false,
noclip: false,
autoMine: false,
infiniteJump: false,
autoAttack: false,
invisible: false,
itemESP: false
};
const keysPressed = {};
// 模組選單 UI
const menu = document.createElement('div');
menu.id = 'modMenu';
menu.style = `
position: fixed;
top: 100px;
left: 100px;
background: rgba(0, 0, 0, 0.85);
padding: 12px;
color: white;
font-family: monospace;
font-size: 14px;
border-radius: 10px;
z-index: 9999;
cursor: move;
`;
menu.innerHTML = `
<h4>🧩 MineFun.io 模組</h4>
<label><input type="checkbox" id="fly"> 飛行模式</label><br>
<label><input type="checkbox" id="speed"> 加速</label><br>
<label><input type="checkbox" id="noclip"> 穿牆</label><br>
<label><input type="checkbox" id="autoMine"> ⛏ 自動挖掘</label><br>
<label><input type="checkbox" id="infiniteJump"> 🦘 無限跳</label><br>
<label><input type="checkbox" id="autoAttack"> 🗡 自動攻擊</label><br>
<label><input type="checkbox" id="invisible"> 🫥 隱形模式</label><br>
<label><input type="checkbox" id="itemESP"> 🧱 物資ESP</label><br>
<p style="font-size:12px;">按 M 鍵 開/關選單</p>
`;
document.body.appendChild(menu);
// 拖曳功能
let dragging = false, offsetX = 0, offsetY = 0;
menu.addEventListener('mousedown', e => {
dragging = true;
offsetX = e.clientX - menu.offsetLeft;
offsetY = e.clientY - menu.offsetTop;
});
document.addEventListener('mouseup', () => dragging = false);
document.addEventListener('mousemove', e => {
if (dragging) {
menu.style.left = `${e.clientX - offsetX}px`;
menu.style.top = `${e.clientY - offsetY}px`;
}
});
// 選單顯示開關
let menuVisible = true;
document.addEventListener('keydown', e => {
keysPressed[e.key] = true;
if (e.key.toLowerCase() === 'm') {
menuVisible = !menuVisible;
menu.style.display = menuVisible ? 'block' : 'none';
}
});
document.addEventListener('keyup', e => {
keysPressed[e.key] = false;
});
// 綁定 checkbox
Object.keys(settings).forEach(id => {
const el = document.getElementById(id);
if (el) el.addEventListener('change', e => settings[id] = e.target.checked);
});
// 主功能迴圈
setInterval(() => {
const player = window?.game?.player;
const world = window?.game?.world;
if (!player) return;
// 飛行模式
if (settings.fly) {
player.velocity.y = 0;
if (keysPressed[' ']) player.position.y += 0.2;
if (keysPressed['Shift']) player.position.y -= 0.2;
}
// 加速
if (settings.speedHack) player.speed = 2.5;
// 穿牆
if (settings.noclip) player.noClip = true;
// 無限跳
if (settings.infiniteJump) player.canJump = true;
// 自動挖掘(模擬滑鼠點擊)
if (settings.autoMine) {
const evt = new MouseEvent('mousedown', { bubbles: true });
document.dispatchEvent(evt);
}
// 隱形(若支援材質屬性)
if (settings.invisible && player.mesh?.material) {
player.mesh.material.transparent = true;
player.mesh.material.opacity = 0.1;
}
// 自動攻擊最近敵人(假設 game.entities 有敵人)
if (settings.autoAttack && window?.game?.entities) {
const enemies = game.entities.filter(e => e.isEnemy && e.health > 0);
const target = enemies.sort((a, b) =>
player.position.distanceTo(a.position) - player.position.distanceTo(b.position)
)[0];
if (target) {
player.lookAt(target.position);
player.attack?.(target);
}
}
// 物資 ESP(高亮物品方塊)
if (settings.itemESP && world?.items) {
world.items.forEach(item => {
if (item.mesh?.material) {
item.mesh.material.emissive?.set?.('#ffff00');
item.mesh.material.depthTest = false;
}
});
}
}, 100);
})();