mc-recipe · v1.20.1 · 2026-08-06 · sha256 4910ba7797af03a4

mc-recipe v1.20.1A

Immutable. This exact content is served forever at /api/v1/blob/4910ba7797af03a4.

---
name: mc-recipe
description: Fabric 配方系统。ShapedRecipeJsonBuilder、ShapelessRecipeJsonBuilder。触发词:配方、Recipe、ShapedRecipe、ShapelessRecipe
platform: fabric
version: "1.20.1"
dependencies: []
mappings: yarn
---

# 配方系统(Fabric 1.20.1)

## 快速开始

通过 DataGen 生成配方(推荐),或手动注册。

### 通过 DataGen(推荐)

```java
// 在 DataGeneratorInitializer 中
public class MyRecipeProvider implements DataStreamOutputSupplier.Writer {
    @Override
    public void generate(RegistryWrapper.WrapperLookup registries,
                         DataGenerator.GeneratorOutput output,
                         ExistingFileHelper existingFileHelper) {
        offerShapedRecipe(output, "my_recipe", MY_ITEM.get(), """
            AAA
            A A
            AAA
            """,
            Map.of('A', Registries.ITEM.getId(Items.DIAMOND))
        );
    }
}
```

### 手动注册(不推荐)

```java
// 在 onInitialize() 中
@Override
public void onInitialize() {
    // 手动注册(通常不推荐,数据包更灵活)
}
```

## Decision: 选择方式

```
IF 使用配方数据
  → DataGen 生成配方 JSON

IF 在代码中动态创建配方
  → 手动注册(仅用于自定义逻辑)
```

## 扩展点

| 配合 Skill | 协作说明 |
|-----------|---------|
| `mc-datagen` | DataGen 生成配方 |
| `mc-item` | 配方产出物品 |
| `mc-registry` | 配方引用已注册物品 |