Merge pull request from Darthfett/master

Cleanup code
This commit is contained in:
Xabier de Zuazo 2013-11-19 17:58:15 -08:00
commit 63dea28bab
8 changed files with 32 additions and 12 deletions

View file

@ -56,10 +56,12 @@ server.on('listening', function() {
}); });
function broadcast(message, exclude, username) { function broadcast(message, exclude, username) {
var client, translate, username; var client, translate;
translate = username ? 'chat.type.announcement' : 'chat.type.text'; translate = username ? 'chat.type.announcement' : 'chat.type.text';
username = username || 'Server'; username = username || 'Server';
for (var clientId in server.clients) { for (var clientId in server.clients) {
if (!server.clients.hasOwnProperty(clientId)) continue;
client = server.clients[clientId]; client = server.clients[clientId];
if (client !== exclude) { if (client !== exclude) {
var msg = { var msg = {

View file

@ -9,6 +9,7 @@ var EventEmitter = require('events').EventEmitter
, Client = require('./lib/client') , Client = require('./lib/client')
, Server = require('./lib/server') , Server = require('./lib/server')
, debug = protocol.debug , debug = protocol.debug
;
module.exports = { module.exports = {
createClient: createClient, createClient: createClient,

View file

@ -6,6 +6,7 @@ var net = require('net')
, createPacketBuffer = protocol.createPacketBuffer , createPacketBuffer = protocol.createPacketBuffer
, parsePacket = protocol.parsePacket , parsePacket = protocol.parsePacket
, debug = protocol.debug , debug = protocol.debug
;
module.exports = Client; module.exports = Client;

View file

@ -1,6 +1,7 @@
var net = require('net') var net = require('net')
, Client = require('./client') , Client = require('./client')
, protocol = require('./protocol') , protocol = require('./protocol')
;
module.exports = ping; module.exports = ping;

View file

@ -605,12 +605,14 @@ var entityMetadataTypes = {
// maps string type name to number // maps string type name to number
var entityMetadataTypeBytes = {}; var entityMetadataTypeBytes = {};
for (var n in entityMetadataTypes) { for (var n in entityMetadataTypes) {
if (!entityMetadataTypes.hasOwnProperty(n)) continue;
entityMetadataTypeBytes[entityMetadataTypes[n]] = n; entityMetadataTypeBytes[entityMetadataTypes[n]] = n;
} }
function sizeOfEntityMetadata(value) { function sizeOfEntityMetadata(value) {
var size = 1 + value.length; var size = 1 + value.length;
var item, dataType; var item;
for (var i = 0; i < value.length; ++i) { for (var i = 0; i < value.length; ++i) {
item = value[i]; item = value[i];
size += sizeOf(item.type, item.value); size += sizeOf(item.type, item.value);
@ -636,7 +638,7 @@ function sizeOfObjectData(value) {
function writeObjectData(value, buffer, offset) { function writeObjectData(value, buffer, offset) {
buffer.writeInt32BE(value.intField, offset); buffer.writeInt32BE(value.intField, offset);
if (value.intField === 0) return; if (value.intField === 0) return -1;
offset += 4; offset += 4;
buffer.writeInt16BE(value.velocityX, offset); buffer.writeInt16BE(value.velocityX, offset);
@ -1120,7 +1122,7 @@ function readPropertyArray (buffer, offset) {
property.elementList = []; property.elementList = [];
for (var j = 0; j < elementListLength ; j++) { for (var j = 0; j < elementListLength ; j++) {
property.elementList[j] = {} property.elementList[j] = {};
results = readUUID(buffer, cursor); results = readUUID(buffer, cursor);
if (! results) return null; if (! results) return null;
@ -1276,7 +1278,7 @@ function writeSlot(value, buffer, offset) {
buffer.writeInt16BE(nbtDataSize, offset + 5); buffer.writeInt16BE(nbtDataSize, offset + 5);
value.nbtData.copy(buffer, offset + 7); value.nbtData.copy(buffer, offset + 7);
return offset + 7 + value.nbtData.length; return offset + 7 + value.nbtData.length;
}; }
function sizeOfString(value) { function sizeOfString(value) {
assert.ok(value.length < STRING_MAX_LENGTH, "string greater than max length"); assert.ok(value.length < STRING_MAX_LENGTH, "string greater than max length");
@ -1297,7 +1299,7 @@ function writeString(value, buffer, offset) {
offset += 2; offset += 2;
} }
return offset; return offset;
}; }
function sizeOfAscii(value) { function sizeOfAscii(value) {
return 2 + value.length; return 2 + value.length;
@ -1312,7 +1314,7 @@ function writeAscii(value, buffer, offset) {
offset += 1; offset += 1;
} }
return offset; return offset;
}; }
function sizeOfByteArray16(value) { function sizeOfByteArray16(value) {
assert.ok(Buffer.isBuffer(value), "non buffer passed to ByteArray16Writer"); assert.ok(Buffer.isBuffer(value), "non buffer passed to ByteArray16Writer");
@ -1323,7 +1325,7 @@ function writeByteArray16(value, buffer, offset) {
buffer.writeInt16BE(value.length, offset); buffer.writeInt16BE(value.length, offset);
value.copy(buffer, offset + 2); value.copy(buffer, offset + 2);
return offset + 2 + value.length; return offset + 2 + value.length;
}; }
function writeByte(value, buffer, offset) { function writeByte(value, buffer, offset) {
buffer.writeInt8(value, offset); buffer.writeInt8(value, offset);
@ -1338,7 +1340,7 @@ function writeBool(value, buffer, offset) {
function writeUByte(value, buffer, offset) { function writeUByte(value, buffer, offset) {
buffer.writeUInt8(value, offset); buffer.writeUInt8(value, offset);
return offset + 1; return offset + 1;
}; }
function writeFloat(value, buffer, offset) { function writeFloat(value, buffer, offset) {
buffer.writeFloatBE(value, offset); buffer.writeFloatBE(value, offset);

View file

@ -3,6 +3,7 @@ var net = require('net')
, util = require('util') , util = require('util')
, assert = require('assert') , assert = require('assert')
, Client = require('./client') , Client = require('./client')
;
module.exports = Server; module.exports = Server;
@ -53,6 +54,8 @@ Server.prototype.listen = function(port, host) {
Server.prototype.close = function() { Server.prototype.close = function() {
var client; var client;
for(var clientId in this.clients) { for(var clientId in this.clients) {
if (!this.clients.hasOwnProperty(clientId)) continue;
client = this.clients[clientId]; client = this.clients[clientId];
client.end('ServerShutdown'); client.end('ServerShutdown');
} }

View file

@ -8,7 +8,7 @@ var FakeSocket = function() {
EventEmitter.call(this); EventEmitter.call(this);
}; };
util.inherits(FakeSocket, EventEmitter); util.inherits(FakeSocket, EventEmitter);
FakeSocket.prototype.write = function(){} FakeSocket.prototype.write = function(){};
var client = new Client(); var client = new Client();
var socket = new FakeSocket(); var socket = new FakeSocket();

View file

@ -14,6 +14,7 @@ var mc = require('../')
, MC_SERVER_JAR = process.env.MC_SERVER_JAR , MC_SERVER_JAR = process.env.MC_SERVER_JAR
, SURVIVE_TIME = 10000 , SURVIVE_TIME = 10000
, MC_SERVER_PATH = path.join(__dirname, 'server') , MC_SERVER_PATH = path.join(__dirname, 'server')
;
var defaultServerProps = { var defaultServerProps = {
'generator-settings': "", 'generator-settings': "",
@ -127,6 +128,8 @@ describe("packets", function() {
}); });
var packetId, packetInfo, field; var packetId, packetInfo, field;
for(packetId in protocol.packets) { for(packetId in protocol.packets) {
if (!protocol.packets.hasOwnProperty(packetId)) continue;
packetId = parseInt(packetId, 10); packetId = parseInt(packetId, 10);
packetInfo = protocol.packets[packetId]; packetInfo = protocol.packets[packetId];
it("0x" + zfill(parseInt(packetId, 10).toString(16), 2), it("0x" + zfill(parseInt(packetId, 10).toString(16), 2),
@ -150,7 +153,6 @@ describe("packets", function() {
// empty object uses default values // empty object uses default values
var packet = {}; var packet = {};
packetInfo.forEach(function(field) { packetInfo.forEach(function(field) {
var value = field.type;
packet[field.name] = values[field.type]; packet[field.name] = values[field.type];
}); });
serverClient.once(packetId, function(receivedPacket) { serverClient.once(packetId, function(receivedPacket) {
@ -169,7 +171,7 @@ describe("packets", function() {
packetInfo.forEach(function(field) { packetInfo.forEach(function(field) {
assert.deepEqual(p1[field], p2[field]); assert.deepEqual(p1[field], p2[field]);
}); });
var field, cmp; var field;
for (field in p1) { for (field in p1) {
assert.ok(field in p2, "field " + field + " missing in p2"); assert.ok(field in p2, "field " + field + " missing in p2");
} }
@ -187,9 +189,13 @@ describe("client", function() {
var props = {}; var props = {};
var prop; var prop;
for (prop in defaultServerProps) { for (prop in defaultServerProps) {
if (!defaultServerProps.hasOwnProperty(prop)) continue;
props[prop] = defaultServerProps[prop]; props[prop] = defaultServerProps[prop];
} }
for (prop in propOverrides) { for (prop in propOverrides) {
if (!propOverrides.hasOwnProperty(prop)) continue;
props[prop] = propOverrides[prop]; props[prop] = propOverrides[prop];
} }
var batch = new Batch(); var batch = new Batch();
@ -197,6 +203,8 @@ describe("client", function() {
batch.push(function(cb) { batch.push(function(cb) {
var str = ""; var str = "";
for (var prop in props) { for (var prop in props) {
if (!props.hasOwnProperty(prop)) continue;
str += prop + "=" + props[prop] + "\n"; str += prop + "=" + props[prop] + "\n";
} }
fs.writeFile(path.join(MC_SERVER_PATH, "server.properties"), str, cb); fs.writeFile(path.join(MC_SERVER_PATH, "server.properties"), str, cb);
@ -547,6 +555,8 @@ describe("mc-server", function() {
function broadcast(message, exclude) { function broadcast(message, exclude) {
var client; var client;
for (var clientId in server.clients) { for (var clientId in server.clients) {
if (!server.clients.hasOwnProperty(clientId)) continue;
client = server.clients[clientId]; client = server.clients[clientId];
if (client !== exclude) client.write(0x03, { message: message }); if (client !== exclude) client.write(0x03, { message: message });
} }