Used browserify for clientside js

This commit is contained in:
AlexKvazos
2015-04-28 02:57:59 -05:00
parent bf1699d01c
commit 397ae7d322
9 changed files with 43 additions and 14 deletions
+80
View File
@@ -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('&gt; 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);
});
});
+33
View File
@@ -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');
});
+38
View File
@@ -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')
});
+27
View File
@@ -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;
});
});
};