Skip to content

Commit

Permalink
New Crowdin updates (#262)
Browse files Browse the repository at this point in the history
* New translations basics.md (Ukrainian)

* New translations setup.md (Italian)

* New translations recipes.md (Ukrainian)

* New translations setup.md (German)

* New translations index.md (French)

* New translations faq.md (Ukrainian)

* New translations crash-reports.md (Ukrainian)

* New translations damage-types.md (Ukrainian)

* New translations text-and-translations.md (Ukrainian)

* New translations contributing.md (Ukrainian)

* New translations first-block.md (Russian)

* New translations blockstates.md (Ukrainian)

* New translations first-block.md (Ukrainian)

* New translations arguments.md (Russian)

* New translations events.md (Russian)

* New translations text-and-translations.md (Italian)

* New translations custom-enchantment-effects.md (Italian)

* New translations creating-particles.md (Russian)

* New translations installing-fabric.md (Russian)

* New translations linux.md (Russian)

* New translations updating-fabric.md (Russian)

* New translations custom.md (Russian)

* New translations project-structure.md (Russian)

* New translations text-and-translations.md (Russian)

* New translations contributing.md (Russian)

* New translations blockstates.md (Russian)

* New translations automatic-testing.md (Russian)

* New translations sidebar_translations.json (Russian)

* New translations dynamic-sounds.md (Italian)

* New translations advancements.md (German)

* New translations advancements.md (Italian)

* New translations loot-tables.md (Italian)

* New translations tags.md (Italian)

* New translations translations.md (Italian)

* New translations block-entity-renderer.md (Italian)

* New translations advancements.md (Ukrainian)

* New translations loot-tables.md (Ukrainian)

* New translations setup.md (Ukrainian)

* New translations tags.md (Ukrainian)

* New translations translations.md (Ukrainian)

* New translations block-entity-renderer.md (Ukrainian)

* New translations index.md (French)

* New translations blockstates.md (Italian)

* New translations events.md (Italian)

* New translations potions.md (German)

* New translations potions.md (Italian)

* New translations basic-concepts.md (German)

* New translations basic-concepts.md (Italian)

* New translations draw-context.md (German)

* New translations draw-context.md (Italian)

* New translations hud.md (German)

* New translations hud.md (Italian)

* New translations creating-particles.md (German)

* New translations creating-particles.md (Italian)

* New translations faq.md (German)

* New translations faq.md (Italian)

* New translations crash-reports.md (German)

* New translations crash-reports.md (Italian)

* New translations damage-types.md (German)

* New translations damage-types.md (Italian)

* New translations creating-a-project.md (German)

* New translations basic-concepts.md (Russian)

* New translations draw-context.md (Russian)

* New translations faq.md (Russian)

* New translations crash-reports.md (Russian)

* New translations damage-types.md (Russian)

* New translations creating-a-project.md (Italian)

* New translations project-structure.md (German)

* New translations project-structure.md (Italian)

* New translations setting-up-a-development-environment.md (German)

* New translations setting-up-a-development-environment.md (Italian)

* New translations custom-armor.md (German)

* New translations custom-armor.md (Italian)

* New translations custom-tools.md (German)

* New translations custom-tools.md (Italian)

* New translations first-item.md (German)

* New translations first-item.md (Italian)

* New translations food.md (German)

* New translations food.md (Italian)

* New translations blockstates.md (German)

* New translations first-block.md (German)

* New translations first-block.md (Italian)

* New translations custom-enchantment-effects.md (German)

* New translations dynamic-sounds.md (German)

* New translations tags.md (German)

* New translations translations.md (German)

* New translations block-entity-renderer.md (German)

* New translations creating-a-project.md (Russian)

* New translations setting-up-a-development-environment.md (Russian)

* New translations food.md (Russian)

* New translations effects.md (Ukrainian)

* New translations basic-concepts.md (Ukrainian)

* New translations draw-context.md (Ukrainian)

* New translations custom-screens.md (Ukrainian)

* New translations custom-widgets.md (Ukrainian)

* New translations hud.md (Ukrainian)

* New translations creating-particles.md (Ukrainian)

* New translations sidebar_translations.json (Vietnamese)

* New translations potions.md (Russian)

* New translations custom-tools.md (Russian)

* New translations first-item.md (Russian)

* New translations sidebar_translations.json (Chinese Simplified)

* New translations effects.md (Russian)

* New translations custom-item-interactions.md (Russian)

* New translations suggestions.md (Chinese Simplified)

* New translations effects.md (Chinese Simplified)

* New translations potions.md (Chinese Simplified)

* New translations draw-context.md (Chinese Simplified)

* New translations creating-particles.md (Chinese Simplified)

* New translations faq.md (Chinese Simplified)

* New translations crash-reports.md (Chinese Simplified)

* New translations damage-types.md (Chinese Simplified)

* New translations creating-a-project.md (Chinese Simplified)

* New translations project-structure.md (Chinese Simplified)

* New translations setting-up-a-development-environment.md (Chinese Simplified)

* New translations custom-item-interactions.md (Chinese Simplified)

* New translations food.md (Chinese Simplified)

* New translations text-and-translations.md (Chinese Simplified)

* New translations blockstates.md (Chinese Simplified)

* New translations website_translations.json (Polish)

* New translations custom-armor.md (Russian)

* New translations custom-enchantment-effects.md (Russian)

* New translations index.md (Japanese)

* New translations website_translations.json (Chinese Traditional)

* New translations events.md (Ukrainian)

* New translations custom.md (Ukrainian)

* New translations using-sounds.md (Ukrainian)

* New translations ide-tips-and-tricks.md (Ukrainian)

* New translations codecs.md (Ukrainian)

* New translations automatic-testing.md (Ukrainian)

* New translations dynamic-sounds.md (Ukrainian)

* New translations codecs.md (Ukrainian)

* New translations effects.md (Ukrainian)

* New translations potions.md (Ukrainian)

* New translations creating-particles.md (Ukrainian)

* New translations damage-types.md (Ukrainian)

* New translations custom.md (Ukrainian)

* New translations creating-a-project.md (Ukrainian)

* New translations introduction-to-fabric-and-modding.md (Ukrainian)

* New translations launching-the-game.md (Ukrainian)

* New translations project-structure.md (Ukrainian)

* New translations setting-up-a-development-environment.md (Ukrainian)

* New translations custom-armor.md (Ukrainian)

* New translations custom-item-groups.md (Ukrainian)

* New translations custom-item-interactions.md (Ukrainian)

* New translations custom-tools.md (Ukrainian)

* New translations first-item.md (Ukrainian)

* New translations food.md (Ukrainian)

* New translations first-block.md (Russian)

* New translations blockstates.md (Ukrainian)

* New translations first-block.md (Ukrainian)

* New translations ide-tips-and-tricks.md (Ukrainian)

* New translations custom-data-components.md (Ukrainian)

* New translations creating-particles.md (Russian)

* New translations custom.md (Russian)

* New translations ide-tips-and-tricks.md (Italian)

* New translations custom-enchantment-effects.md (Italian)

* New translations effects.md (Italian)

* New translations dynamic-sounds.md (Italian)

* New translations custom-enchantment-effects.md (Ukrainian)

* New translations effects.md (Russian)

* New translations dynamic-sounds.md (Ukrainian)

* New translations recipes.md (Italian)

* New translations recipes.md (Ukrainian)

* New translations blockstates.md (Italian)

* New translations custom.md (Italian)

* New translations effects.md (German)

* New translations creating-particles.md (German)

* New translations creating-particles.md (Italian)

* New translations damage-types.md (German)

* New translations damage-types.md (Italian)

* New translations custom.md (German)

* New translations effects.md (Chinese Simplified)

* New translations creating-particles.md (Chinese Simplified)

* New translations damage-types.md (Russian)

* New translations damage-types.md (Chinese Simplified)

* New translations custom.md (Chinese Simplified)

* New translations custom-armor.md (Italian)

* New translations custom-item-interactions.md (Italian)

* New translations first-item.md (Italian)

* New translations food.md (Italian)

* New translations first-block.md (German)

* New translations first-block.md (Italian)

* New translations custom-data-components.md (Italian)

* New translations recipes.md (German)

* New translations codecs.md (Ukrainian)

* New translations custom-armor.md (German)

* New translations custom-item-interactions.md (German)

* New translations first-item.md (German)

* New translations food.md (German)

* New translations blockstates.md (German)

* New translations ide-tips-and-tricks.md (German)

* New translations custom-data-components.md (German)

* New translations custom-enchantment-effects.md (German)

* New translations dynamic-sounds.md (German)

* New translations codecs.md (Ukrainian)

* New translations arguments.md (Ukrainian)

* New translations basics.md (Ukrainian)

* New translations effects.md (Ukrainian)

* New translations events.md (Ukrainian)

* New translations potions.md (Ukrainian)

* New translations creating-particles.md (Ukrainian)

* New translations finding-mods.md (Ukrainian)

* New translations linux.md (Ukrainian)

* New translations windows.md (Ukrainian)

* New translations damage-types.md (Ukrainian)

* New translations custom-armor.md (Ukrainian)

* New translations custom-item-groups.md (Ukrainian)

* New translations custom-item-interactions.md (Ukrainian)

* New translations custom-tools.md (Ukrainian)

* New translations first-item.md (Ukrainian)

* New translations text-and-translations.md (Ukrainian)

* New translations contributing.md (Ukrainian)

* New translations blockstates.md (Ukrainian)

* New translations first-block.md (Ukrainian)

* New translations ide-tips-and-tricks.md (Ukrainian)

* New translations automatic-testing.md (Ukrainian)

* New translations custom-enchantment-effects.md (Ukrainian)

* New translations dynamic-sounds.md (Ukrainian)

* New translations block-entities.md (Ukrainian)

* New translations tags.md (Ukrainian)

* New translations translations.md (Ukrainian)

* New translations block-entity-renderer.md (Ukrainian)

---------

Co-authored-by: Miroma <136986257+its-miroma@users.noreply.github.com>
  • Loading branch information
FabricMCBot and its-miroma authored Jan 24, 2025
1 parent 8fe84cf commit 4a230a0
Show file tree
Hide file tree
Showing 163 changed files with 4,912 additions and 923 deletions.
4 changes: 2 additions & 2 deletions translated/de_de/develop/blocks/block-entity-renderer.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ authors:

# Block Entität Renderer {#block-entity-renderers}

Manchmal reicht das Nutzen von Minecraft's Modellformat nicht aus. Wenn du dynamisches Rendering zu diesen hinzufügen willst, wirst du einen `BlockEntityRenderer` nutzen müssen.
Manchmal reicht das Nutzen von Minecraft's Modellformat nicht aus. Wenn du dynamisches Rendering zu dessen visuellen Elemten hinzufügen willst, wirst du einen `BlockEntityRenderer` nutzen müssen.

Lasst uns als Beispiel den Zählerblock aus dem [Artikel zu Block Entitäten](../blocks/block-entities) die Zahl an Klicks auf der Oberseite anzeigen lassen.

Expand All @@ -24,7 +24,7 @@ Durch die Aufnahme eines derartigen Konstruktors, wird es außerdem möglich den

@[code transcludeWith=:::1](@/reference/latest/src/client/java/com/example/docs/FabricDocsBlockEntityRenderer.java)

Füge den Einstiegspunkt zu der Datei `fabric.mod.json` hinzu, damit der Renderer registriert ist.
Du solltest Renderer für Blockentitäten in deiner Klasse `ClientModInitializer` registrieren.

`BlockEntityRendererFactories` ist eine Registrierung, die jeden `BlockEntityType` mit benutzerdefinierten Rendering-Code dem entsprechenden `BlockEntityRenderer` zuordnet.

Expand Down
20 changes: 10 additions & 10 deletions translated/de_de/develop/blocks/blockstates.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Ein Blockzustand entspricht ein wenig Daten, die einem einzelnen Block in der Mi

Du kannst wahrscheinlich sehen, warum sie nützlich sind - sie vermeiden die Notwendigkeit, NBT-Daten in einer Blockentität zu speichern - was die Weltgröße reduziert und TPS-Probleme verhindert!

Blockzustand-Definitionen finden sich im Ordner `assets/<mod id here>/blockstates`.
Blockzustand-Definitionen finden sich im Ordner `assets/mod-id/blockstates`.

## Beispiel: Säulenblock {#pillar-block}

Expand All @@ -29,7 +29,7 @@ Die Vanilla `PillarBlock` Klasse erlaubt, dass der Block in der X, Y oder Z Axe

Säulenblöcke haben zwei Texturen, oben und an der Seite - sie verwenden das Modell `block/cube_column`.

Wie immer bei allen Blocktexturen befinden sich die Texturdateien in `assets/<mod id here>/textures/block`.
Wie immer bei allen Blocktexturen befinden sich die Texturdateien in `assets/mod-id/textures/block`

<DownloadEntry visualURL="/assets/develop/blocks/blockstates_0_large.png" downloadURL="/assets/develop/blocks/condensed_oak_log_textures.zip">Texturen</DownloadEntry>

Expand All @@ -40,12 +40,12 @@ Da der Säulenblock zwei Positionen hat, eine horizontale und eine vertikale, m

Ein Beispiel der Datei `condensed_oak_log_horizontal.json`:

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/models/block/condensed_oak_log_horizontal.json)
@[code](@/reference/latest/src/main/generated/assets/fabric-docs-reference/models/block/condensed_oak_log_horizontal.json)

---

::: info
Remember, blockstate files can be found in the `assets/<mod id here>/blockstates` folder, the name of the blockstate file should match the block ID used when registering your block in the `ModBlocks` class. For instance, if the block ID is `condensed_oak_log`, the file should be named `condensed_oak_log.json`.
Remember, blockstate files can be found in the `assets/mod-id/blockstates` folder, the name of the blockstate file should match the block ID used when registering your block in the `ModBlocks` class. For instance, if the block ID is `condensed_oak_log`, the file should be named `condensed_oak_log.json`.

Einen tieferen Einblick in alle Modifikatoren, die in den Blockzustand-Dateien verfügbar sind, findest du auf der Seite [Minecraft Wiki - Models (Block States)](https://minecraft.wiki/w/Tutorials/Models#Block_states).
:::
Expand All @@ -56,7 +56,7 @@ Als nächstes müssen wir eine Blockzustand-Datei erstellen. Die Blockzustand-Da
- `axis=y` - Wenn der Block entlang der Y-Achse platziert wird, verwenden wir das normale vertikale Modell.
- `axis=z` - Wenn der Block entlang der Z-Achse platziert wird, drehen wir das Modell so, dass es in die positive X-Richtung zeigt.

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/blockstates/condensed_oak_log.json)
@[code](@/reference/latest/src/main/generated/assets/fabric-docs-reference/blockstates/condensed_oak_log.json)

Wie immer musst du eine Übersetzung für deinen Block und ein Objektmodell erstellen, das einem der beiden Modelle übergeordnet ist.

Expand All @@ -82,10 +82,6 @@ Außerdem musst du im Konstruktor deines benutzerdefinierten Blocks einen Standa

@[code transcludeWith=:::3](@/reference/latest/src/main/java/com/example/docs/block/custom/PrismarineLampBlock.java)

:::warning
Vergiss nicht, deinen Block mit der benutzerdefinierten Klasse anstelle von `Block` zu registrieren!
:::

### Die Eigenschaft nutzen {#using-the-property}

In diesem Beispiel wird die boolesche Eigenschaft `activated` umgeschaltet, wenn der Spieler mit dem Block interagiert. Hierfür können wir die Methode `onUse` überschreiben:
Expand All @@ -108,6 +104,10 @@ Da es für diesen Block nur zwei mögliche Varianten gibt, da er nur eine Eigens

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/blockstates/prismarine_lamp.json)

:::tip
Vergiss nicht eine [Item-Model Beschreibung](../items/first-item#creating-the-item-model-description) für den Block zu erstellen, damit er im Inventar angezeigt wird!
:::

---

Da es sich bei dem Beispielblock um eine Lampe handelt, müssen wir auch dafür sorgen, dass sie Licht ausstrahlt, wenn die Eigenschaft `activated` true ist. Dies kann über die Blockeinstellungen erfolgen, die bei der Registrierung des Blocks an den Konstruktor übergeben werden.
Expand All @@ -124,4 +124,4 @@ Du kannst die `luminance`-Methode verwenden, um die vom Block ausgestrahlte Lich

Wenn du alles vervollständigt hast, sollte das Endergebnis etwa so aussehen wie das folgende:

<VideoPlayer src="/assets/develop/blocks/blockstates_3.webm" title="Prismarine Lamp Block in-game" />
<VideoPlayer src="/assets/develop/blocks/blockstates_3.webm">Prismarin Lampe im Spiel</VideoPlayer>
40 changes: 23 additions & 17 deletions translated/de_de/develop/blocks/first-block.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ Wir werden hier nicht alle Optionen behandeln - Du kannst die Klasse selbst anse

Als Beispiel werden wir einen einfachen Block erstellen, der die Eigenschaften von Erde hat, aber ein anderes Material ist.

- Wir benötigen einen `RegistryKey<Block>`, der als eindeutiger Bezeichner für unseren Block verwendet wird. Dieser wird in der vorherigen Hilfsmethode an `Registry.register` übergeben.
- Weiterhin wird der `RegistryKey<Block>` auch vom `AbstractBlock.Settings`-Builder benötigt.

:::tip
Du kannst auch `AbstractBlock.Settings.copy(AbstractBlock block)` verwenden, um die Einstellungen eines bestehenden Blocks zu kopieren. In diesem Fall hätten wir auch `Blocks.DIRT` verwenden können, um die Einstellungen von Erde zu kopieren, aber für das Beispiel verwenden wir den Builder.
:::
Expand All @@ -57,13 +60,15 @@ Du kannst auch `AbstractBlock.Settings.copy(AbstractBlock block)` verwenden, um

Um das Blockitem automatisch zu erstellen, können wir dem Parameter `shouldRegisterItem` der Methode `register`, die wir im vorherigen Schritt erstellt haben, `true` übergeben.

### Deinen Block zu einer Itemgruppe hinzufügen {#adding-your-block-to-an-item-group}
### Hinzufügen deines Block-Items zu einer Itemgruppe {#adding-your-block-s-item-to-an-item-group}

Da das `BlockItem` automatisch erstellt und registriert wird, musst du, um ihn zu einer Itemgruppe hinzuzufügen, die Methode `Block.asItem()` verwenden, um die `BlockItem`-Instanz zu erhalten.

In diesem Beispiel wird eine benutzerdefinierte Itemgruppe verwendet, die auf der Seite [Benutzerdefinierte Itemgruppe](../items/custom-item-groups) erstellt wurde.

@[code transcludeWith=:::3](@/reference/latest/src/main/java/com/example/docs/block/ModBlocks.java)
@[code transcludeWith=:::6](@/reference/latest/src/main/java/com/example/docs/block/ModBlocks.java)

Du solltest dies innerhalb deiner `initialize()`-Funktion deiner Klasse hinzufügen.

---

Expand All @@ -75,7 +80,7 @@ Es gibt jedoch ein paar Probleme - das Blockitem ist nicht benannt, und der Bloc

## Blockübersetzungen hinzufügen {#adding-block-translations}

Um eine Übersetzung hinzuzufügen, musst du einen Übersetzungsschlüssel in deiner Übersetzungsdatei erstellen - `assets/<mod id here>/lang/en_us.json`.
Um eine Übersetzung hinzuzufügen, musst du einen Übersetzungsschlüssel in deiner Übersetzungsdatei erstellen - `assets/mod-id/lang/en_us.json`.

Minecraft verwendet diese Übersetzung im Kreativ-Inventar und an anderen Stellen, an denen der Blockname angezeigt wird, wie z. B. bei der Befehlsrückmeldung.

Expand All @@ -89,22 +94,21 @@ Du kannst entweder das Spiel neu starten oder deinen Mod erstellen und <kbd>F3</

## Modelle und Texturen {#models-and-textures}

Alle Blocktexturen befinden sich im Ordner `assets/<mod id here>/textures/block` - eine Beispieltextur für den Block "Condensed Dirt" ist frei verwendbar.
Alle Blocktexturen befinden sich im Ordner `assets/mod-id/textures/block` - eine Beispieltextur für den Block "Condensed Dirt" ist frei verwendbar.

<DownloadEntry visualURL="/assets/develop/blocks/first_block_1.png" downloadURL="/assets/develop/blocks/first_block_1_small.png">Texturen</DownloadEntry>

Damit die Textur im Spiel angezeigt wird, musst du einen Block und ein Itemmodell erstellen, die du an den entsprechenden Stellen für den "Condensed Dirt"-Block finden kannst:
Damit die Textur im Spiel angezeigt wird, musst du ein Blockmodell erstellen, das in der Datei `assets/mod-id/models/block/condensed_dirt.json` für den "Condensed Dirt"-Block gefunden werden kann. Für diesen Block werden wir den Modelltyp `block/cube_all` verwenden.

- `assets/<mod id here>/models/block/condensed_dirt.json`
- `assets/<mod id here>/models/item/condensed_dirt.json`
@[code](@/reference/latest/src/main/generated/assets/fabric-docs-reference/models/block/condensed_dirt.json)

Das Itemmodell ist ziemlich einfach, es kann einfach das Blockmodell als Elternteil verwenden - da die meisten Blockmodelle Unterstützung für die Darstellung in einer grafischen Benutzeroberfläche haben:
Damit der Block in deinem Inventar angezeigt wird, musst du eine [Itemmodell-Beschreibung](../items/first-item#creating-the-item-model-description) erstellen, die auf dein Blockmodell verweist. In diesem Beispiel ist die Beschreibung des Itemmodells für den Block "Condensed Dirt" unter `assets/mod-id/items/condensed_dirt.json` zu finden.

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/models/item/condensed_dirt.json)
@[code](@/reference/latest/src/main/generated/assets/fabric-docs-reference/items/condensed_dirt.json)

Das Blockmodell muss jedoch in unserem Fall dem Modell `block/cube_all` übergeordnet sein:

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/models/block/condensed_dirt.json)
:::tip
Du musst nur dann eine Beschreibung des Itemmodells erstellen, wenn du ein `BlockItem` zusammen mit deinem Block registriert hast!
:::

Wenn du das Spiel lädst, wirst du feststellen, dass die Textur noch fehlt. Dies liegt daran, dass du eine Blockzustand-Definition hinzufügen musst.

Expand All @@ -114,19 +118,21 @@ Die Blockzustand-Definition wird verwendet, um dem Spiel mitzuteilen, welches Mo

Für den Beispielblock, der keinen komplexen Blockzustand hat, ist nur ein Eintrag in der Definition erforderlich.

Diese Datei sollte sich im Ordner `assets/mod_id/blockstates` befinden, und ihr Name sollte mit der Block-ID übereinstimmen, die bei der Registrierung des Blocks in der Klasse `ModBlocks` verwendet wurde. Wenn die Block-ID beispielsweise `condensed_dirt` lautet, sollte die Datei `condensed_dirt.json` heißen.
Diese Datei sollte sich im Ordner `assets/mod-id/blockstates` befinden, und ihr Name sollte mit der Block-ID übereinstimmen, die bei der Registrierung des Blocks in der Klasse `ModBlocks` verwendet wurde. Wenn die Block-ID beispielsweise `condensed_dirt` lautet, sollte die Datei `condensed_dirt.json` heißen.

@[code](@/reference/latest/src/main/resources/assets/fabric-docs-reference/blockstates/condensed_dirt.json)
@[code](@/reference/latest/src/main/generated/assets/fabric-docs-reference/blockstates/condensed_dirt.json)

Blockzustände sind sehr komplex, weshalb sie auf einer späteren Seite behandelt werden: [Blockzustände](./blockstates)
:::tip
Blockstates sind unglaublich komplex, weshalb sie als Nächstes auf [einer eigenen Seite](./blockstates) behandelt werden.
:::

Starte das Spiel neu oder lade es über <kbd>F3</kbd>+<kbd>T</kbd> neu, um die Änderungen zu übernehmen - Du solltest die Blocktextur im Inventar und physisch in der Welt sehen können:

![Block in der Welt mit einer passenden Textur und Modell](/assets/develop/blocks/first_block_4.png)

## Blockdrops hinzufügen {#adding-block-drops}

Wenn man den Block im Survival-Modus abbaut, kann es sein, dass der Block nicht fallen gelassen wird - diese Funktionalität ist vielleicht erwünscht, aber um den Block als Item fallen zu lassen, wenn er abgebaut wird, muss man seine Beutetabelle implementieren - die Beutetabellendatei sollte in den Ordner `data/<mod id here>/loot_table/blocks/` abgelegt werden.
Wenn man den Block im Survival-Modus abbaut, kann es sein, dass der Block nicht fallen gelassen wird - diese Funktionalität ist vielleicht erwünscht, aber um den Block als Item fallen zu lassen, wenn er abgebaut wird, muss man seine Beutetabelle implementieren - die Beutetabellendatei sollte in den Ordner `data/mod-id/loot_table/blocks/` abgelegt werden.

:::info
Für ein besseres Verständnis der Beutetabellen kannst du dir die Seite [Minecraft Wiki - Beutetabellen](https://de.minecraft.wiki/w/Beutetabellen) ansehen.
Expand Down Expand Up @@ -167,4 +173,4 @@ Die Datei hat das gleiche Format wie die Datei des Abbauwerkzeuges - eine Liste

## Zusatz Notizen {#extra-notes}

Wenn du mehrere Blöcke zu deinem Mod hinzufügst, solltest du die [Datengenerierung](https://fabricmc.net/wiki/tutorial:datagen_setup) in Betracht ziehen, um den Prozess der Erstellung von Block- und Itemmodellen, Blockzustandsdefinitionen und Beutetabellen zu automatisieren.
Wenn du mehrere Blöcke zu deinem Mod hinzufügst, solltest du die [Datengenerierung](../data-generation/setup) in Betracht ziehen, um den Prozess der Erstellung von Block- und Itemmodellen, Blockzustandsdefinitionen und Beutetabellen zu automatisieren.
24 changes: 7 additions & 17 deletions translated/de_de/develop/data-generation/advancements.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Zuerst müssen wir unseren Provider erstellen. Erstelle eine Klasse, die `extend

Um die Einrichtung abzuschließen, füge den Provider zu deinem `DataGeneratorEntrypoint` in der `onInitializeDataGenerator` Methode hinzu.

@[code lang=java transclude={24-24}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)
@[code lang=java transclude={25-25}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)

## Struktur eines Fortschritts {#advancement-structure}

Expand All @@ -42,8 +42,12 @@ Hier ist ein einfacher Fortschritt, um einen Erdblock zu erhalten:

@[code lang=java transcludeWith=:::datagen-advancements:simple-advancement](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceAdvancementProvider.java)

:::warning
Denke bei der Erstellung deiner Fortschrittseinträge daran, dass die Funktion den `Identifier` des Fortschritts im Format `String` annimmt!
:::

:::details JSON Ausgabe
@[code lang=json](@/reference/latest/src/main/generated/data/fabric-docs-reference/advancement/fabric-docs-reference/get_dirt.json)
@[code lang=json](@/reference/latest/src/main/generated/data/fabric-docs-reference/advancement/get_dirt.json)
:::

## Ein weiteres Beispiel {#one-more-example}
Expand All @@ -52,20 +56,6 @@ Um den Dreh raus zu bekommen, fügen wir noch einen weiteren Fortschritt hinzu.

@[code lang=java transcludeWith=:::datagen-advancements:second-advancement](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceAdvancementProvider.java)

Vergiss nicht, sie zu generieren! Nutze den untenstehenden Terminal-Befehl oder die Laufkonfiguration in IntelliJ.

::: code-group

```sh [Windows]
gradlew runDatagen
```

```sh [Linux]
./gradlew runDatagen
```

:::

## Benutzdefinierte Kriterien {#custom-criteria}

:::warning
Expand Down Expand Up @@ -136,7 +126,7 @@ Führe den Datengenerator Task erneut aus und du hast einen neuen Fortschritt be

Das ist alles schön und gut, aber was ist, wenn wir einen Fortschritt nur dann gewähren wollen, wenn wir etwas fünfmal getan haben? Und warum nicht noch einen bei zehn Mal? Hierfür müssen wir unserer Bedingung einen Parameter geben. Du kannst bei `UseToolCriterion` bleiben, oder du kannst mit einem neuen `ParameterizedUseToolCriterion` nachziehen. In der Praxis solltest du nur die parametrisierte Variante haben, aber für dieses Tutorial werden wir beide behalten.

Lass uns von unten nach oben arbeiten. Wir müssen prüfen, ob die Anforderungen erfüllt sind, also bearbeiten wir unsere Methode `Condtions#requirementsMet`:
Lass uns von unten nach oben arbeiten. Wir müssen prüfen, ob die Anforderungen erfüllt sind, also bearbeiten wir unsere Methode \`Conditions#requirementsMet:

@[code lang=java transcludeWith=:::datagen-advancements:new-requirements-met](@/reference/latest/src/main/java/com/example/docs/advancement/ParameterizedUseToolCriterion.java)

Expand Down
2 changes: 1 addition & 1 deletion translated/de_de/develop/data-generation/recipes.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Zuerst benötigen wir unseren Provider. Erstelle eine Klasse, die `extends Fabri

Um die Einrichtung abzuschließen, füge den Provider zu deinem `DataGeneratorEntrypoint` in der `onInitializeDataGenerator` Methode hinzu.

@[code lang=java transclude={30-30}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)
@[code lang=java transclude={31-31}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)

## Formlose Rezepte {#shapeless-recipes}

Expand Down
2 changes: 1 addition & 1 deletion translated/de_de/develop/data-generation/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Schließlich müsen wir Fabric in der `fabric.mod.json` über den Einstiegspunkt
// ...
],
"fabric-datagen": [ // [!code ++]
"com.exmaple.docs.datagen.FabricDocsReferenceDataGenerator" // [!code ++]
"com.example.docs.datagen.FabricDocsReferenceDataGenerator" // [!code ++]
] // [!code ++]
}
}
Expand Down
4 changes: 2 additions & 2 deletions translated/de_de/develop/data-generation/tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Stelle sicher, dass du den Prozess der [Einrichtung der Datengenerierung](./setu

## Einrichten {#setup}

Erstelle zunächst eine eigene Klasse, die `extends FabricTagProvider<T>`, wobei `T` der Typ der Sache ist, für die du ein Tag bereitstellen möchtest. Dies ist dein **Provider**. Hier werden wir zeigen, wie man `Item` Tags erstellt, aber das gleiche Prinzip lässt sich auf alle anderen Sachen anwenden. Lass deiner IDE den erforderlichen Code ausfüllen und ersetze dann den Konstruktorparameter `registryKey` durch den `RegistryKey` für deinen Typ:
Erstelle zunächst eine eigene Klasse, die `extends FabricTagProvider<T>`, wobei `T` der Typ der Sache ist, für die du ein Tag bereitstellen möchtest. Dies ist dein **Provider**. Hier werden wir zeigen, wie man `Item` Tags erstellt, aber das gleiche Prinzip lässt sich auch auf alle anderen Dinge anwenden. Lass deiner IDE den erforderlichen Code ausfüllen und ersetze dann den Konstruktorparameter `registryKey` durch den `RegistryKey` für deinen Typ:

@[code lang=java transcludeWith=:::datagen-tags:provider](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceItemTagProvider.java)

Expand All @@ -27,7 +27,7 @@ Du wirst für jeden Tag-Typ einen anderen Provider benötigen (z. B. einen `Fabr

Um die Einrichtung abzuschließen, füge den Provider zu deinem `DataGeneratorEntrypoint` in der `onInitializeDataGenerator` Methode hinzu.

@[code lang=java transclude={28-28}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)
@[code lang=java transclude={29-29}](@/reference/latest/src/client/java/com/example/docs/datagen/FabricDocsReferenceDataGenerator.java)

## Erstellen eines Tags {#creating-a-tag}

Expand Down
Loading

0 comments on commit 4a230a0

Please sign in to comment.