pumpkinplus/modules/recipes/rotten_flesh.rs
1//! Rotten-flesh-to-leather recipes.
2//!
3//! Converts rotten flesh into leather via furnace, smoker, and campfire.
4//!
5//! ## Recipes
6//!
7//! | Station | Output | XP | Time (ticks) |
8//! |----------|----------|------|--------------|
9//! | Furnace | 1× Leather | 0.1 | 200 |
10//! | Smoker | 1× Leather | 0.1 | 100 |
11//! | Campfire | 1× Leather | 0.05 | 600 |
12
13use crate::modules::recipes::recipe::{CookingKind, CookingRecipe, Ingredient, ItemStack, Recipe};
14
15/// Handles rotten-flesh-to-leather conversion recipes.
16#[derive(Default)]
17pub struct RottenFlesh;
18
19impl Recipe for RottenFlesh {
20 fn cooking(&self) -> Vec<CookingRecipe> {
21 vec![
22 // Furnace
23 CookingRecipe {
24 id: "pumpkinplus:rotten_flesh_furnace".into(),
25 ingredient: Ingredient::Item {
26 id: "minecraft:rotten_flesh".into(),
27 },
28 result: ItemStack {
29 id: "minecraft:leather".into(),
30 count: 1,
31 },
32 cook_time: 200,
33 experience: 0.1,
34 kind: CookingKind::Smelting,
35 },
36 // Smoker
37 CookingRecipe {
38 id: "pumpkinplus:rotten_flesh_smoker".into(),
39 ingredient: Ingredient::Item {
40 id: "minecraft:rotten_flesh".into(),
41 },
42 result: ItemStack {
43 id: "minecraft:leather".into(),
44 count: 1,
45 },
46 cook_time: 100,
47 experience: 0.1,
48 kind: CookingKind::Smoking,
49 },
50 // Campfire
51 CookingRecipe {
52 id: "pumpkinplus:rotten_flesh_campfire".into(),
53 ingredient: Ingredient::Item {
54 id: "minecraft:rotten_flesh".into(),
55 },
56 result: ItemStack {
57 id: "minecraft:leather".into(),
58 count: 1,
59 },
60 cook_time: 600,
61 experience: 0.05,
62 kind: CookingKind::Campfire,
63 },
64 ]
65 }
66}