From accb742c7fbfe68e0fce58d72a67a19e89743783 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Mon, 26 Oct 2015 02:28:07 +0100 Subject: [PATCH] add back server.setBlock --- doc/api.md | 5 +++++ src/lib/playerPlugins/blocks.js | 9 +-------- src/lib/serverPlugins/world.js | 9 +++++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/doc/api.md b/doc/api.md index 5b9a23b..e0f84de 100644 --- a/doc/api.md +++ b/doc/api.md @@ -38,6 +38,7 @@ - [server.getUUIDFromUsername(username,callback)](#servergetuuidfromusernameusernamecallback) - [server.setTime(time)](#serversettimetime) - [server.setTickInterval(ticksPerSecond)](#serversettickintervaltickspersecond) + - [server.setBlock(world, position, blockType)](#serversetblockworld-position-blocktype) - [Low level methods](#low-level-methods) - [server._writeAll(packetName, packetFields)](#server_writeallpacketname-packetfields) - [server._writeArray(packetName, packetFields, playerArray)](#server_writearraypacketname-packetfields-playerarray) @@ -233,6 +234,10 @@ Resets tick interval to occur `ticksPerSecond` times per second. Use `server.stopTickInterval()` if you want but this method already calls that and you can use `serv.doDaylightCycle` to stop it anyway. +#### server.setBlock(world, position, blockType) + +Saves block in world and sends block update to all players of the same world. + ### Low level methods #### server._writeAll(packetName, packetFields) diff --git a/src/lib/playerPlugins/blocks.js b/src/lib/playerPlugins/blocks.js index c2378b0..778b435 100644 --- a/src/lib/playerPlugins/blocks.js +++ b/src/lib/playerPlugins/blocks.js @@ -17,12 +17,5 @@ function inject(serv,player) }); }; - player.setBlock = (position,blockType) => - { - serv.players - .filter(p => p.world==player.world) - .forEach(player => player.sendBlock(position, blockType)); - - return player.world.setBlockType(position,blockType); - }; + player.setBlock = (position,blockType) => serv.setBlock(player.world,position,blockType); } \ No newline at end of file diff --git a/src/lib/serverPlugins/world.js b/src/lib/serverPlugins/world.js index 708745c..1293475 100644 --- a/src/lib/serverPlugins/world.js +++ b/src/lib/serverPlugins/world.js @@ -32,6 +32,15 @@ function inject(serv,{regionFolder,generation={"name":"diamond_square","options" return Promise.all(promises); }; + serv.setBlock = (world,position,blockType) => + { + serv.players + .filter(p => p.world==world) + .forEach(player => player.sendBlock(position, blockType)); + + return world.setBlockType(position,blockType); + }; + //serv.pregenWorld(serv.overworld).then(() => serv.log('Pre-Generated Overworld')); //serv.pregenWorld(serv.netherworld).then(() => serv.log('Pre-Generated Nether')); } \ No newline at end of file