minetest_modding_book/_de/basics/getting_started.md
debiankaios 76fc5e98b8 Reviewd and corrected basics/getting_started.md
Neu im Wörterbuch:
hard dependency = feste Abhängigkeit
optional dependency = Optionale Abhängigkeiten
2022-12-14 20:07:12 +01:00

149 lines
7.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Erste Schritte
layout: default
root: ../..
idx: 1.1
description: Lerne wie man einen Mod-Ordner mit init.lua, mod.conf und mehr anlegt.
redirect_from:
- /de/chapters/folders.html
- /de/basics/folders.html
---
## Einführung <!-- omit in toc -->
Es ist wesentlich, den Aufbau der grundlegenden Strukturen des Mod-Verzeichnisses zu verstehen, wenn man Mods erstellt.
- [Was sind Spiele und Mods?](#was-sind-spiele-und-mods)
- [Wo werden die Mods gespeichert?](#wo-werden-die-mods-gespeichert)
- [Ihren ersten Mod erstellen](#ihren-ersten-mod-erstellen)
- [Mod-Verzeichnis](#mod-verzeichnis)
- [mod.conf](#modconf)
- [init.lua](#initlua)
- [Zusammenfassung](#summary)
- [Abhängigkeiten](#abhängigkeiten)
- [Mod-Pakete](#mod-pakete-modpacks)
## Was sind Spiele und Mods?
Die Stärke von Minetest ist die Fähigkeit, Spiele zu erstellen, ohne eigene Voxel-Grafik, Voxel Algorithmen und raffinierten Netzwerk-Code erstellen zu müssen.
In Minetest ist ein Spiel eine Sammlung von Modulen, welche miteinander arbeiten, um den Inhalt und das Verhalten des Spiels zur Verfügung zu stellen.
Ein Modul, allgemein als Mod bezeichnet, ist eine Sammlung von Skripten und Ressourcen.
Es ist möglich, ein Spiel mit nur einem Mod zu erstellen, aber das wird nur selten gemacht, weil es sonst nicht mehr so einfach ist, Teile des Spieles unabhängig von den Anderen anzupassen oder zu ersetzen.
Ebenfalls ist es möglich, Mods außerhalb eines Spieles zu verbreiten. In diesem Fall sind sie ebenfalls *Mods*, aber in einem traditionellerem Sinn: *Modifikationen*. Diese Mods verändern oder erweitern die Eigenschaften eines Spiels.
Sowohl die Mods die im Spiel enthalten sind, als auch die Mods von Dritten nutzen die selbe API (Programmierschnittstelle).
## Wo werden die Mods gespeichert?
<a name="mod-locations"></a>
Jede Mod hat ihr eigenes Verzeichnis, wo sich ihre Lua-Quelltexte, Texturen, Modelle und Tondateien befinden. Minetest überprüft verschiedene Orte auf Mods. Diese Orte werden allgemein *Mod-Lade-Verzeichnisse* genannt.
Für eine bestimmte Welt/ein bestimmtes Spiel werden drei Mod-Speicherorte überprüft. Diese sind, in dieser Reihenfolge:
1. Spiel-Mods. Dies sind die Mods, die das Spiel (die Welt) bilden.
z.B.: `minetest/games/minetest_game/mods/`, `/usr/share/minetest/games/minetest/`
2. Globale Mods. Der Ort, an dem Mods fast immer installiert werden.
Im Zweifelsfall legen Sie Mods hier ab.
z.B.: `minetest/mods/`
3. Welt-Mods. Der Ort, an dem Mods gespeichert werden, die für eine bestimmte bestimmte Welt sind.
z.B.: `minetest/worlds/world/worldmods/`
`minetest` ist das Verzeichnis für die Benutzerdaten. Sie können den Ort des Benutzerdaten-Verzeichnis finden, indem Sie Minetest öffnen und auf "Benutzerdatenverzeichnis öffnen" in der Registerkarte "Über" klicken.
Falls Minetest mithilfe von Flathub installiert wurde, kann es sein, dass bei einem Klick nichts passiert. Normalerweise ist das `minetest`-Verzeichnis dann in `/home/USER/.var/app/net.minetest.Minetest/.minetest/`
Beim Laden von Mods prüft Minetest alle oben genannten Verzeichnisse der Reihe nach. Wenn es auf einen Mod stößt, der denselben Namen trägt wie ein zuvor gefundener, wird der spätere Mod anstelle des früheren Mods geladen. Das bedeutet, dass Sie die Spielmods überschreiben, indem Sie einen Mod mit demselben Namen in den globalen Mod-Speicherort einfügen.
## Ihren ersten Mod erstellen
### Mod-Verzeichnis
Gehen Sie in das globale Mods-Verzeichnis (Über > Benutzerdatenverzeichnis öffnen > mods) und
erstellen Sie einen neuen Ordner namens `mymod`. mymod ist der Name des Mods.
Jeder Mod sollte einen eindeutigen *Mod-Namen* haben, eine technische Kennung (id), die auf den Mod verweist. Mod-Namen können Buchstaben, Zahlen und Unterstriche enthalten. Ein guter Name sollte beschreiben, was die Mod tut. Das Verzeichnis, das die Komponenten einer Mod enthält, muss denselben Namen wie den Mod-Namen haben. Um herauszufinden, ob ein Mod-Name verfügbar ist, suchen Sie ihn auf
[content.minetest.net](https://content.minetest.net).
mymod
├── textures
│   └── mymod_node.png Dateien
├── init.lua
└── mod.conf
Mods benötigen nur eine init.lua-Datei. Es wird jedoch empfohlen, die Datei mod.conf zu verwenden und je nach Funktionsumfang können weitere Komponenten erforderlich sein, abhängig von der Funktionalität der Mod.
### mod.conf
Erstellen Sie eine `mod.conf`-Datei mit folgendem Inhalt:
```
name = mymod
description = Fügt foo, bar und bo hinzu.
depends = default
```
Diese Datei wird für Mod-Metadaten verwendet, darunter der Name der Mod, die Beschreibung und andere
Informationen.
### init.lua
Erstellen Sie eine `init.lua`-Datei mit folgendem Inhalt:
```lua
print("Diese Datei wird zum Zeitpunkt des Ladens ausgeführt!")
minetest.register_node("mymod:node", {
description = "Das ist ein Node",
tiles = {"mymod_node.png"},
groups = {cracky = 1}
})
minetest.register_craft({
type = "shapeless",
output = "mymod:node 3",
recipe = { "default:dirt", "default:stone" },
})
```
Die Datei init.lua ist der Einstiegspunkt für einen Mod und wird ausgeführt, wenn der Mod geladen wird.
### Zusammenfassung
Diese Mod hat den Namen "mymod". Er hat zwei Textdateien: init.lua und mod.conf. Das Skript gibt eine Nachricht aus und registriert dann einen Node und ein Handwerksrezept - diese
werden später erklärt. Es gibt eine einzige Abhängigkeit, die
[default mod](https://content.minetest.net/metapackages/default/), die
normalerweise im Minetest-Grundspiel (Minetest Game) zu finden ist. Außerdem gibt es eine Textur in textures/ für den Node.
## Abhängigkeiten
Eine Abhängigkeit entsteht, wenn eine Mod eine andere Mod benötigt, der vor ihr geladen werden muss. Ein Mod kann verlangen, dass der Code, die Gegenstände oder andere Ressourcen einer anderen Mod verfügbar sein müssen, damit sie verwendet werden können.
Es gibt zwei Arten von Abhängigkeiten: feste und optionale Abhängigkeiten. Beide erfordern, dass die Mod zuerst geladen wird. Wenn die Mod, von die die Abhängigkeit besteht, nicht verfügbar ist, führt eine feste Abhängigkeit dazu, dass die Mod nicht geladen wird, während eine optionale Abhängigkeit dazu führen kann, dass weniger Funktionen aktiviert werden.
Eine optionale Abhängigkeit ist nützlich, wenn Sie optional eine andere Mod unterstützen wollen; diese kann zusätzliche Inhalte aktivieren, wenn der Benutzer beide Mods gleichzeitig nutzen möchte.
Abhängigkeiten werden in einer kommagetrennten Liste in mod.conf angegeben.
depends = modeins, modzwei
optional_depends = moddrei
## Mod-Pakete (Modpacks)
Mods können in Mod-Pakete gruppiert werden, die es ermöglichen, mehrere Mods zu verpacken und zusammen zu verschieben. Sie sind nützlich, wenn Sie einem Spieler mehrere Mods zur Verfügung stellen wollen, aber nicht wollen, dass er sie einzeln herunterladen muss.
modpack1
├── modpack.conf (required) - signalisiert, dass es sich um ein Mod-Paket handelt
├── mod1
│   └── ... Mod-Dateien
└── mymod (optional)
   └── ... Mod-Dateien
Bitte beachten Sie, dass ein Modpack kein *Spiel* ist.
Spiele haben ihre eigene Organisationsstruktur, die im Kapitel “Spiele” erklärt wird.