🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
Diese Seite ist für folgende Version geschrieben:
1.21
Diese Seite ist für folgende Version geschrieben:
1.21
Auf dieser Seite wird die Struktur eines Fabric-Mod-Projekts und der Zweck der einzelnen Dateien und Ordner im Projekt erläutert.
fabric.mod.json
Die Datei fabric.mod.json
ist die Hauptdatei, die deinen Mod für den Fabric Loader beschreibt. Sie enthält Informationen wie die ID des Mods, die Version und die Abhängigkeiten.
Die wichtigsten Felder in der Datei fabric.mod.json
sind:
id
: Die Mod-ID, Welche einzigartig sein sollte.name
: Der Name des Mods.environment
: Die Umgebung in der dein Mod läuft, wie beispielsweise client
, server
, oder *
für beide.entrypoints
: Die Einstiegspunkte, die dein Mod bereitstellt, wie beispielsweise main
oder client
.depends
: Die Mods, von denen dein Mod abhängt.mixins
: Die Mixins, die dein Mod bereitstellt.Nachfolgend siehst du eine Beispieldatei fabric.mod.json
- dies ist die Datei fabric.mod.json
für das Referenzprojekt, das diese Dokumentationsseite betreibt.
fabric.mod.json
{
"schemaVersion": 1,
"id": "fabric-docs-reference",
"version": "1.0.0",
"name": "Fabric docs reference",
"icon": "assets/fabric-docs-reference/icon.png",
"environment": "*",
"entrypoints": {
"main": [
"com.example.docs.FabricDocsReference",
"com.example.docs.event.FabricDocsReferenceEvents",
"com.example.docs.command.FabricDocsReferenceCommands",
"com.example.docs.effect.FabricDocsReferenceEffects",
"com.example.docs.potion.FabricDocsReferencePotions",
"com.example.docs.sound.FabricDocsReferenceSounds",
"com.example.docs.damage.FabricDocsReferenceDamageTypes",
"com.example.docs.item.FabricDocsReferenceItems",
"com.example.docs.block.FabricDocsReferenceBlocks",
"com.example.docs.component.FabricDocsReferenceComponents"
],
"client": [
"com.example.docs.FabricDocsReferenceClient",
"com.example.docs.client.command.FabricDocsReferenceClientCommands"
],
"fabric-datagen": [
"com.example.docs.FabricDocsReferenceDataGenerator",
"com.example.docs.damage.FabricDocsReferenceDamageTypesDataGenerator"
]
},
"mixins": [
"fabric-docs-reference.mixins.json",
{
"config": "fabric-docs-reference.client.mixins.json",
"environment": "client"
}
],
"depends": {}
}
Wie bereits erwähnt, enthält die Datei fabric.mod.json
ein Feld namens entrypoints
- dieses Feld wird verwendet, um die Einstiegspunkte anzugeben, die dein Mod bereitstellt.
Der Template-Mod-Generator erstellt standardmäßig sowohl einen main
- als auch einen client
-Einstiegspunkt:
main
wird für allgemeinen Code verwendet und ist in einer Klasse enthalten, die ModInitializer
implementiertclient
Einstiegspunkt wird für clientspezifischen Code genutzt und seine Klasse implementiert ClientModInitializer
Diese Einstiegspunkte werden jeweils aufgerufen, wenn das Spiel beginnt.
Hier ist ein Beispiel für einen einfachen main
-Einstiegspunkt, der eine Nachricht an die Konsole ausgibt, wenn das Spiel startet:
public class FabricDocsReference implements ModInitializer {
// This logger is used to write text to the console and the log file.
// It is considered best practice to use your mod id as the logger's name.
// That way, it's clear which mod wrote info, warnings, and errors.
public static final String MOD_ID = "fabric-docs-reference";
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
@Override
public void onInitialize() {
// This code runs as soon as Minecraft is in a mod-load-ready state.
// However, some things (like resources) may still be uninitialized.
// Proceed with mild caution.
LOGGER.info("Hello Fabric world!");
}
}
src/main/resources
Der Ordner src/main/resources
wird verwendet, um die Ressourcen zu speichern, die dein Mod verwendet, wie Texturen, Modelle und Sounds.
Es ist auch der Ort, an dem sich die Datei fabric.mod.json
und alle Mixin-Konfigurationsdateien befinden, die dein Mod verwendet.
Assets werden in einer Struktur gespeichert, die die Struktur von Ressourcenpaketen widerspiegelt - eine Textur für einen Block würde zum Beispiel in assets/modid/textures/block/block.png
gespeichert werden.
src/client/resources
Der Ordner src/client/resources
wird verwendet, um Client-spezifische Ressourcen zu speichern, wie Texturen, Modelle und Sounds, die nur auf der Client-Seite verwendet werden.
src/main/java
Der Ordner src/main/java
wird verwendet, um den Java-Quellcode für deinen Mod zu speichern - er existiert sowohl auf der Client- als auch auf der Serverumgebung.
src/client/java
Der Ordner src/client/java
wird verwendet, um clientspezifischen Java-Quellcode zu speichern, wie zum Beispiel Rendering-Code oder clientseitige Logik - wie zum Beispiel Blockfarbenprovider.