# RecipeService

Custom recipe registration with global craft limits.

> **Note:** Craft limits are **per world**, not per player.

```java
RecipeService recipes = api.getRecipeService();

RecipeBuilder builder = new RecipeBuilder()
    .id("super-pickaxe")
    .shaped()
    .result(new ItemStack(Material.DIAMOND_PICKAXE))
    .pattern("DDD", " S ", " S ")
    .ingredient('D', new ItemStack(Material.DIAMOND))
    .ingredient('S', new ItemStack(Material.STICK))
    .craftLimit(5);  // 5 total crafts per world

recipes.registerRecipeAsync(builder);
```

**Methods:**

* `registerRecipe(builder)` - sync
* `registerRecipeAsync(builder)` - async
* `canCraftInWorld(world, id)` - check limit
* `getRemainingCraftsInWorld(world, id)` - remaining
