123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- %setVar no-join true;
- %addList allowed;
- %addListElement allowed marvinius;
- %addListElement allowed kajetanjohannes;
- %addListElement allowed eropster;
- %addListElement allowed Kargam;
- %addListElement allowed sunrise_xD;
- %setVars %getQuestLeader;;
- %if %checkForListElement allowed $player-name; == true goto start;
- %term;
- @start
- %msg all §rDu hast nun §bWorldedit.;
- %loadEvent block-click;
- %loadEvent block-break;
- %loadEvent chat;
- %goto wait;
- @wait
- %wait;
- %if $event == block-break && $player-item-type == WOOD_SPADE goto cancel;
- %if $event == chat goto checkarg0;
- %if $event == block-click && $player-item-type == WOOD_SPADE && $action == LEFT_CLICK_BLOCK goto setblockpos1;
- %if $event == block-click && $player-item-type == WOOD_SPADE && $action == RIGHT_CLICK_BLOCK goto setblockpos2;
- %if $event == player-leave goto giveup;
- %goto wait;
- @cancel
- %setVar cancel true;
- %goto wait;
- @syntax
- %speak $player-name §dWorldEdit §r-----------------------------------------;
- %speak $player-name §dWorldEdit §3%percent;set <block-name> §r--> §7Setzt den ausgewählten Bereich auf eine Blockart;
- %speak $player-name §dWorldEdit §3%percent;undo §r--> §7Macht die letzte Aktion rückgängig;
- %speak $player-name §dWorldEdit §3%percent;replace <old-block> <new-block> §r--> §7Ersetzt im ausgewählten Bereich alle alten Blöcke durch die neuen.;
- %speak $player-name §dWorldEdit §3%percent;copy §r--> §7Speichert die Auswahl;
- %speak $player-name §dWorldEdit §3%percent;paste §r--> §7Kopiert die Auswahl;
- %speak $player-name §dWorldEdit §3%percent;clone §r--> §7Setzt den zu klonenden Bereich fest.;
- %speak $player-name §dWorldEdit §3%percent;clone confirm §r--> §7Klont die Auswahl korrekt.;
- %speak $player-name §dWorldEdit §3%percent;pos1 §r--> §7Setzt deine aktuelle Position auf Pos1;
- %speak $player-name §dWorldEdit §3%percent;pos2 §r--> §7Setzt deine aktuelle Position auf Pos2;
- %goto wait;
- @checkarg0
- %if %getListElementAt args 0; == we && %getListSize args; == 1 goto syntax;
- %if %getListElementAt args 0; == pos1 && %getListSize args; == 1 goto setplayerpos1;
- %if %getListElementAt args 0; == pos2 && %getListSize args; == 1 goto setplayerpos2;
- %if %getListElementAt args 0; == undo && %getListSize args; == 1 && $undo == true goto undo;
- %if %getListElementAt args 0; == paste && %getListSize args; == 1 goto dopaste1;
- %if %getListElementAt args 0; == clone && %getListSize args; == 1 goto prepareclone;
- %goto check;
- @check
- %if $world1 == $world2 goto checks1;
- %speak $player-name §dWorldEdit §rDie Welten der ausgewählten Blöcke stimmen nicht überein bzw. die Ecken wurden nicht ausgewählt.;
- %goto wait;
- @checks1
- %if %getListElementAt args 0; == clone && %getListSize args; == 2 goto checkclone;
- %if %getListElementAt args 0; == copy && %getListSize args; == 1 goto copy;
- %if %getListElementAt args 0; == set && %getListSize args; == 2 goto checkset;
- %if %getListElementAt args 0; == replace && %getListSize args; == 3 goto checkreplace;
- %goto syntax;
- @checkclone
- %if %getListElementAt args 1; == confirm || %getListElementAt args 1; == co goto doclone;
- %goto syntax;
- @checkset
- %if %isValidStack %getListElementAt args 1;; == true goto set;
- %speak $player-name §dWorldEdit §rDer angegebene Block ist nicht gültig.;
- %goto wait;
- @checkreplace
- %if %isValidStack %getListElementAt args 1;; == true && %isValidStack %getListElementAt args 2;; == true goto replace;
- %speak $player-name §dWorldEdit §rDer angegebene Block ist nicht gültig.;
- %goto wait;
- @setplayerpos1
- %setVar x1 %coords $player-loc x;;
- %setVar y1 %coords $player-loc y;;
- %setVar z1 %coords $player-loc z;;
- %setVar world1 %coords $player-loc w;;
- %speak $player-name §dWorldEdit %concat §3Pos1: $x1 : $y1 : $z1;;
- %goto wait;
- @setplayerpos2
- %setVar x2 %coords $player-loc x;;
- %setVar y2 %coords $player-loc y;;
- %setVar z2 %coords $player-loc z;;
- %setVar world2 %coords $player-loc w;;
- %speak $player-name §dWorldEdit %concat §3Pos2: $x2 : $y2 : $z2;;
- %goto wait;
- @setblockpos1
- %setVar x1 %coords $block-loc x;;
- %setVar y1 %coords $block-loc y;;
- %setVar z1 %coords $block-loc z;;
- %setVar world1 %coords $block-loc w;;
- %speak $player-name §dWorldEdit %concat §3Pos1: $x1 : $y1 : $z1;;
- %goto wait;
- @setblockpos2
- %setVar x2 %coords $block-loc x;;
- %setVar y2 %coords $block-loc y;;
- %setVar z2 %coords $block-loc z;;
- %setVar world2 %coords $block-loc w;;
- %speak $player-name §dWorldEdit %concat §3Pos2: $x2 : $y2 : $z2;;
- %goto wait;
- @copy
- %setVar aktion copy;
- %goto change;
- @replace
- %setVar aktion replace;
- %goto change;
- @set
- %setVar aktion set;
- %goto change;
- @change
- %if $aktion != copy goto override5;
- %addList copyblocktype;
- %addList copyblockdata;
- @override5
- %if $aktion == copy goto override6;
- %removeList undoblocktype;
- %removeList undoblockdata;
- %removeList undoblockloc;
- %addList undoblocktype;
- %addList undoblockdata;
- %addList undoblockloc;
- @override6
- %setVar world $world1;
- %setVar counter 0;
- %if $x1 < $x2 goto override1;
- %setVar helper $x2;
- %setVar x2 $x1;
- %setVar x1 $helper;
- @override1
- %if $y1 < $y2 goto override2;
- %setVar helper $y2;
- %setVar y2 $y1;
- %setVar y1 $helper;
- @override2
- %if $z1 < $z2 goto override3;
- %setVar helper $z2;
- %setVar z2 $z1;
- %setVar z1 $helper;
- @override3
- %setVar helper null;
- %setVar x $x1;
- @start_x
- %setVar y $y1;
- @start_y
- %setVar z $z1;
- @start_z
- %setVar loc %concat $world : $x : $y : $z;;
- @doset
- %if $aktion != set goto doreplace;
- %addListElement undoblocktype %blockType $loc;;
- %addListElement undoblockdata %blockData $loc;;
- %addListElement undoblockloc $loc;
- %setBlock $loc %getListElementAt args 1;;
- %setVar counter %add $counter 1;;
- %goto override4;
- @doreplace
- %if $aktion != replace goto docopy;
- %if %blockType $loc; != %getListElementAt args 1; goto override4;
- #split requested
- %addListElement undoblocktype %blockType $loc;;
- %addListElement undoblockdata %blockData $loc;;
- %addListElement undoblockloc $loc;
- %setBlock $loc %getListElementAt args 2;;
- %setVar counter %add $counter 1;;
- %goto override4;
- @docopy
- %if $aktion != copy goto override4;
- %setVar pasteable true;
- %setVar xedgedistance %sub $x2 $x1;;
- %setVar yedgedistance %sub $y2 $y1;;
- %setVar zedgedistance %sub $z2 $z1;;
- %setVar xdistance %sub $x1 %coords $player-loc x;;;
- %setVar ydistance %sub $y1 %coords $player-loc y;;;
- %setVar zdistance %sub $z1 %coords $player-loc z;;;
- %addListElement copyblocktype %blockType $loc;;
- %addListElement copyblockdata %blockData $loc;;
- %setVar counter %add $counter 1;;
- %goto override4;
- @override4
- %setVar z %add $z 1;;
- %if $z <= $z2 goto start_z;
- %setVar y %add $y 1;;
- %if $y <= $y2 goto start_y;
- %setVar x %add $x 1;;
- %if $x <= $x2 goto start_x;
- %if $aktion == copy goto override8;
- %setVar undo true;
- %speak $player-name §dWorldEdit §3Done: $counter blocks affected;
- %setVar aktion null;
- %goto wait;
- @override8
- %speak $player-name §dWorldEdit §3Done: $counter blocks stored;
- %setVar topaste $counter;
- %setVar aktion null;
- %goto wait;
- @doclone
- %setVar x $x1;
- @start_x
- %setVar y $y1;
- @start_y
- %setVar z $z1;
- @start_z
- %setVar loc %concat $world : $x : $y : $z;;
- @doclone1
- %if $cloneable == true goto doclone2;
- %speak $player-name §dWorldEdit §3Es wurde nichts zum Klonen gespeichert.;
- %goto wait;
- @doclone2
- %addListElement undoblocktype %blockType $loc;;
- %addListElement undoblockdata %blockData $loc;;
- %addListElement undoblockloc $loc;
- %setVar aimloc %modLoc $takefromloc
- %setVar relloc %modLoc $takefromloc
- %blockClone $relloc $loc;
- %setVar counter %add $counter 1;;
- %setVar cloneable false;
- %goto override4;
- @dopaste1
- %if $pasteable == true goto dopaste2;
- %speak $player-name §dWorldEdit §3Es wurde nichts zum Kopieren gespeichert.;
- %goto wait;
- @dopaste2
- %setVar startloc %modLoc $player-loc $xdistance $ydistance $zdistance;;
- %removeList undoblocktype;
- %removeList undoblockdata;
- %removeList undoblockloc;
- %addList undoblocktype;
- %addList undoblockdata;
- %addList undoblockloc;
- %setVar i 0;
- %setVar x 0;
- @start1_x
- %setVar y 0;
- @start1_y
- %setVar z 0;
- @start1_z
- @pastelabel
- %setVar relloc %modLoc $startloc $x $y $z;;
- %addListElement undoblocktype %blockType $relloc;;
- %addListElement undoblockdata %blockData $relloc;;
- %addListElement undoblockloc $relloc;
- %setBlock $relloc %concat %getListElementAt copyblocktype $i; : %getListElementAt copyblockdata $i;;;
- %setVar i %add $i 1;;
- %if $i < %sub %getListSize copyblocktype; $topaste; goto pastelabel;
- %setVar z %add $z 1;;
- %if $z <= $zedgedistance goto start1_z;
- %setVar y %add $y 1;;
- %if $y <= $yedgedistance goto start1_y;
- %setVar x %add $x 1;;
- %if $x <= $xedgedistance goto start1_x;
- %setVar undo true;
- %speak $player-name §dWorldEdit §3Done: $i blocks affected;
- %goto wait;
- @prepareclone
- %setVar world $world1;
- %if $x1 < $x2 goto override9;
- %setVar helper $x2;
- %setVar x2 $x1;
- %setVar x1 $helper;
- @override9
- %if $y1 < $y2 goto override10;
- %setVar helper $y2;
- %setVar y2 $y1;
- %setVar y1 $helper;
- @override10
- %if $z1 < $z2 goto override11;
- %setVar helper $z2;
- %setVar z2 $z1;
- %setVar z1 $helper;
- @override11
- %setVar helper null;
- %setVar takefromloc %concat $world : $x1 : $y1 : $z1;;
- %setVar toclonex %sub $x2 $x1;;
- %setVar tocloney %sub $y2 $y1;;
- %setVar toclonez %sub $z2 $z1;;
- %setVar cloneable true;
- %speak $player-name §dWorldEdit §3Setze nun per Linksklick mit der Holzschaufel den untersten südwestlichsten Punkt.;
- %goto wait;
- @undo
- %setVar i 0;
- @undolabel
- %setVar type %getListElementAt undoblocktype $i;;
- %setVar data %getListElementAt undoblockdata $i;;
- %setVar loc %getListElementAt undoblockloc $i;;
- %setBlock $loc %concat $type : $data;;
- %setVar i %add $i 1;;
- %if $i < %getListSize undoblocktype; goto undolabel;
- %removeList undoblocktype;
- %removeList undoblockdata;
- %removeList undoblockloc;
- %setVar undo false;
- %speak $player-name §dWorldEdit §3Done: $i blocks affected;
- %goto wait;
- @giveup
- %term;
|