00
:
00
:
00
:
00
Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

Ricette (Crafting)

Creare Ricette

Anche le ricette sono file JSON nei Data Packs. Percorso: src/main/resources/data/tutorialmod/recipes/.

1. Ricetta Shaped (Forma specifica)

Esempio: Creare un blocco di rubini con 9 rubini.

File: ruby_block_from_rubies.json

```json { “type”: “minecraft:crafting_shaped”, “pattern”: [ “###”, “###”, “###” ], “key”: { “#”: { “item”: “tutorialmod:ruby” } }, “result”: { “item”: “tutorialmod:ruby_block”, “count”: 1 } } ```

2. Ricetta Shapeless (Senza forma)

Esempio: Riottenere 9 rubini da un blocco (puoi mettere il blocco ovunque nella griglia).

File: rubies_from_ruby_block.json

```json { “type”: “minecraft:crafting_shapeless”, “ingredients”: [ { “item”: “tutorialmod:ruby_block” } ], “result”: { “item”: “tutorialmod:ruby”, “count”: 9 } } ```

3. Ricetta Smelting (Fornace)

Esempio: Cuocere il minerale per ottenere la gemma (se non usi Silk Touch).

File: ruby_from_smelting.json

```json { “type”: “minecraft:smelting”, “ingredient”: { “item”: “tutorialmod:ruby_ore” }, “result”: “tutorialmod:ruby”, “experience”: 0.7, “cookingtime”: 200 } ```

Datagen per Ricette

Come per i loot tables, puoi generare le ricette via codice.

```java public class ModRecipeProvider extends FabricRecipeProvider { public ModRecipeProvider(FabricDataOutput output) { super(output); }

@Override
public void generate(Consumer<RecipeJsonProvider> exporter) {
    // Blocco da 9 Item
    offerReversibleCompactingRecipes(exporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RUBY, RecipeCategory.DECORATIONS, ModBlocks.RUBY_BLOCK);

    // Smelting
    offerSmelting(exporter, List.of(ModItems.RAW_RUBY), RecipeCategory.MISC, ModItems.RUBY, 0.7f, 200, "ruby");
}

} ```

In questo modo, se cambi il nome di un item nel codice o la logica di una ricetta, basta rigenerare i dati invece di modificare a mano decine di file JSON.