diff --git a/BotWindow/botwin.html b/BotWindow/botwin.html
index 5cf690c..eae4825 100644
--- a/BotWindow/botwin.html
+++ b/BotWindow/botwin.html
@@ -30,6 +30,19 @@
+
+
+
+
+
diff --git a/BotWindow/botwin.js b/BotWindow/botwin.js
index b061e80..0f9f2e5 100644
--- a/BotWindow/botwin.js
+++ b/BotWindow/botwin.js
@@ -5,184 +5,202 @@ const acts = ['rotate', 'jump', 'swingArm'];
ipcRenderer.on('startbot', (e, data) => {
- //reconnect
- document.getElementById('buttonreconnect').addEventListener('click', () => {
- reconfunction();
- });
+ const newBot = new NewBot(data)
+});
- reconfunction();
- function reconfunction() {
- const bot = mineflayer.createBot(data);
- bot.loadPlugin(antiafk);
- bot.afk.setOptions({
- fishing: false,
- actions: acts,
- killauraEnabled: false
- });
- // new bot winwow
- bot.once('login', () => {
- unm = bot.username
- ipcRenderer.send('usernameupdate', unm)
- document.getElementById('h2tit').innerHTML = 'Logged in'
- document.getElementById('hitit').innerHTML = `Bot Control Panel (${unm})`
- });
- bot.on('spawn', () => {
- document.getElementById('h2tit').innerHTML = 'Spawned'
- var checkBox = document.getElementById("afkToggle");
- if (checkBox.checked == true) {
- bot.afk.start();
- };
- });
- // chat send
- document.getElementById('chatbox').addEventListener('keyup', (e) => {
- if(e.key !== "Enter") return;
- bot.chat(document.getElementById('chatbox').value);
- document.getElementById('h2tit').innerHTML = `Message sent ${document.getElementById('chatbox').value}`;
- })
- document.getElementById('sendmsg').addEventListener('click', () => {
- bot.chat(document.getElementById('chatbox').value);
- document.getElementById('h2tit').innerHTML = `Message sent ${document.getElementById('chatbox').value}`;
- });
- //hotbar selector
- document.getElementById('rclickhotbar').addEventListener('click', () => {
- bot.activateItem();
- document.getElementById('h2tit').innerHTML = "Activated slot";
- });
- document.getElementById('sethotbar').addEventListener('click', () => {
- bot.setQuickBarSlot(document.getElementById('hotbar').value);
- document.getElementById('h2tit').innerHTML = "Hotbar slot set";
- });
- //window state
- bot.on('windowOpen', () => {
- document.getElementById('invitm').innerHTML = 'Window Opened'
- });
- bot.on('windowClose', () => {
- document.getElementById('invitm').innerHTML = 'Window Closed'
- });
- //inventory slot clicker
- document.getElementById('inventoryslotr').addEventListener('click', () => {
- bot.clickWindow(document.getElementById('inventoryslotbox').value, 1, 0)
- });
- document.getElementById('inventoryslotl').addEventListener('click', () => {
- bot.clickWindow(document.getElementById('inventoryslotbox').value, 0, 0)
- });
- document.getElementById('inventoryslotd').addEventListener('click', () => {
- bot.clickWindow(-999, 1, 0)
- });
- document.getElementById('closewin').addEventListener('click', () => {
- bot.closeWindow(window)
- });
- //drop all
- document.getElementById('inventoryslotda').addEventListener('click', () => {
- function tossNext() {
- if (bot.inventory.items().length === 0) return
- const item = bot.inventory.items()[0]
- bot.tossStack(item, tossNext)
- }
- var drop = setInterval(() => {
- tossNext()
- }, 10);
- setTimeout(() => {
- clearInterval(drop)
- }, 3000);
- });
- //AFK button
- document.getElementById('afkToggle').addEventListener('change', () => {
- var checkBox = document.getElementById("afkToggle");
- if (checkBox.checked == true) {
- bot.afk.start();
- } else {
- bot.afk.stop();
- }
- });
- //spam toggle
- document.getElementById('spambtn').addEventListener('change', () => {
- var checkBox = document.getElementById("spambtn");
- if (checkBox.checked == true) {
- bot.chat(document.getElementById('chatbox').value)
- var chatSpam = setInterval(() => {bot.chat(document.getElementById('chatbox').value)}, document.getElementById('spamdelay').value);
- }
- document.getElementById('spambtn').addEventListener('change', () => {
- var checkBox = document.getElementById("spambtn");
- if (checkBox.checked == false) {
- clearInterval(chatSpam)
- }
+class NewBot {
+ constructor(data) {
+ this.username = data.username;
+ this.host = data.host;
+ this.port = data.port;
+ this.version = data.version;
+ this.initBot();
+ }
+ initBot() {
+ this.bot = mineflayer.createBot({
+ "username": this.username,
+ "host": this.host,
+ "port": this.port,
+ "version": this.version
+ });
+ // load plugins
+ this.bot.loadPlugin(antiafk);
+ this.bot.afk.setOptions({
+ fishing: false,
+ actions: acts,
+ killauraEnabled: false
+ });
+ this.initEvents()
+ }
+ initEvents() {
+ // health & food update
+ this.bot.on('health', () => {
+ document.getElementById('healthhp').innerHTML = ` ${this.bot.health.toFixed()}`
+ document.getElementById('foodhp').innerHTML = ` ${this.bot.food.toFixed()}`
})
- });
- //kick detect
- bot.on('kicked', (reason) => {
- document.getElementById('h2tit').innerHTML = `Bot Kicked reason: ${reason}`
- document.getElementById("spambtn").checked = false;
- });
- //Auto Reconnect Toggle check
- bot.on('end', () => {
- clearInterval(health)
- var checkBox = document.getElementById("btnrecon");
- if (checkBox.checked == true) {
- reconfunction();
- };
- document.getElementById("spambtn").checked = false;
- });
- //disconnect
- document.getElementById('btndiscon').addEventListener('click', () => {
- bot.quit();
- document.getElementById('h2tit').innerHTML = "Bot Disconnected"
- });
- //chat print
- bot.on('message', (m) => {
- const t = document.createElement("li");
- var c = ''
- if (m.json.extra instanceof Array) {
- m.json.extra.forEach(e => {
- c += `${e.text.replace('<', '<').replace('>', '>')}`.replace(/\\n/g, '
')
- });
- } else if (msg.json.text) {
- c += `${m.json.text.replace('<', '<').replace('>', '>')}`.replace(/\\n/g, '
').replace(/§.{1}/g, '')
- }
- t.innerHTML = c
- document.getElementById('chatmsgbox').appendChild(t)
- document.getElementById('chatmsgbox').scrollTop = document.getElementById('chatmsgbox').scrollHeight
- })
- //player join & leave message
- bot.on('playerJoined', (player) => {
- const plyr = document.createElement("li");
- plyr.appendChild(document.createTextNode(`> ${player.username} Joined the server.`));
- document.getElementById('chatmsgbox').appendChild(plyr).style.color = '#03fc6b';
- document.getElementById('chatmsgbox').scrollTop = document.getElementById('chatmsgbox').scrollHeight
- });
- bot.on('playerLeft', (player) => {
- const plyrl = document.createElement("li");
- plyrl.appendChild(document.createTextNode(`> ${player.username} Left the server.`));
- document.getElementById('chatmsgbox').appendChild(plyrl).style.color = '#ff6666';
- document.getElementById('chatmsgbox').scrollTop = document.getElementById('chatmsgbox').scrollHeight
- });
- //health & food update
- let health = setInterval(() => {gethealth()}, 500);
- function gethealth() {
- document.getElementById('healthhp').innerHTML = ` ${bot.health.toFixed()}`
- document.getElementById('foodhp').innerHTML = ` ${bot.food.toFixed()}`
- }
+ //reconnect
+ document.getElementById('buttonreconnect').addEventListener('click', () => {
+ this.initBot()
+ });
+ // new bot winwow
+ this.bot.once('login', () => {
+ ipcRenderer.send('usernameupdate', this.username)
+ document.getElementById('h2tit').innerHTML = 'Logged in'
+ document.getElementById('hitit').innerHTML = `Bot Control Panel (${this.username})`
+ });
+ //login event
+ this.bot.on('spawn', () => {
+ document.getElementById('h2tit').innerHTML = 'Spawned'
+ if (document.getElementById("afkToggle").checked == true) {
+ this.bot.afk.start();
+ }
+ });
+ //AFK button
+ document.getElementById('afkToggle').addEventListener('change', () => {
+ if (document.getElementById("afkToggle").checked == true) {
+ this.bot.afk.start();
+ } else {
+ this.bot.afk.stop();
+ }
+ });
+ // chat send
+ document.getElementById('chatbox').addEventListener('keyup', (e) => {
+ if (e.key !== "Enter") return;
+ this.bot.chat(document.getElementById('chatbox').value);
+ document.getElementById('h2tit').innerHTML = `Message sent ${document.getElementById('chatbox').value}`;
+ })
+ document.getElementById('sendmsg').addEventListener('click', () => {
+ this.bot.chat(document.getElementById('chatbox').value);
+ document.getElementById('h2tit').innerHTML = `Message sent ${document.getElementById('chatbox').value}`;
+ });
+ //hotbar selector
+ document.getElementById('rclickhotbar').addEventListener('click', () => {
+ this.bot.activateItem();
+ document.getElementById('h2tit').innerHTML = "Activated slot";
+ });
+ document.getElementById('sethotbar').addEventListener('click', () => {
+ this.bot.setQuickBarSlot(document.getElementById('hotbar').value);
+ document.getElementById('h2tit').innerHTML = "Hotbar slot set";
+ });
+ //window state
+ this.bot.on('windowOpen', () => {
+ document.getElementById('invitm').innerHTML = 'Window Opened'
+ });
+ this.bot.on('windowClose', () => {
+ document.getElementById('invitm').innerHTML = 'Window Closed'
+ });
+ //inventory slot clicker
+ document.getElementById('inventoryslotr').addEventListener('click', () => {
+ this.bot.clickWindow(document.getElementById('inventoryslotbox').value, 1, 0)
+ });
+ document.getElementById('inventoryslotl').addEventListener('click', () => {
+ this.bot.clickWindow(document.getElementById('inventoryslotbox').value, 0, 0)
+ });
+ document.getElementById('inventoryslotd').addEventListener('click', () => {
+ this.bot.clickWindow(-999, 1, 0)
+ });
+ document.getElementById('closewin').addEventListener('click', () => {
+ this.bot.closeWindow(window)
+ });
+ //spam toggle
+ document.getElementById('spambtn').addEventListener('change', () => {
+ var checkBox = document.getElementById("spambtn");
+ if (checkBox.checked == true) {
+ this.bot.chat(document.getElementById('chatbox').value)
+ var chatSpam = setInterval(() => {
+ this.bot.chat(document.getElementById('chatbox').value)
+ }, document.getElementById('spamdelay').value);
+ }
+ document.getElementById('spambtn').addEventListener('change', () => {
+ var checkBox = document.getElementById("spambtn");
+ if (checkBox.checked == false) {
+ clearInterval(chatSpam)
+ }
+ })
+ });
+ //kick detect
+ this.bot.on('kicked', (reason, loggedIn) => {
+ if (loggedIn === true) {
+ sendlog("[BOT] Got Kicked!", "red")
+ } else {
+ sendlog("[BOT] Failed to Join!", "red")
+ }
+ });
+ //auto reconnect check
+ this.bot.on('end', () => {
+ if (document.getElementById("btnrecon").checked == true) {
+ sendlog("[BOT] Attempting to Reconnect.", "pink")
+ this.initBot();
+ };
+ document.getElementById("spambtn").checked = false;
+ });
+ //disconnect button
+ document.getElementById('btndiscon').addEventListener('click', () => {
+ this.bot.quit();
+ sendlog("[BOT] Disconnected.", "red")
+ document.getElementById('h2tit').innerHTML = "Bot Disconnected"
+ });
+ //chat print
+ this.bot.on('message', (m) => {
+ const t = document.createElement("li");
+ var c = ''
+ if (m.json.extra instanceof Array) {
+ m.json.extra.forEach(e => {
+ c += `${e.text.replace('<', '<').replace('>', '>')}`.replace(/\\n/g, '
')
+ });
+ } else if (m.json.text) {
+ c += `${m.json.text.replace('<', '<').replace('>', '>')}`.replace(/\\n/g, '
').replace(/§.{1}/g, '')
+ }
+ t.innerHTML = c
+ document.getElementById('chatmsgbox').appendChild(t)
+ document.getElementById('chatmsgbox').scrollTop = document.getElementById('chatmsgbox').scrollHeight
+ });
+ //player join & leave message
+ this.bot.on('playerJoined', (player) => {
+ sendlog(`[BOT] ${player.username} Joined the server.`, "#03fc6b")
+ });
+ this.bot.on('playerLeft', (player) => {
+ sendlog(`[BOT] ${player.username} Joined the server.`, "#ff6666")
+ });
+ //look at position
+ document.getElementById('lookPos').addEventListener('click', () => {
+ this.bot._client.write('look', {
+ yaw: document.getElementById('lookvalue').value,
+ pitch: 0,
+ onGround: true
+ })
+ });
+ //walk toggle
+ document.getElementById('togglewalk').addEventListener('change', () => {
+ if (document.getElementById("togglewalk").checked == true) {
+ this.bot.setControlState('forward', true)
+ }
+ if (document.getElementById("togglewalk").checked == false) {
+ this.bot.setControlState('forward', false)
+ }
+ });
}
-});
+}
+
//show window example
function showExample() {
var p1 = document.getElementById("invimg1");
if (p1.style.display === "block") {
- p1.style.display = "none";
+ p1.style.display = "none";
} else {
- p1.style.display = "block";
+ p1.style.display = "block";
}
var p2 = document.getElementById("invimg2");
if (p2.style.display === "block") {
- p2.style.display = "none";
+ p2.style.display = "none";
} else {
- p2.style.display = "block";
+ p2.style.display = "block";
}
var b1 = document.getElementById('ingshowbtn');
if (b1.innerHTML === "Hide") {
- b1.innerHTML = "Show"
+ b1.innerHTML = "Show"
} else {
- b1.innerHTML = "Hide"
+ b1.innerHTML = "Hide"
}
}
// theme change button
@@ -190,12 +208,22 @@ function showExample() {
function themeChange() {
var b1 = document.getElementById('themebtn');
if (b1.innerHTML === "Dark") {
- b1.innerHTML = "Lite"
- document.getElementById('stylecss').setAttribute("href", "../assets/botwindow/CSS/stylelite.css")
- document.getElementById('themeimgbtn').setAttribute("src", "../assets/botwindow/icons/sunimg.png")
+ b1.innerHTML = "Lite"
+ document.getElementById('stylecss').setAttribute("href", "../assets/botwindow/CSS/stylelite.css")
+ document.getElementById('themeimgbtn').setAttribute("src", "../assets/botwindow/icons/sunimg.png")
} else {
- b1.innerHTML = "Dark"
- document.getElementById('stylecss').setAttribute("href", "../assets/botwindow/CSS/style.css")
- document.getElementById('themeimgbtn').setAttribute("src", "../assets/botwindow/icons/moonimg.png")
+ b1.innerHTML = "Dark"
+ document.getElementById('stylecss').setAttribute("href", "../assets/botwindow/CSS/style.css")
+ document.getElementById('themeimgbtn').setAttribute("src", "../assets/botwindow/icons/moonimg.png")
}
}
+
+//send logs to chat box
+function sendlog(textToLog, color) {
+ const chatboxid = document.getElementById('chatmsgbox')
+ var ele = document.createElement("li");
+ ele.style.color = color
+ ele.appendChild(document.createTextNode(textToLog));
+ chatboxid.appendChild(ele)
+ chatboxid.scrollTop = document.getElementById('chatmsgbox').scrollHeight
+}
\ No newline at end of file
diff --git a/BotWindow/mbotwin.html b/BotWindow/mbotwin.html
index 3faf441..636c5fe 100644
--- a/BotWindow/mbotwin.html
+++ b/BotWindow/mbotwin.html
@@ -30,6 +30,19 @@
+
+
+
+
+
v0.8(Beta)
+v0.9(Beta)
Checking for update...