flying-squid/src/lib/plugins/blocks.js

20 lines
No EOL
725 B
JavaScript

module.exports.player=function(player,serv)
{
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);
};