Level 1 – Einstieg (Struktur)

Mod Folder Structure: Dateien und Aufbau

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.

1. Wiederholung: Wo liegt dein Mod?

Aus dem vorherigen Kapitel weißt du schon, wo dein Mod-Ordner liegt – zum Beispiel:

Beispiel: globaler Mod-Ordner
minetest/
└── mods/
    └── school_platform/

In diesem Ordner school_platform wohnen jetzt alle Dateien deines Mods. Die wichtigste davon ist init.lua.

Didaktik-Hinweis

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.

2. Die Pflichtdatei: 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.

2.1 Erste Test-Version von init.lua

Erstelle oder öffne die Datei init.lua im Mod-Ordner und schreibe folgenden Test-Code hinein:

Minimaler Test-Code in init.lua
-- 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.

3. Empfohlen: mod.conf

Moderne Mods benutzen eine Datei namens mod.conf. Sie beschreibt, wie der Mod heißt, und kann weitere Infos enthalten:

3.1 Beispiel für mod.conf

Lege im Ordner school_platform eine Datei mod.conf an und trage zum Beispiel Folgendes ein:

Einfaches mod.conf-Beispiel
name = school_platform
description = Simple platform command for training coordinates
depends = default

Wichtig:

Didaktik-Hinweis

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.

4. Typische Unterordner: textures, sounds & mehr

Ein Mod kann zusätzliche Dateien enthalten, die in Unterordnern liegen. Häufig verwendet man:

4.1 Beispiel für eine erweiterte Mod-Struktur

Struktur mit Texturen-Ordner
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.

Kurzregeln fuer Texturen

5. Mini-Auftrag für Schüler:innen

Bearbeite diese Aufgaben, um sicherzugehen, dass deine Mod-Struktur korrekt ist:

  1. Lege im Ordner school_platform eine Datei mod.conf an und trage dort mindestens name und description ein.
  2. Ergänze deine init.lua um die Zeile mit core.log (siehe oben) und starte Luanti neu.
  3. Aktiviere deinen Mod im Mods-Menü und lade eine Welt. Prüfe im Log / in debug.txt, ob die Meldung deines Mods erscheint.
  4. Erstelle einen Unterordner 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).
Erweiterungsidee

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.

6. Wie geht es weiter?

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.