Current snippet is Code: $air = new Block(0); $level->setBlock(new Vector3($row["x"], $row["y"], $row["z"]), $air); $sender->sendMessage(TextFormat::GREEN ."[MPDebug] Placed Trigger! "); $this->blc++; I know this section of code is being run however it is not setting the block to air. The block I want to set to air was a block previously placed by a player. I know this works because the following works. Code: $level->setBlock(new Vector3($row["x"], $row["y"], $row["z"]), new Block($row["blockId"],0)); $this->blc++; Does setblock to air not work if a previous block exists? If this is not possible then is there anything that will set a block at $x $y and $z with $blockid and optionally with meta?