pumpkinplus/modules/recipes/
wood_log.rs1use crate::modules::recipes::recipe::{Ingredient, ItemStack, Recipe, ShapelessRecipe};
27
28#[derive(Default)]
30pub struct WoodLog;
31
32impl Recipe for WoodLog {
33 fn shapeless(&self) -> Vec<ShapelessRecipe> {
34 let pairs: Vec<(&str, &str)> = vec![
35 ("minecraft:oak_wood", "minecraft:oak_log"),
37 ("minecraft:spruce_wood", "minecraft:spruce_log"),
38 ("minecraft:birch_wood", "minecraft:birch_log"),
39 ("minecraft:jungle_wood", "minecraft:jungle_log"),
40 ("minecraft:acacia_wood", "minecraft:acacia_log"),
41 ("minecraft:dark_oak_wood", "minecraft:dark_oak_log"),
42 ("minecraft:mangrove_wood", "minecraft:mangrove_log"),
43 ("minecraft:cherry_wood", "minecraft:cherry_log"),
44 ("minecraft:pale_oak_wood", "minecraft:pale_oak_log"),
45 ("minecraft:crimson_hyphae", "minecraft:crimson_stem"),
46 ("minecraft:warped_hyphae", "minecraft:warped_stem"),
47 ("minecraft:stripped_oak_wood", "minecraft:stripped_oak_log"),
49 (
50 "minecraft:stripped_spruce_wood",
51 "minecraft:stripped_spruce_log",
52 ),
53 (
54 "minecraft:stripped_birch_wood",
55 "minecraft:stripped_birch_log",
56 ),
57 (
58 "minecraft:stripped_jungle_wood",
59 "minecraft:stripped_jungle_log",
60 ),
61 (
62 "minecraft:stripped_acacia_wood",
63 "minecraft:stripped_acacia_log",
64 ),
65 (
66 "minecraft:stripped_dark_oak_wood",
67 "minecraft:stripped_dark_oak_log",
68 ),
69 (
70 "minecraft:stripped_mangrove_wood",
71 "minecraft:stripped_mangrove_log",
72 ),
73 (
74 "minecraft:stripped_cherry_wood",
75 "minecraft:stripped_cherry_log",
76 ),
77 (
78 "minecraft:stripped_pale_oak_wood",
79 "minecraft:stripped_pale_oak_log",
80 ),
81 (
82 "minecraft:stripped_crimson_hyphae",
83 "minecraft:stripped_crimson_stem",
84 ),
85 (
86 "minecraft:stripped_warped_hyphae",
87 "minecraft:stripped_warped_stem",
88 ),
89 ];
90
91 pairs
92 .into_iter()
93 .map(|(wood, log)| {
94 let name = log.rsplit_once(':').map(|(_, s)| s).unwrap_or(log);
95 ShapelessRecipe {
96 id: format!("pumpkinplus:{}_from_wood", name),
97 ingredients: vec![Ingredient::Item { id: wood.into() }],
98 result: ItemStack {
99 id: log.into(),
100 count: 4,
101 },
102 }
103 })
104 .collect()
105 }
106}