Level 1 – Einstieg (Struktur)
In diesem Kapitel schauen wir uns an, wie ein Mod-Ordner von innen aussieht.
Du lernst, wofür init.lua, mod.conf und typische Unterordner da sind.
Danach bist du bereit, deinen ersten echten Code laufen zu lassen.
Aus dem vorherigen Kapitel weißt du schon, wo dein Mod-Ordner liegt – zum Beispiel:
minetest/
└── mods/
└── school_platform/
In diesem Ordner school_platform wohnen jetzt alle Dateien deines Mods.
Die wichtigste davon ist init.lua.
Du kannst die Struktur mit einem „kleinen Programm“ vergleichen:
Der Mod ist ein Projektordner, init.lua ist die „Hauptdatei“,
die Luanti beim Start des Spiels automatisch lädt.
init.lua
Jeder Mod braucht mindestens eine Datei:
init.lua.
Wenn diese Datei fehlt, ist der Mod für Luanti praktisch unsichtbar.
In init.lua steht der Lua-Code, der deinen Mod ausmacht:
Registrierung von Blöcken, Chatbefehlen, Items, Logik usw.
init.lua
Erstelle oder öffne die Datei init.lua im Mod-Ordner und schreibe
folgenden Test-Code hinein:
-- init.lua in school_platform
core.log("action", "[school_platform] Mod geladen!")
-- Hier kommen später deine eigenen Funktionen und Registrierungen hin.
Wenn du danach Luanti startest und eine Welt mit deinem Mod lädst,
sollte im Log (oder in debug.txt) eine Zeile mit
[school_platform] Mod geladen! auftauchen.
Das zeigt: Deine Mod-Struktur funktioniert.
mod.conf
Moderne Mods benutzen eine Datei namens mod.conf.
Sie beschreibt, wie der Mod heißt, und kann weitere Infos enthalten:
name – der technische Mod-Name (muss zum Ordnernamen passen)description – kurze Beschreibung (wird im Mods-Menü angezeigt)depends – andere Mods, die vorher geladen werden müssenoptional_depends – Mods, die unterstützt werden, aber nicht zwingend nötig sindmod.conf
Lege im Ordner school_platform eine Datei mod.conf an
und trage zum Beispiel Folgendes ein:
name = school_platform
description = Simple platform command for training coordinates
depends = default
Wichtig:
default (Standard-Blöcke, Spieler, etc.).
Bei jüngeren Schüler:innen reicht zunächst: „name muss wie der Ordner heißen.“
Später kann man depends als „Benötigt zuerst die Bausteine von …“ erklären.
textures, sounds & mehrEin Mod kann zusätzliche Dateien enthalten, die in Unterordnern liegen. Häufig verwendet man:
textures/ – Bilder für Blöcke, Items, HUD-Elemente usw.sounds/ – Soundeffekte (Schritte, Geräusche, usw.).locale/ – Übersetzungsdateien für verschiedene Sprachen.minetest/
└── mods/
└── school_platform/
├── init.lua
├── mod.conf
├── textures/
│ └── school_platform_block.png
└── sounds/
└── school_platform_ping.ogg
Die Dateinamen in textures/ folgen meist einem Schema, zum Beispiel
<modname>_<blockname>.png.
Wie genau die Texturen mit den Blöcken verbunden werden, siehst du später beim
Registrieren von Nodes.
Bearbeite diese Aufgaben, um sicherzugehen, dass deine Mod-Struktur korrekt ist:
school_platform eine Datei mod.conf an
und trage dort mindestens name und description ein.
init.lua um die Zeile mit core.log
(siehe oben) und starte Luanti neu.
debug.txt, ob die Meldung deines Mods erscheint.
textures und lege dort eine leere Datei
mit dem Namen school_platform_block.png an
(sie kann eine echte Grafik sein oder erstmal nur ein Platzhalter).
Lass die Schüler:innen Mod-Namen und Beschreibungen entwerfen, die zu ihrem Projekt passen
(z. B. math_lab, adventure_school usw.).
So verbinden sie Technik mit Kreativität.
Jetzt kennst du den Aufbau eines Mods und hast eine funktionierende
init.lua und mod.conf.
Im nächsten Schritt registrieren wir die ersten echten Spielelemente in deinem Mod.