Luanti in der Schule/Anleitung WorldEdit
WorldEdit ist ein Mod, dass wichtige Funktion bietet, um größere Bauten zu erstellen, ohne die Steine einzeln zu bauen. Das Bauen geschieht meist durch Text-Befehle, allerdings gibt es auch ein Werkzeug, mit dem man zum Beispiel Bereiche in der Karte markieren kann und ein Dialog, um bestimmte vordefinierte Strukturen bauen zu können.
Viele Befehle haben auch kürzere Namen, die schneller eingegeben werden können. Zum Beispiel, wenn man //move ? 5
verwenden will kann man auch //m ? 5
eingeben. Wer will kann statt Textbefehle einzugeben natürlich auch den Dialog verwenden, den man über das Inventar erreicht und dort Befehl der Klick ausführen.
Bereiche markieren
Viele WorldEdit-Aktionen bezeichen sich auf markierte Bereiche. Manchmal reicht auch ein definierter Punkt (z.B. als Mittelpunkt), von dem aus etwas gebaut wird. Markieren kann man einem Textbefehl oder dem Zauberstab, der im Inventar zu finden ist, wenn das Mod WorldEdit installiert ist.
Mit Textbefehlen
Das Markieren eines Bereiches mit einem Textbefehle, ist in verschiedenen Varianten möglich.
Befehl | Kurzbefehl | Beschreibung |
---|---|---|
//p set |
Nach der Eingabe dieses Befehles kann man per Linksklick nacheinander die zwei Blöcke anklicken, die die Ecken des Bereiches markieren sollen. Gibt man den Befehl in der Konsole ein, so muss man die Konsole schließen. Es müssen immer beide Ecken markiert werden. | |
//p set1 |
Nach der Eingabe dieses Befehles kann man per Linksklick die Ecke 1 des Bereiche markieren und dadurch eine eventuell vorhandene Ecke ändern. Entsprechend für Ecke 2. | |
//fixedpos set1 x y z |
//fp |
Mit diesem Befehl kann man die Ecke 1 des Bereiches aufgrund von Koordinaten festlegen. Ensprechend für die Ecke zwei. |
//pos1 |
//1 |
So legt man die Ecke 1 aufgrund der Position des Spielers fest. Dabei wird die Ecke 1 der Block unter dem Spieler, was auch ein Luftblock sein kann, wenn der Spieler fliegt. |
//p get |
Die Eingabe dieses Befehles führt zur Ausgaben der Koordinaten der zwei Eckpunkte im Chat-Bereich. | |
//unmark |
//umk |
Macht das Markierungsmuster und die Eckblöcke unsichtbar. |
//mark |
//mk |
Macht das Markierungsmuster und die Eckblöcke sichtbar, wenn ein Bereich markiert ist. |
//reset |
Entfernt die Markierungen und löscht damit den markierten Bereich (aber nicht den Inhalt!). | |
//scale <factor> |
Skaliert die Region um den angegeben Faktor, wobei die Ecke 1 als Streckpunkt verwendet wird. (Hat bei mir nicht funktioniert!) |
Mit dem Zauberstab
Wenn das Mod WorldEdit installiert ist findet man im Inventar einen Gegenstand namens "World Edit Wand Tool". Per Linksklick auf einen vorhandenen Stein, kann man die erste Marke setzen, die dann als Zahl "1" auf dem Block sichtbar wird. Die zweite Marke setzt man mit per Rechtsklick auf einen vorhandenen Block. Der Block gehört dann zu dem markierten Bereich dazu, die Zahlen auf den Blöcken markieren damit die Ecken des rechteckigen Bereiches.
Das "Wand Tool" macht das Wählen von Bereichen einfach, allerdings nur dann, wenn an den Ecken des zu wählenden Bereiches Blöcke sind. Mann müsste sich dann eventuell zu einer Ecke hochbauen, um dort einen Block anlicken zu können.
Bereiche manipulieren
Die in den Befehlen anzugebenen Blockarten müssen an der Stelle <node>
eingefügt werden. Einen Überblick über einige Steintypen gibt es auf der Übersichtsseite Blöcke. Den zu verwendenden Namen findet man auf der Detailseite zu den Blöcken unter "itemstring".
Die Namen der Blöcke aus Mods, die auf dieser Übersichtsseite nicht zu finden sind, kann man im Spiel erkennen, indem man mit F5 die Debug-Infos einschaltet und mit dem Kreuz auf den Block zeigt. Man sieht dann (in der zweiten Zeile) die Informationen, wie z.B. "pointing_at = default:diamondblock". Man muss dann den Namen hinter dem Gleichheitszeichen bei <node>
angeben. Dabei steht vor dem Doppelpunkt eventuell der Mod-Name, hier ist es aber ein Block, der im Basis-Spiel eingebaut ist. "default" kann man üblicherweise weglassen.
Blöcke setzen/löschen
Befehl | Kurzbefehl | Beschreibung |
---|---|---|
//deleteblocks |
Löscht alle 16x16x16-Bereiche, zu denen der gewählte Bereiche gehört. D.h. das in der Regel mehr Blöcke gelöscht werden, als markiert sind. | |
//set <node> |
//s |
Füllt den gewählten Bereich mit dem gewünschten Blocktyp. |
//mix <node1> ... |
Füllt den gewählten Bereich zufällig mit den angegebenen Blocktypen. | |
//replace <search node> <replace node> |
//r |
Ersetzt in dem gewählten Bereich alle Blöcke des zuerst angegebenen Typs durch den zweiten Typ Blöcke. |
//replaceinverse <search node> <replace node> |
//ri |
Ersetzt in dem gewählten Bereich alle Blöcke außer des zuerst angegebenen Typs durch den zweiten Typ Blöcke. |
//drain |
Entfernt alle flüssigen Blöcke in dem gewählten Bereich, trocknet ihn also aus. | |
//hide |
Versteckt alle Blöcke in dem gewählten Bereich (d.h. macht sie unsichtbar), ohne sie zu löschen. | |
//suppress <node> |
Versteckt alle Blöcke des gewählten Typs in dem gewählten Bereich (d.h. macht sie unsichtbar), ohne sie zu löschen. | |
//highlight <node> |
Hebt die Blöcke des gewählten Typs in dem gewählten Bereich hevor, indem alle anderen versteckt werden (d.h. macht sie unsichtbar), ohne diese aber zu löschen. | |
//restore |
Alle Blöcke im gewählten Bereich, die vorher versteckt wurden, werden wieder sichtbar gemacht. |
TIPP: Es gibt keinen Befehl, um einen markierten Bereich einfach so zu leeren/löschen. Man kann diese Aktion aber auch als "Füllen mit Luft" ansehen und so kann man den Befehl //set air
oder //s air
verwenden.
Bereiche verschieben usw.
Befehl | Kurzbefehl | Beschreibung |
---|---|---|
//copy x/y/z/? <amount> |
Kopiert den markierten Bereich und fügt ihn in Richtung der angegeben Achse (oder Blickrichtung) um <amount> verschoben noch einmal ein.
| |
//move x/y/z/? <amount> |
Verschiebt den markierten Bereich, indem er ausgeschnitten und in Richtung der angegeben Achse (oder Blickrichtung) um <amount> verschoben wieder eingefügt wird.
| |
//stack x/y/z/? <count> |
Von Stapeln: Kopiert und fügt den markierten Bereich direkt aufeinanderfolgend <count> mal in die angegeben Richtung ein. Negative Werte stapeln in die Gegenrichtung. So kann man sich wiederholende Bereiche bequem mehrfach kopieren.
| |
//stack2 <count> <x> <y> <z> |
Stapelt den gewählten Bereich wie vorher //stack, nur wird zusätzlich noch dazwischen immer die gleiche Verschiebung um x y z eingebaut.
| |
//rotate x/y/z/? <angle> |
Rotiert den gewählten Bereich um den angegeben Winkel (Vielfache von 90° sind erlaubt) um die angegebene Achse bzw. bei ? in Blickrichtig des Spielers. | |
//flip x/y/z/? |
Spiegelung der Blöcke in dem markierten Bereich an einer Ebene, die senkrecht auf die angegebene Achse steht. Z.B. führt //flip y zu einer Spiegelung an einer Ebene, die parallel zum Boden ist.
| |
//transpose x/y/z/? x/y/z/? |
Auch eine Art Spiegelung, aber diesmal werden zwei Achsen angegeben und die Spiegelebene steht schräg dazwischen. | |
//orient <angle> |
Ändert die Orientierung der Blöcke, die eine Orientierung haben (wie z.B. Treppen) im gewählten Bereich um die y-Achse um 90°, 180°, oder 270°. Hat damit eine Wirkung wie ein Linksklick mit dem Schraubendreher. |
Hinweis: Der Rotieren-Befehl wird hier als Beispiel etwas genauer betrachtet. In den folgenden drei Bildern, sieht man wie eine kleine Region um 90° gedreht wird mit dem Befehl. Das Ergebnis ist nicht ganz schlüssig!
Spezielle Figuren bauen
Befehl | Kurzbefehl | Beschreibung |
---|---|---|
//hollowsphere <radius> <node> |
//hspr |
Erstellt eine hohle Kugel mit dem angegeben Radius, um die markierte Position 1 aus dem ausgewählten Material. |
//sphere <radius> <node> |
//spr |
Erstellt eine Kugel mit dem angegeben Radius, um die markierte Position 1 aus dem ausgewählten Material. |
//hollowdome <radius> <node> |
//hdo |
Erstellt eine hohle Halbkugel mit dem angegeben Radius, um die markierte Position 1 aus dem ausgewählten Material. |
//dome <radius> <node> |
//do |
Erstellt eine Halbkugel mit dem angegeben Radius, um die markierte Position 1 aus dem ausgewählten Material. |
//hollowcylinder x/y/z/? <length> <radius> <node> |
//hcyl |
Erstellt einen hohlen Zylinder mit dem angegeben Radius und Höhe (=length) aus dem ausgewählten Material um die Position 1. Die Richtung ist festgelegt durch die angegebene Achse oder bei ? in die Richtugn in die der Spieler schaut. |
//cylinder x/y/z/? <length> <radius> <node> |
//cyl |
Erstellt einen gefüllten Zylinder, die Angaben wie vorher. |
//pyramid x/y/z? <height> <node> |
Erstellt an der Postion 1 eine gefüllte quadratische Pyramide mit der angegebenen Höhe aus dem gewählten Stein. Die Seitenlänge ergibt sich aus der Höhe und bei einer Höhe h ist die Seitenlänge 2*h-1. | |
//spiral <length> <height> <spacer> <node> |
Man erstellt so eine Spirale mit der angegebenen Höhe und aus dem angegebenen Material um die Position 1. Es muss allerdings auch die Position 2 angegeben werden, aber das hat keinen Einfluß auf die Größe. Die Länge der Spirale ist ein Wert, der nicht immer genau erreicht wird, da dies von der Breite des Freiraums <spacer> abhängt. |
Schemata verwenden
Schemata stellen eine Möglichkeit dar, Bereiche in der Welt zu kopieren und sie dann an beliebiger Stelle wieder einzufügen. Ein "Copy und Paste" sozusagen. Der "Copy"-Befehl kann das ja nicht!
Man makiert einen rechteckigen Bereich, egal wie. Mit dem Befehl
//save schematics SchemaName
speichert man diesen Bereich. Dabei wird im Verzeichnis der aktuell bespielten Welt ein Unterverzeichnis "schems" angelegt in dem dann Dateien der Art schematic SchemaName.we angelegt werden.
Das Einfügen erfolgt mit dem Befehl
//load schematics SchemaName
wobei die Einfügung relativ zu einer markierten "Position 1" geschieht.
Der Vorteil von Schematas ist nicht nur, dass man das Einfügen an beliebiger, direkt festgelegter Stelle geschieht, sondern das man die Schemata-Dateien auch in anderen Welten nutzen und so Bauwerke übertragen kann.