If you're talking about the method used in WorldStyler... it still comes at a cost. It isn't that efficient for micro block updates. You could use: Level->setBlock(Vector3, Block, false, false) — skips light updates and neighbouring block updates Level->setBlockIdAt() + Level->setBlockDataAt() — updates block data in chunk and updates level cache. this is what explosions use too. but note that that's not a free-of-cost block setter, it ignores various block and light updates and directly modifies the block data in the chunk. also don't forget to floor the coordinates before passing it as the parameters.