public static function emit(StringWriter $writer, Clip $clip) { $writer->appendBString($clip->getName()); $writer->appendLong(count($clip->getBlocks())); foreach ($clip->getBlocks() as $key => $block) { $v = Clip::unkey($key); $writer->appendInt($v->x); $writer->appendShort($v->y); $writer->appendInt($v->z); $writer->appendByte($block->getID()); $writer->appendByte($block->getDamage()); } }
public function setClip($name, Clip $clip) { if (strlen($name) >= 64) { throw new \InvalidArgumentException("Clip names must not exceed 64 characters!"); // This exception will be caught at SubcommandMap.php } $blocks = $clip->getBlocks(); $this->deleteClip($name); foreach ($blocks as $keyed => $block) { $unkeyed = Clip::unkey($keyed); $this->db->query("INSERT INTO clipboard_blocks VALUES (\n\t\t\t\t\t'{$this->db->escape_string($clip->getName())}',\n\t\t\t\t\t{$unkeyed->x},\n\t\t\t\t\t{$unkeyed->y},\n\t\t\t\t\t{$unkeyed->z},\n\t\t\t\t\t{$block->getID()},\n\t\t\t\t\t{$block->getDamage()}\n\t\t\t\t\t);"); } }