diff --git a/.gitignore b/.gitignore index 45981f3..be85d62 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ node_modules test/npm-debug.log test/server -dist/ diff --git a/HISTORY.md b/HISTORY.md index 4b03c98..dd5ab1d 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,9 +1,17 @@ # History -## 1.1.2 (UNRELEASED) +## 1.1.4 (UNRELEASED) * Added a errorHandler option to createServer. +## 1.1.3 + +* requires node 6 + +## 1.1.2 + +* use last protodef + ## 1.1.1 * update to yggdrasil 0.2.0 diff --git a/browser.js b/browser.js deleted file mode 100644 index e696e23..0000000 --- a/browser.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/browser.js'); diff --git a/circle.yml b/circle.yml index 824c958..d4c5f41 100644 --- a/circle.yml +++ b/circle.yml @@ -2,7 +2,7 @@ machine: environment: MC_SERVER_JAR_DIR: /home/ubuntu/node-minecraft-protocol/minecraft-server/ node: - version: 4 + version: 6 java: version: openjdk7 dependencies: diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index d3e62ff..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,31 +0,0 @@ -var gulp = require('gulp'); - -var plumber = require('gulp-plumber'); -var babel = require('gulp-babel'); -var options = { - presets: ['es2015'] -}; - -var sourcemaps = require('gulp-sourcemaps'); - -gulp.task('compile', function() { - return gulp - .src('src/**/*.js') - .pipe(plumber({ - errorHandler: function(err) { - console.error(err.stack); - this.emit('end'); - } - })) - .pipe(sourcemaps.init()) - .pipe(babel(options)) - .pipe(plumber.stop()) - .pipe(sourcemaps.write('maps/')) - .pipe(gulp.dest('dist/')); -}); - -gulp.task('watch', function() { - return gulp.watch('src/**/*.js', ['compile']); -}); - -gulp.task('default', ['compile']); diff --git a/index.js b/index.js deleted file mode 100644 index f843a90..0000000 --- a/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dist/index.js'); diff --git a/package.json b/package.json index 0ace9ce..d752d5c 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "name": "minecraft-protocol", - "version": "1.1.1", + "version": "1.1.3", "description": "Parse and serialize minecraft packets, plus authentication and encryption.", - "main": "index.js", + "main": "src/index.js", "repository": { "type": "git", "url": "git://github.com/PrismarineJS/node-minecraft-protocol.git" }, "scripts": { - "prepublish": "gulp && require-self", + "prepublish": "require-self", "test": "mocha --recursive --reporter spec" }, "keywords": [ @@ -24,22 +24,16 @@ "author": "Andrew Kelley", "license": "BSD-3-Clause", "engines": { - "node": ">=4" + "node": ">=6" }, - "browser": "browser.js", + "browser": "src/browser.js", "devDependencies": { - "babel-preset-es2015": "^6.3.13", "espower-loader": "^1.0.0", - "gulp": "^3.9.0", - "gulp-babel": "^6.1.1", - "gulp-plumber": "^1.0.1", - "gulp-sourcemaps": "^2.0.0", "intelli-espower-loader": "^1.0.0", "minecraft-wrap": "^1.0.0", "mocha": "^3.0.2", "power-assert": "^1.0.0", - "require-self": "^0.1.0", - "source-map-support": "^0.4.0" + "require-self": "^0.1.0" }, "dependencies": { "buffer-equal": "^1.0.0", @@ -49,7 +43,7 @@ "lodash.merge": "^4.3.0", "minecraft-data": "^2.11.0", "prismarine-nbt": "^1.0.0", - "protodef": "^1.2.3", + "protodef": "^1.3.0", "readable-stream": "^2.0.5", "ursa-purejs": "^0.0.3", "uuid-1345": "^0.99.6", diff --git a/src/client/pluginChannels.js b/src/client/pluginChannels.js index 92500ae..4b8b87a 100644 --- a/src/client/pluginChannels.js +++ b/src/client/pluginChannels.js @@ -7,7 +7,7 @@ module.exports = function(client, options) { var proto = new ProtoDef(); proto.addTypes(mcdata.protocol.types); proto.addTypes(minecraft); - proto.addTypes({'registerarr': [readDumbArr, writeDumbArr, sizeOfDumbArr]}); + proto.addType('registerarr',[readDumbArr, writeDumbArr, sizeOfDumbArr]); client.registerChannel = registerChannel; client.unregisterChannel = unregisterChannel; diff --git a/src/transforms/serializer.js b/src/transforms/serializer.js index d5dcafa..5f8e9be 100644 --- a/src/transforms/serializer.js +++ b/src/transforms/serializer.js @@ -18,12 +18,18 @@ function recursiveAddTypes(protocol,protocolData,path) recursiveAddTypes(protocol,get(protocolData,path.shift()),path); } +const protocols={}; + function createProtocol(state,direction,version,customPackets) { + const key=state+";"+direction+";"+version; + if(protocols[key]) + return protocols[key]; const proto = new ProtoDef(); proto.addTypes(minecraft); const mcData=require("minecraft-data")(version); recursiveAddTypes(proto,merge(mcData.protocol,get(customPackets,[mcData.version.majorVersion])),[state,direction]); + protocols[key]=proto; return proto; }