005 Übung dofile:
Für eine bessere Übersichtlichkeit und Wartung der noch zu programmierenden »Items«, solltest Du Deinen Mod-Ordner neu strukturieren. Ziel dieser Übung ist es, dass die init.lua-Datei nicht mehr direkt den gesamten Quellcode enthält, sondern nur die Ausführung von Unterdateien anstößt:
Vorgehensweise:
Öffne die vorhandene init.lua-Datei in Deinem Mod-Ordner. Speichere die Datei unter einem neuen sinnvollen Namen (Endung .lua, falls Dein Editor das nicht automatisch hinzufügt).
Öffne die init.lua-Datei erneut. Lösche den gesamten Quelltext und ersetze ihn durch diese Anweisung:
Öffne die init.lua-Datei erneut. Lösche den gesamten Quelltext und ersetze ihn durch diese Anweisung:
local modpath = minetest.get_modpath("mod_name") dofile(modpath .. "/lua_datei_name.lua")
Du musst natürlich die Ausdrücke in Anführungszeichen an die Namen anpassen, die Du in Deinem »Mod« verwendet hast.
Für jede Unterdatei, die Du in Zukunft für Deinen »Mod« programmierst, musst Du nun immer die nachfolgenden Zeile in der init.lua-Datei einfügen und den Namen der .lua-Datei, auf die verwiesen wird, anpassen:
Für jede Unterdatei, die Du in Zukunft für Deinen »Mod« programmierst, musst Du nun immer die nachfolgenden Zeile in der init.lua-Datei einfügen und den Namen der .lua-Datei, auf die verwiesen wird, anpassen:
dofile(modpath .. "/lua_datei_name.lua")
BEIM STARTEN GIBT ES EINE FEHLERMELDUNG?
Du erhältst beim Starten Deiner Minetest-Welt eine Fehlermeldung? Lies die Fehlermeldung aufmerksam. Suche in der Meldung nach Formulierungen wie »datei_namen.lua:<eine Zahl>« oder »at line <eine Zahl>«:
In diesen Zeilen verstecken sich vermutlich die Fehler, die Du korrigieren musst. Meistens geht es um ein fehlendes Komma am Ende einer Zeile, fehlende oder falsch gesetzte Anführungszeichen, falsche Dateinamen oder fehlende oder falsch gesetzte runde oder geschweifte Klammern. Hast Du mit »dofile« Deine neue .lua-Datei korrekt eingebunden?
Hinweis: Manchmal musst Du auch eine Zeile unter oder über den Fehlerangaben schauen.
Hinweis: Manchmal musst Du auch eine Zeile unter oder über den Fehlerangaben schauen.
SCHON FERTIG?
Kannst Du die Crafting-Rezepte in eine extra .lua-Datei auslagern und sie dann über die init.lua-Datei mit »dofile« einbinden?
BITTE IMMER BEACHTEN:
Wenn hier in der Aufgabenbeschreibung oder im vorgegebenen Übungsmaterial Ordner- und Dateinamen auftauchen, musst Du sie (fast immer) an Deine verwendeten Order- und Dateinamen anpassen.
Denke immer an die Namenskonventionen (keine Umlaute oder sonstige Sonderzeichen, keine Leerzeichen, alles kleinschreiben, keine Bindestriche, sondern Unterstriche, das erste Zeichen darf keine Ziffer sein ...).
Beim Programmieren machst Du Dir das Leben sehr viel einfacher, wenn Du zusammengehörige Elemente, die in geschweiften oder runden Klammern stehen, mit der TAB-Taste immer etwas nach folgendem Muster einrückst. So behältst Du leichter den Überblick:
Denke immer an die Namenskonventionen (keine Umlaute oder sonstige Sonderzeichen, keine Leerzeichen, alles kleinschreiben, keine Bindestriche, sondern Unterstriche, das erste Zeichen darf keine Ziffer sein ...).
Beim Programmieren machst Du Dir das Leben sehr viel einfacher, wenn Du zusammengehörige Elemente, die in geschweiften oder runden Klammern stehen, mit der TAB-Taste immer etwas nach folgendem Muster einrückst. So behältst Du leichter den Überblick:
groups = { cracky = 3, stone = 1 }
Für Ordner- und Dateinamen solltest Du Dir eine eigene Namens-Systematik ausdenken und streng befolgen. Dann kannst Du schnell mal den Quellcode aus einem »Mod« in einem anderen »Mod« verwenden und musst nur kleine Änderungen vornehmen.
MUSTERLÖSUNG: SO KÖNNTE ES AUSSEHEN
Versuche zunächst, eine eigene Lösung für die gestellten Aufgaben zu finden. Falls Du aber alleine nicht weiterkommst, kannst Du Dir unsere Musterlösung herunterladen.
Beachte: Da es sich um eine Musterlösung handelt, kann Dein Quellcode am Ende ganz anders aussehen. Das fängt schon bei den Ordner- und Dateinamen an, die Du für Deinen »Mod« gewählt hast. Solange Dein »Mod« aber funktioniert, ist eine Lösung so gut wie die andere ...
Beachte: Da es sich um eine Musterlösung handelt, kann Dein Quellcode am Ende ganz anders aussehen. Das fängt schon bei den Ordner- und Dateinamen an, die Du für Deinen »Mod« gewählt hast. Solange Dein »Mod« aber funktioniert, ist eine Lösung so gut wie die andere ...
Verwendung dieser Inhalte - auch in Auszügen - im Schulunterricht, der Jugendarbeit und im Bildungsbereich mit dem Vermerk »© multimediamobil – Region Süd« erlaubt.