von Norbert Thien, www.multimediamobile.de
1. Die Ausgangssituation
Das wichtigste an einem Adventskalender sind 24 Möglichkeiten, kleine Überraschungen zu verstecken. So entstand die Idee eines Labyrinths. Es enthält 24 Bücher, die jeden Tag die Weihnachtsbräuche in einem bestimmten Land erklären:
Natürlich sollten die Bücher nicht alle sofort zu sehen sein, sondern nur am jeweils passenden Tag. Hier kommt MESE – das Redstone in Minetest – ins Spiel. Aber MESE bedeutet auch immer, dass man viele Leitungen legen muss, die je nach Vorhaben den Gesamteindruck des Bauwerks schmälern. Also wurde dem Labyrinth ein Untergeschoss verpasst, das die gesamte Technik aufnimmt:
2. Die Technik
Zum Einsatz kommt der Mod MESECONS. Dieser enthält Kolben (PISTON), isolierten Leitungen (INSULATED MESECON), Meseblöcke (MESE), Druckplatten (PLATE) und den LUA-Controller für die eigentliche Programmierung. Der vereinfachte Aufbau sieht so aus:
Die Druckplatte oben gibt beim Betreten ein Signal an die darunterliegenden Meseblöcke ab. Der LUA-Controller wertet aus, ob ein Signal anliegt oder nicht und schickt je nach Situation seinerseits über die isolierten Leitungen ein Signal an die Kolben. Diese fahren aus und zeigen entweder ein Schild »Falscher Tag. Du bist zu früh dran« oder geben das Buch mit dem Weihnachtsbrauch des Tages frei.
3. Die Programmierung
Der Editor des LUA-Controller wird mit Rechtsklick geöffnet. Zu Beginn wird eine Variable namens buch angelegt und mit dem Wert des Tages initialisiert, an dem das Buch frühestens geöffnet werden kann (Beispiel: buch = 19).
Erhält der LUA-Controller ein Signal von der Druckplatte, wird seine Programmierung ausgeführt. Die Funktion os.datetable().day ermittelt den aktuellen Tag und im Folgenden wird verglichen, ob der Wert der Variable buch kleiner oder gleich dem aktuellen Tageswert ist. Fällt der Vergleich positiv aus, schickt der LUA-Controller ein Signal an den Port, an dem die Leitung und der Kolben hängt, der das Buch freigibt. Sonst wird das Schild »Falscher Tag. Du bist zu früh dran.« hochgefahren.
4. Fehlerquellen und Probleme
Der LUA-Controller richtet sich mit Port A immer nach Westen aus und lässt sich nicht mit dem SCREW DRIVER drehen. Man muss also aufpassen, ob man gerade die richtigen Pins und Ports anspricht (vor allem bei Copy & Paste). Variablen erleichtern hier die Arbeit. Eine Eselsbrücke hilft, beim Programmieren die Begriffe PIN und PORT nicht zu verwechseln (P-In = eingehendes Signal).
Gelegentlich scheint es Probleme im Zusammenspiel von Kolben und dem Mod AREAS zu geben; mit AREAS kann man ein Baugebiet schützen. Installiert man zuerst die Kolben und legt danach das Schutzgebiet fest, kann es passieren, dass die Kolben nicht mehr ausfahren. Hier hilft nur, die Kolben abzubauen und neu einzurichten. Dieser Effekt kann auch auftreten, wenn man ein vorgefertigtes Bauwerk mit WORLDEDIT importiert.
SERVER-LAGS (Verzögerungen in der Server-Client-Verbindung) sind eine Fehlerquelle. Einerseits ist bekannt, dass Mese selber Lags verursacht. Andererseits ist Mese von den Auswirkungen eines Server-Lags betroffen. Das führt mitunter dazu, dass eine Trittplatte oder ein Meseblock daueraktiv ist bzw. bleibt, auch, wenn man von der Trittplatte längst wieder heruntergetreten ist. Dann kann der LUA-Controller nicht mehr korrekt arbeiten. Im günstigsten Fall tritt man einfach erneut auf die Platte und löst so ein weiteres Signal aus. Leider kommt man aber manchmal nicht umhin, die Mechanik eines ganzen Tages abzubauen und alles neu zu konstruieren.
Nicht immer wollen beim Bauen die Mesecon-Leitungen und Kolben gleich die richtige Ausrichtung annehmen. Hier hilft der Schraubenzieher (SCREW DRIVER). Aufpassen muss man, dass man beim Abbauen von Steinen oder anderen Objekten nicht versehentlich eine bereits darunter angelegte MESE-Leitung entfernt.
5. Eigene Texturen & Mods
Warum kann eigentlich der Kolben mit dem Buch oben drauf die Grasdecke durchstoßen? Eigentlich müsste dabei doch das Grasstück verdrängt und in die Höhe gehoben werden? Hier wird mit dem Mod GEMALDE getrickst. Der Mod erlaubt es, ein Bild in der Größe von 3×3 Blöcken anzulegen, wobei nur der mittlere Block des Gitters anklickbar ist. Durch die anderen Felder kann man gehen, fallen oder eben mit einem Kolben etwas schieben.
Und warum schließt sich das Buch nach dem Lesen wieder automatisch? Bücher öffnet man mit einem doppelten Rechtsklick, verlässt sie mit der ESC-Taste und schließt die aufgeschlagenen Seiten endgültig mit einem Linksklick. Leider schlagen aber die meisten Leser:innen das Buch am Ende nicht wieder zu. Weitere Leser:innen finden also zumeist ein bereits aufgeschlagenes Buch vor, was dem vollen Lesevergnügen ein wenig abträglich ist. Darum wurde im Mod BOOKS am Ende der Funktion on_rightclick die zusätzlichen Codezeilen node.name = „mybooks:book_closed“ und minetest.swap_node(pos, node) eingefügt.
6. Tunnel des Grauens
Ganz in der Nähe des Adventskalenders gibt es den »Tunnel des Grauens«. Wer es wagt, kann ihn betreten. Aber schafft man es auch, ihm wieder zu entkommen?
7. Den Adventskalender ansehen
Der Adventskalender ist Teil des großartigen »Bildungsserver des Minetest-Bildungsnetzwerks« mit vielen weiteren passenden Gebäuden zur Weihnachtszeit und kann online gespielt werden. Außerdem gibt es eine Offline-Version zum Herunterladen, die nur den oben beschriebenen Kalender enthält.
Norbert Thien, www.multimediamobile.de
Download des Original-Artikels als PDF: Minetest-Adventskalender2020
Noch Fragen an Norbert Thien? Dann hier eine Email schreiben: thien@multimediamobile.de
Feedback
Wie gefällt euch die diesjährige Adventskalendermechanik? Gebt Norbert Thien und uns gern eine Rückmeldung unten in den Kommentaren.
Lieber Norbert,
Das ist die Beste Einführung in Mesecons, die ich bisher gelesen habe: sehr schön, transparent, nachvollziehbar und mir vielen praktischen Beispiele !
Es gibt übrigens kein einziges #minetest #Buch 🙁 … und es wäre doch toll auf der Basis solchen Beschreibungen mal ein solches als Gemeinschafts-Projekt zu starten!
Vielen Dank!
Heiko Idensen
Hallo Heiko,
ja, erstaunlich. Auch auf englisch gibt es leider nichts. Aber gute Idee: Man sammelt alle verstreuten Artikel und macht daraus ein Buch zum Downloaden.