From a70eee40c88499996373baffcd716b846073df6a Mon Sep 17 00:00:00 2001 From: Oscar Beaumont Date: Wed, 8 Nov 2017 23:27:00 +0800 Subject: [PATCH] Added New Example For Generating A World This is a new example that shows how to generate a chunk (Using prismarine-chunk) and send it to the user. --- examples/server_world/mc.js | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 examples/server_world/mc.js diff --git a/examples/server_world/mc.js b/examples/server_world/mc.js new file mode 100644 index 0000000..c458402 --- /dev/null +++ b/examples/server_world/mc.js @@ -0,0 +1,47 @@ +const mc = require('minecraft-protocol'); +const Chunk = require('prismarine-chunk')("1.12.1"); +const Vec3 = require('vec3'); +var server = mc.createServer({ + 'online-mode': true, + encryption: true, + host: '0.0.0.0', + port: 25565, +}); +var chunk = new Chunk(); + +for (var x = 0; x < 16;x++) { + for (var z = 0; z < 16; z++) { + chunk.setBlockType(new Vec3(x, 100, z), 2); + for (var y = 0; y < 256; y++) { + chunk.setSkyLight(new Vec3(x, y, z), 15); + } + } +} + +server.on('login', function(client) { + client.write('login', { + entityId: client.id, + levelType: 'default', + gameMode: 0, + dimension: 0, + difficulty: 2, + maxPlayers: server.maxPlayers, + reducedDebugInfo: false + }); + client.write('position', { + x: 15, + y: 101, + z: 15, + yaw: 137, + pitch: 0, + flags: 0x00 + }); + client.write('map_chunk', { + x: 0, + z: 0, + groundUp: true, + bitMap: 0xffff, + chunkData: chunk.dump(), + blockEntities: [] + }); +});