diff --git a/app/client/controllers/playersController.js b/app/client/controllers/playersController.js index 509c0dc..c9e0ac6 100644 --- a/app/client/controllers/playersController.js +++ b/app/client/controllers/playersController.js @@ -1,6 +1,8 @@ module.exports = function($scope, socket) { $scope.players = []; + $scope.food=0; + $scope.health=0; // request player list every 5000ms setInterval(function() { @@ -26,6 +28,11 @@ module.exports = function($scope, socket) { socket.on('disconnect', function() { $scope.$apply(function() { $scope.players = []; + $scope.posx = 'no'; + $scope.posy = 'no'; + $scope.posz = 'no'; + $scope.food=0; + $scope.health=0; }); }); @@ -33,7 +40,34 @@ module.exports = function($scope, socket) { socket.on('bot:disconnect', function() { $scope.$apply(function() { $scope.players = []; + $scope.posx = 'no'; + $scope.posy = 'no'; + $scope.posz = 'no'; + $scope.food=0; + $scope.health=0; }); }); + socket.on('bot:move', function(data) { + $scope.$apply(function() { + $scope.posx=data.x; + $scope.posy=data.y; + $scope.posz=data.z; + }); + }); + + socket.on('bot:forcedMove', function(data) { + $scope.$apply(function() { + $scope.posx=data.x; + $scope.posy=data.y; + $scope.posz=data.z; + }); + }); + + socket.on('bot:health',function(data){ + $scope.$apply(function() { + $scope.health=data.health; + $scope.food=data.food; + }); + }) }; diff --git a/app/server/bot/events/death.js b/app/server/bot/events/death.js new file mode 100644 index 0000000..d679ccc --- /dev/null +++ b/app/server/bot/events/death.js @@ -0,0 +1,10 @@ +export default (socket) => { + + let ondeath = () => { + var pos = socket.mcbot.entity.position; + socket.emit('buffer:info', `You have been dead in X:${pos.x}, Y:${pos.y}, Z:${pos.z} `); + }; + + socket.mcbot.on('death', ondeath); + +}; diff --git a/app/server/bot/events/health.js b/app/server/bot/events/health.js new file mode 100644 index 0000000..86b9fd4 --- /dev/null +++ b/app/server/bot/events/health.js @@ -0,0 +1,12 @@ +export default (socket) => { + + let onHealth = () => { + var health = socket.mcbot.health || 0; + var food = socket.mcbot.food||0; + var foodSaturation = socket.mcbot.foodSaturation||0; + socket.emit('bot:health', {health:health,food:food,foodSaturation:foodSaturation}); + }; + + socket.mcbot.on('health', onHealth); + +}; diff --git a/app/server/bot/events/move.js b/app/server/bot/events/move.js new file mode 100644 index 0000000..2c94133 --- /dev/null +++ b/app/server/bot/events/move.js @@ -0,0 +1,24 @@ +export default (socket) => { + + let onmove = () => { + var pos = socket.mcbot.entity.position; + if(movingornot(socket.mcbot.entity.velocity)){ + socket.emit('bot:move', {x:pos.x.toFixed(2),y:pos.y.toFixed(2),z:pos.z.toFixed(2)}); + } + }; + + socket.mcbot.on('move', onmove); + + let onforcedMove = () => { + var pos = socket.mcbot.entity.position; + socket.emit('bot:forcedMove', {x:pos.x.toFixed(2),y:pos.y.toFixed(2),z:pos.z.toFixed(2)}); + }; + + socket.mcbot.on('forcedMove', onforcedMove); + + function movingornot(v){ + if(v.x!=0) return true; + if(v.y!=0) return true; + if(v.z!=0) return true; + } +}; diff --git a/app/server/bot/events/rain.js b/app/server/bot/events/rain.js new file mode 100644 index 0000000..a250184 --- /dev/null +++ b/app/server/bot/events/rain.js @@ -0,0 +1,13 @@ +export default (socket) => { + + let onRain = () => { + if (socket.mcbot.entity.isRaining){ + socket.emit('buffer:info', `It started raining.`); + }else{ + socket.emit('buffer:info', `It stopped raining. `); + } + }; + + socket.mcbot.on('spawn', onRain); + +}; diff --git a/app/server/bot/index.js b/app/server/bot/index.js index d2be10b..6e8adfe 100644 --- a/app/server/bot/index.js +++ b/app/server/bot/index.js @@ -3,6 +3,10 @@ import login from './events/login'; import spawn from './events/spawn'; import message from './events/message'; import end from './events/end'; +import death from './events/death'; +import rain from './events/rain'; +import health from './events/health'; +import move from './events/move'; // bind all listeners to the bot export default (socket) => { @@ -12,5 +16,9 @@ export default (socket) => { spawn(socket); message(socket); end(socket); - + death(socket); + rain(socket); + move(socket); + health(socket); + }; diff --git a/public/Thumbs.db b/public/Thumbs.db new file mode 100644 index 0000000..61c901a Binary files /dev/null and b/public/Thumbs.db differ diff --git a/public/templates/windows/chat.html b/public/templates/windows/chat.html index 52afeb0..a0d05b6 100644 --- a/public/templates/windows/chat.html +++ b/public/templates/windows/chat.html @@ -1,6 +1,11 @@