mirror of
https://github.com/Threnklyn/MinecraftChat.git
synced 2026-05-21 13:54:17 +02:00
Used browserify for clientside js
This commit is contained in:
Executable
+80
@@ -0,0 +1,80 @@
|
||||
// initialize angular application
|
||||
var app = angular.module('chat', []);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* FACTORIES
|
||||
*/
|
||||
|
||||
// socket service
|
||||
app.factory('socket', function() {
|
||||
var socket = io(window.location.host);
|
||||
return socket;
|
||||
});
|
||||
|
||||
|
||||
// buffer service
|
||||
app.factory('buffer', function() {
|
||||
return {
|
||||
append: function(string) {
|
||||
$('#buffer').append(string + '<br>\n');
|
||||
},
|
||||
error: function(error) {
|
||||
$('#buffer').append('<span style="color:#D62D18;">' + error.errorMessage + '</span><br>')
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CONTROLLERS
|
||||
*/
|
||||
|
||||
// connect controller
|
||||
app.controller('connectController', function($scope, socket) {
|
||||
|
||||
// connect handler
|
||||
$scope.connect = function() {
|
||||
$('#connectModal').modal('hide')
|
||||
|
||||
if (socket.connected) {
|
||||
|
||||
socket.emit('server:connect', {
|
||||
username: $scope.username,
|
||||
password: $scope.password,
|
||||
hostname: $scope.ip,
|
||||
port: $scope.port || 25565
|
||||
}, function(response) {
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
alert('Server unreachable, please try again later...');
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
// buffer controller
|
||||
app.controller('bufferController', function($scope, socket, buffer) {
|
||||
|
||||
// initial console buffer
|
||||
buffer.append('<br>');
|
||||
buffer.append('Welcome to AlexKvazos\'s Minecraft Chat App');
|
||||
buffer.append('> Press connect to connect to a Minecraft server and start chatting!');
|
||||
buffer.append('<br>');
|
||||
buffer.append('<i>Note: This application only works with 1.8 Minecraft servers.</i>');
|
||||
buffer.append('---');
|
||||
buffer.append('<br>');
|
||||
|
||||
// buffer errors when received
|
||||
socket.on('bot:error', function(error) {
|
||||
buffer.error(error);
|
||||
});
|
||||
|
||||
});
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
process.env.DEBUG = 'bot';
|
||||
process.stdout.write('\033c');
|
||||
console.log('> MineFlayer Initializing');
|
||||
|
||||
var mineflayer = require('mineflayer');
|
||||
var log = require('debug')('bot');
|
||||
|
||||
var bot = mineflayer.createBot({
|
||||
host: 'play.koonkraft.net',
|
||||
port: 25565,
|
||||
username: 'alexth',
|
||||
password: 'alexth123'
|
||||
});
|
||||
|
||||
bot.on('login', function() {
|
||||
bot.chat('/prison');
|
||||
});
|
||||
|
||||
bot.on('message', function(message) {
|
||||
var buffer = '';
|
||||
message.extra.forEach(function(data) {
|
||||
var text = data.text;
|
||||
if (text) {
|
||||
text = text.replace(/§k/ig, '');
|
||||
text = text.replace(/§l/ig, '');
|
||||
buffer += text;
|
||||
}
|
||||
});
|
||||
buffer = buffer.replace(/§([0-9abcdef])([^§]*)/ig, function replace(x, y, z) {
|
||||
return '<span class="color-'+y+'">'+z+'</span>';
|
||||
});
|
||||
process.stdout.write(buffer + '<br>\n');
|
||||
});
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* chat.alexkvazos.com
|
||||
*
|
||||
* Minecraft web-based chat client
|
||||
* @copyright AlexKvazos 2015
|
||||
*/
|
||||
|
||||
// create new express application
|
||||
var express = require('express');
|
||||
var app = express();
|
||||
var path = require('path');
|
||||
var server = require('http').createServer(app);
|
||||
var io = require('socket.io')(server);
|
||||
|
||||
|
||||
|
||||
|
||||
// configure socket.io
|
||||
require('./sockets')(io);
|
||||
|
||||
|
||||
// send homepage
|
||||
app.get('/', function(req, res) {
|
||||
res.sendFile(path.join(__dirname, '../../public/templates/index.html'));
|
||||
});
|
||||
|
||||
|
||||
|
||||
// public folder serves static content
|
||||
app.use('/', express.static(path.join(__dirname, '../../public')));
|
||||
|
||||
|
||||
|
||||
|
||||
// initialize http and socket servers
|
||||
server.listen(3000, function() {
|
||||
console.log('> Server running on port 3000')
|
||||
});
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
var mineflayer = require('mineflayer');
|
||||
|
||||
|
||||
module.exports = function(io) {
|
||||
|
||||
io.on('connection', function(socket) {
|
||||
|
||||
socket.on('server:connect', function(data, response) {
|
||||
socket.mcbot = mineflayer.createBot({
|
||||
host: data.hostname,
|
||||
port: data.port,
|
||||
username: data.username,
|
||||
password: data.password
|
||||
});
|
||||
socket.mcbot.on('error', function(error) {
|
||||
console.log(error);
|
||||
socket.emit('bot:error', error);
|
||||
});
|
||||
});
|
||||
|
||||
socket.on('disconnect', function() {
|
||||
socket.mcbot = null;
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user