Example #1
0
 public function run(WorldEditSession $session, array $args)
 {
     $params = new FormattedArguments($args);
     $sel = $session->getSelection($params->opt("n", "default"));
     if ($sel === null) {
         return Lang::ERR_NO_SEL;
     }
     $coll = new BlockCollection();
     while (($string = $params->nextPlain()) !== null) {
         $entry = BlockEntry::fromString($string);
         // TODO handle exception
         $coll->addBlock($entry);
     }
     $bb = $sel->iteratorAllBlocks($coll);
     $rheostat = new Rheostat($session->getQueue(), $bb, $session->translate(Lang::SPACE_SET_BLOCKS, ["SPACE" => $sel->name($session)]));
     $session->getQueue()->addTask($rheostat);
     return Lang::EDIT_SET_IN_PROGRESS;
 }
Example #2
0
 public function run(WorldEditSession $session, array $args)
 {
     $params = new FormattedArguments($args);
     $sel = $session->getSelection($params->opt("n", "default"));
     if ($sel === null) {
         return Lang::ERR_NO_SEL;
     }
     $blocks = $params->nextPlain();
     $sources = [];
     foreach (explode(",", $blocks) as $block) {
         $sources[] = BlockEntry::fromString($block, false);
     }
     $targets = new BlockCollection();
     while (($string = $params->nextPlain()) !== null) {
         $entry = BlockEntry::fromString($string);
         // TODO handle exception
         $targets->addBlock($entry);
     }
     $bb = $sel->iteratorAllBlocks($targets);
     $rheostat = new Rheostat($session->getQueue(), new ArrayBackedBlockFilter($sources), $bb, $session->translate(Lang::SPACE_SET_BLOCKS, ["SPACE" => $sel->name($session)]));
     $session->getQueue()->addTask($rheostat);
     return Lang::EDIT_REPLACE_IN_PROGRESS;
 }