flying-squid/src/lib/playerPlugins/blocks.js
2015-10-26 21:32:53 +01:00

22 lines
No EOL
733 B
JavaScript

module.exports=inject;
function inject(serv,player)
{
player.changeBlock=async (position,blockType,blockData) =>
{
serv.players
.filter(p => p.world==player.world && player!=p)
.forEach(p => p.sendBlock(position, blockType, blockData));
await player.world.setBlockType(position,blockType);
await player.world.setBlockData(position,blockData);
};
player.sendBlock = (position, blockType, blockData) => // Call from player.setBlock unless you want "local" fake blocks
player._client.write("block_change",{
location:position,
type:blockType<<4 | blockData
});
player.setBlock = (position,blockType,blockData) => serv.setBlock(player.world,position,blockType,blockData);
}