From 5f9a0061327001e1a1fdec7a2142e711c8d6990f Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Wed, 26 Aug 2015 01:18:30 +0200 Subject: [PATCH] add writeOthers function --- app.js | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/app.js b/app.js index 2c26de6..ccfa169 100644 --- a/app.js +++ b/app.js @@ -35,7 +35,7 @@ for (var x = 0; x < 16;x++) { var entityMaxId=0; var server = mc.createServer(options); - + if(settings.logging == true) { createLog(); } @@ -195,25 +195,28 @@ server.on('login', function(client) { sendRelativePositionChange(client,toFixedPosition(position),onGround); }); - client.on('position_look', function(packet) { - var position = new vec3(packet.x,packet.y,packet.z); - var onGround=packet.onGround; - sendRelativePositionChange(client,toFixedPosition(position),onGround); - }); + + function writeOthers(packetName,packetFields) + { + getOtherClients().forEach(function (otherClient) { + otherClient.write(packetName, packetFields); + }); + } + function sendRelativePositionChange(client,newPosition,onGround) { if (uuidToPlayer[client.uuid].position) { var diff = newPosition.minus(uuidToPlayer[client.uuid].position); - if(diff.distanceTo(new vec3(0,0,0))!=0) - getOtherClients().forEach(function (otherClient) { - otherClient.write('rel_entity_move', { - entityId: uuidToPlayer[client.uuid].id, - dX: diff.x, - dY: diff.y, - dZ: diff.z, - onGround: onGround - }); + if (diff.distanceTo(new vec3(0, 0, 0)) != 0) { + + writeOthers('rel_entity_move', { + entityId: client.id, + dX: diff.x, + dY: diff.y, + dZ: diff.z, + onGround: onGround }); + } } uuidToPlayer[client.uuid].position = newPosition; uuidToPlayer[client.uuid].onGround=onGround; @@ -268,7 +271,7 @@ server.on('listening', function() { function createLog() { fs.writeFile("logs/" + timeStarted + ".log", "[INFO]: Started logging...\n", function(err, data) { if (err) return console.log(err); - }); + }); } function log(message) {