Skip to main content

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}