Skip to content

Commit 432a232

Browse files
l10n: 26w07c (FabricMC#496)
Co-authored-by: Fabric Bot <159731069+FabricMCBot@users.noreply.github.com>
1 parent 0cf578d commit 432a232

File tree

72 files changed

+5026
-156
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+5026
-156
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Generierung von Verzauberungen
3+
description: Ein Leitfaden zur Generierung von Verzauberungen mit dem Datengenerator.
4+
authors:
5+
- CelDaemon
6+
---
7+
8+
<!---->
9+
10+
:::info VORAUSSETZUNGEN
11+
12+
Stelle sicher, dass du den Prozess der [Einrichtung des Datengenerators](./setup) zuerst abgeschlossen hast.
13+
14+
:::
15+
16+
## Einrichtung {#setup}
17+
18+
Bevor du den Generator implementierst, erstelle das Paket `enchantment` im Hauptquellensatz und füge die Klasse `ModEnchantments` zu diesem hinzu. Dann füge die Methode `key` zu dieser neuen Klasse hinzu.
19+
20+
@[code transcludeWith=:::key-helper](@/reference/latest/src/main/java/com/example/docs/enchantment/ModEnchantments.java)
21+
22+
Nutze diese Methode, um einen `ResourceKey` für deine Verzauberung zu erstellen.
23+
24+
@[code transcludeWith=:::register-enchantment](@/reference/latest/src/main/java/com/example/docs/enchantment/ModEnchantments.java)
25+
26+
Jetzt sind wir bereit, den Generator hinzuzufügen. Erstelle im Paket datagen eine Klasse, die von `FabricDynamicRegistryProvider` erbt. Füge in diese neu erstellte Klasse einen Konstruktor hinzu, der mit `super` übereinstimmt, und implementiere die Methoden `configure` und `getName`.
27+
28+
@[code transcludeWith=:::provider](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
29+
30+
Füge dann eine Hilfsmethode `register` zu der neu erstellen Klasse hinzu.
31+
32+
@[code transcludeWith=:::register-helper](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
33+
34+
Füge jetzt die Methode `bootstrap` hinzu. Hier werden wir die Verzauberungen registrieren, die wir zum Spiel hinzufügen wollen.
35+
36+
@[code transcludeWith=:::bootstrap](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
37+
38+
Überschreibe in deinem `DataGeneratorEntrypoint` die Methode `buildRegistry` und registriere unsere Methode bootstrap.
39+
40+
@[code transcludeWith=:::datagen-enchantments:bootstrap](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModDataGenerator.java)
41+
42+
Stelle schließlich sicher, dass dein neuer Generator innerhalb der Methode `onInitializeDataGenerator` registriert ist.
43+
44+
@[code transcludeWith=:::datagen-enchantments:register](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModDataGenerator.java)
45+
46+
## Die Verzauberung erstellen {#creating-the-enchantment}
47+
48+
Um die Definition für unsere benutzerdefinierte Verzauberung zu erstellen, verwenden wir die Methode `register` in unserer Generator-Klasse.
49+
50+
Registriere deine Verzauberung in der Methode `bootstrap` des Generators unter Verwendung der in `ModEnchantments` registrierten Verzauberung.
51+
52+
In diesem Beispiel verwenden wir den in [Benutzerdefinierte Verzauberungseffekte](../items/custom-enchantment-effects) erstellten Verzauberungseffekt, aber du kannst auch die [Vanilla Verzauberungseffekte](https://minecraft.wiki/w/Enchantment_definition#Effect_components) verwenden.
53+
54+
@[code transcludeWith=:::register-enchantment](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
55+
56+
Führen nun einfach die Datengenerierung aus, und deine neue Verzauberung wird im Spiel verfügbar sein!
57+
58+
## Effektbedingungen {#effect-conditions}
59+
60+
Die meisten Verzauberungseffekte sind bedingte Effekte. Beim Hinzufügen dieser Effekte ist es möglich, Bedingungen an den Aufruf von `withEffect` zu übergeben.
61+
62+
::: info
63+
64+
Eine Übersicht über die verfügbaren Zustandstypen und deren Verwendung findest du in der Klasse `Enchantments` (https://mcsrc.dev/#1/1.21.11_unobfuscated/net/minecraft/world/item/enchantment/Enchantments#L126).
65+
66+
:::
67+
68+
@[code transcludeWith=:::effect-conditions](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
69+
70+
## Mehrere Effekte {#multiple-effects}
71+
72+
`withEffect` kann verkettet werden, um einer einzelnen Verzauberung mehrere Verzauberungseffekte hinzuzufügen. Bei dieser Methode musst du jedoch die Effektbedingungen für jeden Effekt angeben.
73+
74+
Um stattdessen die definierten Bedingungen und Ziele über mehrere Effekte hinweg zu teilen, kann `AllOf` verwendet werden, um sie zu einem einzigen Effekt zusammenzufassen.
75+
76+
@[code transcludeWith=:::multiple-effects](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
77+
78+
Beachte, dass die zu verwendende Methode vom Typ des hinzugefügten Effekts abhängt. Zum Beispiel benötigt `EnchantmentValueEffect` stattdessen `AnyOf.valueEffects`. Unterschiedliche Effekt-Typen erfordern weiterhin zusätzliche Aufrufe von `withEffect`.
79+
80+
## Verzauberungstisch {#enchanting-table}
81+
82+
Obwohl wir das Gewicht der Verzauberung (oder die Wahrscheinlichkeit) in unserer Verzauberungsdefinition angegeben haben, wird es standardmäßig nicht im Zaubertisch angezeigt. Damit unsere Verzauberung von Dorfbewohnern gehandelt werden kann und im Zaubertisch erscheint, müssen wir sie zum Tag `non_treasure` hinzufügen.
83+
84+
Dazu können wir einen Tag Provider erstellen. Erstelle in dem Paket `datagen` eine Klasse, die von `FabricTagProvider<Enchantment>` erbt. Implementiere dann den Konstruktor mit `Registries.ENCHANTMENT` als Parameter `registryKey` für `super` und erstelle die Methode `addTags`.
85+
86+
@[code transcludeWith=:::provider](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentTagProvider.java)
87+
88+
Wir können jetzt unsere Verzauberung zu `EnchantmentTags.NON_TREASURE` hinzufügen, indem wir den Builder aus der Methode `addTags` heraus aufrufen.
89+
90+
@[code transcludeWith=:::non-treasure-tag](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentTagProvider.java)
91+
92+
## Flüche {#curses}
93+
94+
Flüche werden auch mit Tags implementiert. Wir können den Tag Provider aus dem [Abschnitt der Zaubertisch](#enchanting-table) verwenden.
95+
96+
Füge in der Methode `addTags` einfach deine Verzauberung zum Tag `CURSE` hinzu, um sie als Fluch zu kennzeichnen.
97+
98+
@[code transcludeWith=:::curse-tag](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentTagProvider.java)

translated/de_de/develop/items/custom-data-components.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Benutzerdefinierte Datenkomponenten
33
description: Lerne, wie du benutzerdefinierte Datenkomponenten zu deinen Items mit Hilfe des neuen 1.20.5 Komponenten-System hinzufügst.
44
authors:
55
- Romejanic
6+
- ekulxam
67
---
78

89
Je komplexer deine Items werden, desto mehr benutzerdefinierte Daten musst du vielleicht für jedes Item speichern. Das Spiel erlaubt es, persistente Daten in einem `ItemStack` zu speichern, und seit der Version 1.20.5 tun wir das mit Hilfe von **Datenkomponenten**.
@@ -78,6 +79,22 @@ public void appendHoverText(ItemStack stack, TooltipContext context, TooltipDisp
7879
}
7980
```
8081

82+
::: warning
83+
84+
Ab Version 1.21.5 ist `appendHoverText` veraltet. Es wird nun empfohlen, `TooltipProvider` wie folgt zu implementieren. Dies erfordert die [Erstellung einer benutzerdefinierten Komponentenklasse](#advanced-data-components).
85+
86+
@[code transcludeWith=::1](@/reference/latest/src/main/java/com/example/docs/component/ComponentWithTooltip.java)
87+
88+
Dann kannst du den `TooltipProvider` über `ComponentTooltipAppenderRegistry` registrieren. Dies wird in `onInitialize` im `ModInitializer` aufgerufen.
89+
90+
@[code lang=java transcludeWith=#tooltip_provider](@/reference/latest/src/main/java/com/example/docs/ExampleMod.java)
91+
92+
Alternativ kannst du `ItemTooltipCallback` verwenden, um `appendHoverText` zu ersetzen. Dies wird in `onInitializeClient` im `ClientModInitializer` aufgerufen.
93+
94+
@[code lang=java transcludeWith=#tooltip_provider_client](@/reference/latest/src/client/java/com/example/docs/ExampleModClient.java)
95+
96+
:::
97+
8198
Vergiss nicht, deine Sprachdatei (`/assets/xample-mod/lang/en_us.json`) zu aktualisieren und diese zwei Zeilen hinzuzufügen:
8299

83100
```json

translated/de_de/develop/items/custom-enchantment-effects.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,19 @@ Wie jede andere Komponente deines Mods müssen wir auch diesen `EnchantmentEffec
3636

3737
## Die Verzauberung erstellen {#creating-the-enchantment}
3838

39-
Jetzt haben wir einen Verzauberungseffekt! Der letzte Schritt besteht darin, eine Verzauberung zu erstellen, die unseren benutzerdefinierten Effekt anwendet. Dies kann zwar durch die Erstellung einer JSON-Datei ähnlich der in Datenpaketen erfolgen, aber diese Anleitung zeigt dir, wie du das JSON dynamisch mit den Datengenerierungswerkzeugen von Fabric erzeugen kannst. Um zu beginnen, erstelle eine Klasse `ExampleModEnchantmentGenerator`.
39+
Jetzt haben wir einen Verzauberungseffekt! Der letzte Schritt besteht darin, eine Verzauberung zu erstellen, die unseren benutzerdefinierten Effekt anwendet. Dies können wir mit dem datengetriebenen Verzauberungssystem erreichen, indem wir einfach eine JSON-Datei zu den Ressourcen unseres Mods hinzufügen.
4040

41-
In dieser Klasse werden wir zunächst eine neue Verzauberung registrieren und dann die Methode `configure()` verwenden, um unser JSON programmatisch zu erstellen.
41+
Erstelle die JSON-Datei in dem Ordner `data/example-mod/enchantments`. Der Name dieser Datei entspricht der ID der Verzauberung: `thundering.json` wird zu `example-mod:thundering`.
4242

43-
@[code transcludeWith=#entrypoint](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModEnchantmentGenerator.java)
43+
::: info
4444

45-
Bevor du fortfährst, solltest du sicherstellen, dass dein Projekt für die Datengenerierung konfiguriert ist; wenn du dir unsicher bist, [sieh dir die entsprechende Dokumentations-Seite an](../data-generation/setup).
45+
Weitere Informationen zum Dateiformat findest du unter [Minecraft Wiki - Enchantment definition](https://minecraft.wiki/w/Enchantment_definition).
4646

47-
Zum Schluss müssen wir unserem Mod sagen, dass er unseren `EnchantmentGenerator` zur Liste der Datenerzeugungsaufgaben hinzufügen soll. Um dies zu tun, füge einfach den `EnchantmentGenerator` innerhalb der Methode `onInitializeDataGenerator` zu dieser hinzu.
47+
Um schnell benutzerdefinierte Verzauberungen zu generieren, kannst du den [Misode Generator](https://misode.github.io/enchantment/) verwenden.
4848

49-
@[code transcludeWith=:::custom-enchantments:register-generator](@/reference/latest/src/client/java/com/example/docs/datagen/ExampleModDataGenerator.java)
49+
:::
5050

51-
Wenn du nun die Datengenerierungsaufgabe deines Mods ausführst, werden die Verzauberungs-JSONs im Ordner `generated` generiert. Ein Beispiel ist unten zu sehen:
51+
In diesem Beispiel verwenden wir die folgende Verzauberungsdefinition, um die Verzauberung `thundering` mit unserem benutzerdefinierten `lightning_effect` hinzuzufügen:
5252

5353
@[code](@/reference/latest/src/main/generated/data/example-mod/enchantment/thundering.json)
5454

translated/de_de/sidebar_translations.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"develop.data_generation.loot_tables": "Generierung von Beutetabellen",
4747
"develop.data_generation.block_models": "Generation von Blockmodellen",
4848
"develop.data_generation.item_models": "Generierung von Item Modellen",
49+
"develop.data_generation.enchantments": "Generierung von Verzauberungen",
4950
"develop.rendering": "Rendering",
5051
"develop.rendering.basic_concepts": "Grundlegende Rendering-Konzepte",
5152
"develop.rendering.gui_graphics": "Zeichnen im GUI",

translated/it_it/develop/data-generation/block-models.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Questo metodo genererà modelli per un cubo normale, che usa il file di texture
6565

6666
::: tip
6767

68-
Se non sai quale `TextureModel` dovresti scegliere, apri la classe `TexturedModel` e dai un'occhiata alle [`TextureMaps`](#using-texture-map)!
68+
Se non sai quale `TextureModel` dovresti scegliere, apri la classe `TexturedModel` e dai un'occhiata ai [`TextureMappings`](#using-texture-map)!
6969

7070
:::
7171

translated/it_it/develop/getting-started/intellij-idea/generating-sources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ next:
1313

1414
La toolchain Fabric ti permette di accedere al codice sorgente di Minecraft generandolo localmente, e puoi usare IntelliJ IDEA per navigarci comodamente. Per generare le sorgenti, bisogna eseguire l'attività Gradle `genSources`.
1515

16-
Questo si può fare dal pannello Gradle come sopra, eseguendo l'attività `genSources` in **Tasks** > **`fabric`**:
16+
Questo si può fare dal pannello Gradle, eseguendo l'attività `genSources` in **Tasks** > **`fabric`**:
1717
![Attività genSources nel pannello Gradle](/assets/develop/getting-started/intellij/gradle-gensources.png)
1818

1919
Oppure puoi eseguire il comando dal terminale:

translated/it_it/develop/getting-started/vscode/generating-sources.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ next:
1313

1414
La toolchain Fabric ti permette di accedere al codice sorgente di Minecraft generandolo localmente, e puoi usare Visual Studio Code per navigarci comodamente. Per generare le sorgenti, bisogna eseguire l'attività Gradle `genSources`.
1515

16-
Questo si può fare dalla vista Gradle come sopra, eseguendo l'attività `genSources` in **Tasks** > **`fabric`**:
16+
Questo si può fare dalla vista Gradle, eseguendo l'attività `genSources` in **Tasks** > **`fabric`**:
1717
![Attività genSources nella vista Gradle](/assets/develop/getting-started/vscode/gradle-gensources.png)
1818

1919
Oppure puoi eseguire il comando dal terminale:

translated/it_it/develop/getting-started/vscode/tips-and-tricks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ next: false
1313

1414
## Cercare una classe di Minecraft {#searching-for-a-minecraft-class}
1515

16-
Quando avrai generato le sorgenti, dovresti poter cercare e visualizzare le classi di Minecraft.
16+
Appena le sorgenti saranno state generate, dovresti poter cercare e visualizzare le classi di Minecraft.
1717

1818
### Visualizzare le definizioni delle classi {#viewing-class-definitions}
1919

translated/it_it/develop/rendering/hud.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,4 @@ In questo esempio, useremo `Util.getMillis()` per interpolare linearmente il col
5454

5555
![Interpolare un colore nel tempo](/assets/develop/rendering/hud-rendering-deltatick.webp)
5656

57-
Perché non provi a usare `gameTimeDeltaPartialTick` e a vedere cosa succede all'animazione quando esegui il comando `/tick freeze`? Dovresti vedere che l'animazione si congela appena `gameTimeDeltaPartialTick` diventa una costante (supponendo di aver passato `false` come parametro di `DeltaTracker#getGameTimeDeltaPartialTick`)
57+
Perché non provi a usare `gameTimeDeltaPartialTick` e a vedere cosa succede all'animazione quando esegui il comando `/tick freeze`? Dovresti vedere che l'animazione si congela appena `gameTimeDeltaPartialTick` diventa una costante, supponendo di aver passato `false` come parametro di `DeltaTracker#getGameTimeDeltaPartialTick`.

translated/it_it/sidebar_translations.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"develop.data_generation.loot_tables": "Generazione di Loot Table",
4747
"develop.data_generation.block_models": "Generazione di Modelli di Blocchi",
4848
"develop.data_generation.item_models": "Generazione di Modelli di Oggetti",
49+
"develop.data_generation.enchantments": "Generazione d'incantesimi",
4950
"develop.rendering": "Rendering",
5051
"develop.rendering.basic_concepts": "Concetti Base del Rendering",
5152
"develop.rendering.gui_graphics": "Disegnare sulla GUI",

0 commit comments

Comments
 (0)