mirror of
https://github.com/Threnklyn/MinecraftChat.git
synced 2026-05-19 04:43:28 +02:00
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
import mineflayer from 'mineflayer';
|
|
import events from '../../bot';
|
|
|
|
module.exports = (socket) => {
|
|
|
|
socket.on('server:connect', (data) => {
|
|
|
|
if (socket.mcbot) {
|
|
socket.emit('buffer:error', 'Pleae disconnect before connecting again');
|
|
return;
|
|
}
|
|
|
|
// create mineflayer bot
|
|
socket.mcbot = mineflayer.createBot({
|
|
host: data.hostname,
|
|
port: data.port,
|
|
username: data.username,
|
|
password: data.password
|
|
});
|
|
|
|
// store connection params in socket
|
|
socket.connectionParams = data;
|
|
|
|
// prepare for errors
|
|
socket.mcbot.on('error', (error) => {
|
|
if (error.toString() === 'Error: write after end') return;
|
|
socket.emit('buffer:error', error);
|
|
if (socket.mcbot.entity) socket.mcbot.end();
|
|
delete socket.mcbot;
|
|
});
|
|
|
|
// bind bot events
|
|
events(socket);
|
|
|
|
// debug
|
|
console.log('connecting > ' + data.hostname + ':' + data.port + ' - ' + ' Username: ' + data.username);
|
|
socket.emit('buffer:info', 'Connecting to server ' + data.hostname + ':' + data.port);
|
|
|
|
});
|
|
|
|
};
|