a few small changes to make the code better

This commit is contained in:
Romain Beaumont 2015-11-30 22:19:56 +01:00
parent f3a653ef1c
commit b2b53c9343
14 changed files with 40 additions and 47 deletions

View file

@ -55,7 +55,7 @@ if(process.argv.length < 5) {
process.exit(1);
}
process.argv.forEach(function(val, index, array) {
process.argv.forEach(function(val) {
if(val == "-h") {
print_help();
process.exit(0);
@ -167,9 +167,9 @@ function parseChat(chatObj, parentState) {
chat += color(util.format.apply(this, args), getColorize(parentState));
}
for(var i in chatObj.extra) {
chatObj.extra.forEach(function(i) {
chat += parseChat(chatObj.extra[i], parentState);
}
});
return chat;
}
}

View file

@ -26,7 +26,7 @@ if(process.argv.length < 4) {
printHelpAndExit(1);
}
process.argv.forEach(function(val, index, array) {
process.argv.forEach(function(val) {
if(val == "-h") {
printHelpAndExit(0);
}
@ -175,8 +175,8 @@ srv.on('login', function(client) {
function shouldDump(name, direction) {
if(matches(printNameBlacklist[name])) return false;
if(printAllNames) return true;
if(matches(printNameWhitelist[name])) return true;
return false;
return matches(printNameWhitelist[name]);
function matches(result) {
return result != null && result.indexOf(direction) !== -1;
}

View file

@ -1,11 +1,10 @@
var mc = require('minecraft-protocol');
var states = mc.states;
var options = {
motd: 'Vox Industries',
'max-players': 127,
port: 25565,
'online-mode': false,
'online-mode': false
};
var server = mc.createServer(options);

View file

@ -1,7 +1,7 @@
var mc = require('minecraft-protocol');
var options = {
'online-mode': true,
'online-mode': true
};
var server = mc.createServer(options);

View file

@ -86,6 +86,7 @@ function createClient(options) {
client.connect(port, host);
}
var timeout = null;
return client;
function onConnect() {
@ -104,7 +105,6 @@ function createClient(options) {
function onCompressionRequest(packet) {
client.compressionThreshold = packet.threshold;
}
var timeout = null;
function onKeepAlive(packet) {
if (timeout)
clearTimeout(timeout);
@ -153,7 +153,7 @@ function createClient(options) {
var encryptedVerifyTokenBuffer = pubKey.encrypt(packet.verifyToken, undefined, undefined, ursa.RSA_PKCS1_PADDING);
client.write('encryption_begin', {
sharedSecret: encryptedSharedSecretBuffer,
verifyToken: encryptedVerifyTokenBuffer,
verifyToken: encryptedVerifyTokenBuffer
});
client.setEncryption(sharedSecret);
}

View file

@ -70,7 +70,7 @@ function createServer(options) {
});
}
function onKeepAlive(packet) {
function onKeepAlive() {
lastKeepAlive = new Date();
}
@ -86,7 +86,7 @@ function createServer(options) {
clearTimeout(loginKickTimer);
}
function onPing(packet) {
function onPing() {
var response = {
"version": {
"name": version.minecraftVersion,

View file

@ -1,8 +1,6 @@
var nbt = require('prismarine-nbt');
var types=require("protodef").types;
var uuid = require('node-uuid');
// TODO : remove type-specific, replace with generic containers and arrays.
module.exports = {
'UUID': [readUUID, writeUUID, 16],
'nbt': [readNbt, writeNbt, sizeOfNbt],
@ -14,7 +12,7 @@ module.exports = {
function readUUID(buffer, offset) {
return {
value: uuid.unparse(buffer, offset),
size: 16,
size: 16
};
}
@ -71,37 +69,37 @@ function sizeOfRestBuffer(value) {
return value.length;
}
function readEntityMetadata(buffer, offset, typeArgs) {
function readEntityMetadata(buffer, offset, {type,endVal}) {
var cursor = offset;
var metadata = [];
var item;
while(true) {
item = buffer.readUInt8(cursor);
if(item === typeArgs.endVal) {
if(item === endVal) {
return {
value: metadata,
size: cursor + 1 - offset
};
}
var results = this.read(buffer, cursor, typeArgs.type, {});
var results = this.read(buffer, cursor, type, {});
metadata.push(results.value);
cursor += results.size;
}
}
function writeEntityMetadata(value, buffer, offset, typeArgs) {
function writeEntityMetadata(value, buffer, offset, {type,endVal}) {
var self = this;
value.forEach(function(item) {
offset = self.write(item, buffer, offset, typeArgs.type, {});
offset = self.write(item, buffer, offset, type, {});
});
buffer.writeUInt8(typeArgs.endVal, offset);
buffer.writeUInt8(endVal, offset);
return offset + 1;
}
function sizeOfEntityMetadata(value, typeArgs) {
function sizeOfEntityMetadata(value, {type}) {
var size = 1;
for(var i = 0; i < value.length; ++i) {
size += this.sizeOf(value[i], typeArgs.type, {});
size += this.sizeOf(value[i], type, {});
}
return size;
}

View file

@ -1,4 +1,4 @@
var util = require('util')
var util = require('util');
var debug;
if(process.env.NODE_DEBUG && /(minecraft-protocol|mc-proto)/.test(process.env.NODE_DEBUG)) {

View file

@ -4,11 +4,11 @@ var Transform = require("readable-stream").Transform;
module.exports.createCompressor = function(threshold) {
return new Compressor(threshold);
}
};
module.exports.createDecompressor = function(threshold) {
return new Decompressor(threshold);
}
};
class Compressor extends Transform {
constructor(compressionThreshold = -1) {
@ -47,8 +47,7 @@ class Decompressor extends Transform {
}
_transform(chunk, enc, cb) {
var size, value, error;
({ size, value, error } = readVarInt(chunk, 0));
var { size, value, error } = readVarInt(chunk, 0);
if (error)
return cb(error);
if (value === 0)

View file

@ -3,11 +3,11 @@ var Transform = require("readable-stream").Transform;
module.exports.createSplitter = function() {
return new Splitter();
}
};
module.exports.createFramer = function() {
return new Framer();
}
};
class Framer extends Transform {
constructor() {
@ -30,10 +30,9 @@ class Splitter extends Transform {
}
_transform(chunk, enc, cb) {
this.buffer = Buffer.concat([this.buffer, chunk]);
var value, size, error;
var offset = 0;
({ value, size, error } = readVarInt(this.buffer, offset) || { error: "Not enough data" });
var { value, size, error } = readVarInt(this.buffer, offset) || { error: "Not enough data" };
while (!error && this.buffer.length >= offset + size + value)
{
this.push(this.buffer.slice(offset + size, offset + size + value));

View file

@ -7,7 +7,7 @@ var states = mc.states;
var testDataWrite = [
{name: 'keep_alive', params: {keepAliveId: 957759560}},
{name: 'chat', params: {message: '<Bob> Hello World!'}},
{name: 'position_look', params: {x: 6.5, y: 65.62, stance: 67.24, z: 7.5, yaw: 0, pitch: 0, onGround: true}},
{name: 'position_look', params: {x: 6.5, y: 65.62, stance: 67.24, z: 7.5, yaw: 0, pitch: 0, onGround: true}}
// TODO: add more packets for better quality data
];
@ -36,7 +36,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
var deserializer=new mc.createDeserializer({state:states.PLAY,isServer:true,version:version.majorVersion});
console.log('Beginning read test');
start = Date.now();
for (j = 0; j < inputData.length; j++) {
for (var j = 0; j < inputData.length; j++) {
deserializer.parsePacketBuffer(inputData[j]);
}
console.log('Finished read test in ' + (Date.now() - start) / 1000 + ' seconds');

View file

@ -43,7 +43,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
});
wrap.startServer({
motd: 'test1234',
'max-players': 120,
'max-players': 120
}, function(err) {
if(err)
return done(err);

View file

@ -41,9 +41,9 @@ var values = {
var results = {
"..": context
};
for(var index in typeArgs) {
Object.keys(typeArgs).forEach(function(index){
results[typeArgs[index].name] = getValue(typeArgs[index].type, results);
}
});
delete context[".."];
return results;
},
@ -100,7 +100,7 @@ var values = {
intField: 9,
velocityX: 1,
velocityY: 2,
velocityZ: 3,
velocityZ: 3
},
'UUID': "00112233-4455-6677-8899-aabbccddeeff",
'position': {x: 12, y: 332, z: 4382821},
@ -155,7 +155,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
client.end();
});
var packetName, packetInfo, field;
for(state in packets) {
for(var state in packets) {
if(!packets.hasOwnProperty(state)) continue;
for(packetName in packets[state].toServer) {
if(!packets[state].toServer.hasOwnProperty(packetName)) continue;
@ -210,14 +210,13 @@ mc.supportedVersions.forEach(function(supportedVersion){
packetInfo.forEach(function(field) {
assert.deepEqual(p1[field], p2[field]);
});
var field;
for(field in p1) {
Object.keys(p1).forEach(function(field){
if (p1[field] !== undefined)
assert.ok(field in p2, "field " + field + " missing in p2, in p1 it has value " + JSON.stringify(p1[field]));
}
for(field in p2) {
});
Object.keys(p2).forEach(function(field){
assert.ok(field in p1, "field " + field + " missing in p1, in p2 it has value " + JSON.stringify(p2[field]));
}
});
}
});

View file

@ -1,5 +1,4 @@
var mc = require('../');
var Client = mc.Client;
var assert = require('power-assert');
mc.supportedVersions.forEach(function(supportedVersion){
@ -271,4 +270,4 @@ mc.supportedVersions.forEach(function(supportedVersion){
}
});
});
})
});