From e22ddb0385cbfbbfec6cbcd75c38d09fd6c7aecd Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Thu, 24 Jun 2021 20:38:02 +0300 Subject: [PATCH 1/7] Improve Dismantle UX - Change `Any {}` to `Any {} item` so for example when you want to dismantle something into linen, you will see `Any linen item` which points you that you need to get some item which is made from linen, and not some generic linen. --- voxygen/src/hud/crafting.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index 2013b20ab8..c635fc90e0 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -880,7 +880,7 @@ impl<'a> Widget for Crafting<'a> { // Ingredients let name = match recipe_input { RecipeInput::Item(_) => item_def.name().to_string(), - RecipeInput::Tag(tag) => format!("Any {}", tag.name()), + RecipeInput::Tag(tag) => format!("Any {} item", tag.name()), }; let input = format!( "{}x {} ({})", From 71e18ef3103d061228b142290a0450f6ac1e7d8b Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Thu, 24 Jun 2021 21:22:35 +0300 Subject: [PATCH 2/7] Dismantle Leather items to Thick Leather - Previously both Leather and Rawhide items were dismantled to simple leather --- assets/common/recipe_book.ron | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index a1237ef2f3..6d277e0eb3 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -1729,7 +1729,7 @@ ], ), "leather": ( - output: ("common.items.crafting_ing.leather.simple_leather", 1), + output: ("common.items.crafting_ing.leather.thick_leather", 1), inputs: [ (Tag(Material(Leather)), 1), ], From ffa01621c100fddb3c268911a2848a2a6524cd2c Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Thu, 24 Jun 2021 22:43:58 +0300 Subject: [PATCH 3/7] Clean Material tags - Make ferocious set (currently not lootable) made from Moonweave - Remove material tag from twig sets --- assets/common/items/armor/ferocious/back.ron | 4 ++-- assets/common/items/armor/ferocious/belt.ron | 4 ++-- assets/common/items/armor/ferocious/chest.ron | 4 ++-- assets/common/items/armor/ferocious/foot.ron | 4 ++-- assets/common/items/armor/ferocious/hand.ron | 4 ++-- assets/common/items/armor/ferocious/pants.ron | 4 ++-- assets/common/items/armor/ferocious/shoulder.ron | 4 ++-- assets/common/items/armor/twigs/belt.ron | 3 +-- assets/common/items/armor/twigs/chest.ron | 3 +-- assets/common/items/armor/twigs/foot.ron | 3 +-- assets/common/items/armor/twigs/hand.ron | 3 +-- assets/common/items/armor/twigs/pants.ron | 3 +-- assets/common/items/armor/twigs/shoulder.ron | 3 +-- assets/common/items/armor/twigsflowers/belt.ron | 3 +-- assets/common/items/armor/twigsflowers/chest.ron | 3 +-- assets/common/items/armor/twigsflowers/foot.ron | 3 +-- assets/common/items/armor/twigsflowers/hand.ron | 3 +-- assets/common/items/armor/twigsflowers/pants.ron | 3 +-- assets/common/items/armor/twigsflowers/shoulder.ron | 3 +-- assets/common/items/armor/twigsleaves/belt.ron | 3 +-- assets/common/items/armor/twigsleaves/chest.ron | 3 +-- assets/common/items/armor/twigsleaves/foot.ron | 3 +-- assets/common/items/armor/twigsleaves/hand.ron | 3 +-- assets/common/items/armor/twigsleaves/pants.ron | 3 +-- assets/common/items/armor/twigsleaves/shoulder.ron | 3 +-- assets/common/items/crafting_ing/hide/animal_hide.ron | 3 +-- assets/common/items/crafting_ing/hide/rugged_hide.ron | 3 +-- assets/common/items/crafting_ing/hide/tough_hide.ron | 5 ++--- 28 files changed, 36 insertions(+), 57 deletions(-) diff --git a/assets/common/items/armor/ferocious/back.ron b/assets/common/items/armor/ferocious/back.ron index b06908255d..d0ddb2684b 100644 --- a/assets/common/items/armor/ferocious/back.ron +++ b/assets/common/items/armor/ferocious/back.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/belt.ron b/assets/common/items/armor/ferocious/belt.ron index 55bda41c7d..9763f2862f 100644 --- a/assets/common/items/armor/ferocious/belt.ron +++ b/assets/common/items/armor/ferocious/belt.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/chest.ron b/assets/common/items/armor/ferocious/chest.ron index 97b08c3bc8..09646e5e60 100644 --- a/assets/common/items/armor/ferocious/chest.ron +++ b/assets/common/items/armor/ferocious/chest.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/foot.ron b/assets/common/items/armor/ferocious/foot.ron index 291e01fc78..8048046fc4 100644 --- a/assets/common/items/armor/ferocious/foot.ron +++ b/assets/common/items/armor/ferocious/foot.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/hand.ron b/assets/common/items/armor/ferocious/hand.ron index 50432bffe5..d5a20eec1e 100644 --- a/assets/common/items/armor/ferocious/hand.ron +++ b/assets/common/items/armor/ferocious/hand.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/pants.ron b/assets/common/items/armor/ferocious/pants.ron index f3cf907020..1c21a69809 100644 --- a/assets/common/items/armor/ferocious/pants.ron +++ b/assets/common/items/armor/ferocious/pants.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/ferocious/shoulder.ron b/assets/common/items/armor/ferocious/shoulder.ron index dc7fa8a236..e2dce57c4f 100644 --- a/assets/common/items/armor/ferocious/shoulder.ron +++ b/assets/common/items/armor/ferocious/shoulder.ron @@ -14,6 +14,6 @@ ItemDef( )), quality: Epic, tags: [ - Material(Linen), + Material(Moonweave), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/belt.ron b/assets/common/items/armor/twigs/belt.ron index 3bb3d93d3e..e277244ed0 100644 --- a/assets/common/items/armor/twigs/belt.ron +++ b/assets/common/items/armor/twigs/belt.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/chest.ron b/assets/common/items/armor/twigs/chest.ron index 33e1ea0fb4..842b163acb 100644 --- a/assets/common/items/armor/twigs/chest.ron +++ b/assets/common/items/armor/twigs/chest.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/foot.ron b/assets/common/items/armor/twigs/foot.ron index 607ee84b37..fa5724d389 100644 --- a/assets/common/items/armor/twigs/foot.ron +++ b/assets/common/items/armor/twigs/foot.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/hand.ron b/assets/common/items/armor/twigs/hand.ron index 9a2ee57308..c270765cbb 100644 --- a/assets/common/items/armor/twigs/hand.ron +++ b/assets/common/items/armor/twigs/hand.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/pants.ron b/assets/common/items/armor/twigs/pants.ron index 8a260b6ace..e0985956ad 100644 --- a/assets/common/items/armor/twigs/pants.ron +++ b/assets/common/items/armor/twigs/pants.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigs/shoulder.ron b/assets/common/items/armor/twigs/shoulder.ron index ee4475ffd4..debe438365 100644 --- a/assets/common/items/armor/twigs/shoulder.ron +++ b/assets/common/items/armor/twigs/shoulder.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Common, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/belt.ron b/assets/common/items/armor/twigsflowers/belt.ron index 15c869ce7f..d7fefcf082 100644 --- a/assets/common/items/armor/twigsflowers/belt.ron +++ b/assets/common/items/armor/twigsflowers/belt.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/chest.ron b/assets/common/items/armor/twigsflowers/chest.ron index 73f1b19667..5d89db9b81 100644 --- a/assets/common/items/armor/twigsflowers/chest.ron +++ b/assets/common/items/armor/twigsflowers/chest.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/foot.ron b/assets/common/items/armor/twigsflowers/foot.ron index 4fd775a043..004a1fbbed 100644 --- a/assets/common/items/armor/twigsflowers/foot.ron +++ b/assets/common/items/armor/twigsflowers/foot.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/hand.ron b/assets/common/items/armor/twigsflowers/hand.ron index 9d8020c3ae..d6f37a3a41 100644 --- a/assets/common/items/armor/twigsflowers/hand.ron +++ b/assets/common/items/armor/twigsflowers/hand.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/pants.ron b/assets/common/items/armor/twigsflowers/pants.ron index 49117dc528..9b1f86919e 100644 --- a/assets/common/items/armor/twigsflowers/pants.ron +++ b/assets/common/items/armor/twigsflowers/pants.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsflowers/shoulder.ron b/assets/common/items/armor/twigsflowers/shoulder.ron index 12bf7c7fc6..9b637f5b76 100644 --- a/assets/common/items/armor/twigsflowers/shoulder.ron +++ b/assets/common/items/armor/twigsflowers/shoulder.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Common, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/belt.ron b/assets/common/items/armor/twigsleaves/belt.ron index b386a7d5b2..0b486a4276 100644 --- a/assets/common/items/armor/twigsleaves/belt.ron +++ b/assets/common/items/armor/twigsleaves/belt.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/chest.ron b/assets/common/items/armor/twigsleaves/chest.ron index 70791c46b4..c189d86eba 100644 --- a/assets/common/items/armor/twigsleaves/chest.ron +++ b/assets/common/items/armor/twigsleaves/chest.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/foot.ron b/assets/common/items/armor/twigsleaves/foot.ron index ebd64969bc..7be12183b3 100644 --- a/assets/common/items/armor/twigsleaves/foot.ron +++ b/assets/common/items/armor/twigsleaves/foot.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/hand.ron b/assets/common/items/armor/twigsleaves/hand.ron index f4890938db..a076da917a 100644 --- a/assets/common/items/armor/twigsleaves/hand.ron +++ b/assets/common/items/armor/twigsleaves/hand.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/pants.ron b/assets/common/items/armor/twigsleaves/pants.ron index 70d1ee3c34..19055a15b2 100644 --- a/assets/common/items/armor/twigsleaves/pants.ron +++ b/assets/common/items/armor/twigsleaves/pants.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Moderate, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/armor/twigsleaves/shoulder.ron b/assets/common/items/armor/twigsleaves/shoulder.ron index 255211ea59..b72e2214e5 100644 --- a/assets/common/items/armor/twigsleaves/shoulder.ron +++ b/assets/common/items/armor/twigsleaves/shoulder.ron @@ -14,6 +14,5 @@ ItemDef( )), quality: Common, tags: [ - Material(Linen), ], -) \ No newline at end of file +) diff --git a/assets/common/items/crafting_ing/hide/animal_hide.ron b/assets/common/items/crafting_ing/hide/animal_hide.ron index f8f5d865c5..1775da2470 100644 --- a/assets/common/items/crafting_ing/hide/animal_hide.ron +++ b/assets/common/items/crafting_ing/hide/animal_hide.ron @@ -6,6 +6,5 @@ ItemDef( ), quality: Low, tags: [ - Material(Leather) ], -) \ No newline at end of file +) diff --git a/assets/common/items/crafting_ing/hide/rugged_hide.ron b/assets/common/items/crafting_ing/hide/rugged_hide.ron index 3a2f8ae583..3e265465d6 100644 --- a/assets/common/items/crafting_ing/hide/rugged_hide.ron +++ b/assets/common/items/crafting_ing/hide/rugged_hide.ron @@ -6,6 +6,5 @@ ItemDef( ), quality: Epic, tags: [ - Material(Leather) ], -) \ No newline at end of file +) diff --git a/assets/common/items/crafting_ing/hide/tough_hide.ron b/assets/common/items/crafting_ing/hide/tough_hide.ron index c9c1c4d5c7..1f356af74e 100644 --- a/assets/common/items/crafting_ing/hide/tough_hide.ron +++ b/assets/common/items/crafting_ing/hide/tough_hide.ron @@ -6,6 +6,5 @@ ItemDef( ), quality: Common, tags: [ - Material(Leather) - ], -) \ No newline at end of file + ], +) From fb8787a826f9100ea9561508b82a2a1af6204a97 Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Sat, 26 Jun 2021 16:23:11 +0300 Subject: [PATCH 4/7] Sort tabs in logical sequence --- voxygen/src/hud/crafting.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index c635fc90e0..d9c99ef407 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -138,17 +138,18 @@ impl<'a> Crafting<'a> { #[derive(Copy, Clone, Debug, EnumIter, PartialEq)] pub enum CraftingTab { All, + Tool, Armor, Weapon, - Food, + ProcessedMaterial, Dismantle, + Food, Potion, Bag, - Tool, Utility, Glider, - ProcessedMaterial, } + impl CraftingTab { fn name_key(&self) -> &str { match self { @@ -205,10 +206,7 @@ impl CraftingTab { ItemKind::Tool(_) => !item.tags().contains(&ItemTag::CraftingTool), _ => false, }, - CraftingTab::Dismantle => match item.kind() { - ItemKind::Ingredient { .. } => !item.tags().contains(&ItemTag::CraftingTool), - _ => false, - }, + CraftingTab::Dismantle => matches!(item.kind(), ItemKind::Ingredient { .. }), } } } From f533e3433cd755ade3a3151700fa31c056fa05e6 Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Sat, 26 Jun 2021 19:12:23 +0300 Subject: [PATCH 5/7] Add is_recycling field to recipe book --- assets/common/recipe_book.ron | 236 +++++++++++++++++++++- common/src/comp/inventory/item/modular.rs | 1 + common/src/recipe.rs | 7 +- 3 files changed, 240 insertions(+), 4 deletions(-) diff --git a/assets/common/recipe_book.ron b/assets/common/recipe_book.ron index 6d277e0eb3..d394e82db8 100644 --- a/assets/common/recipe_book.ron +++ b/assets/common/recipe_book.ron @@ -6,6 +6,7 @@ (Item("common.items.crafting_ing.stones"), 6), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "mortar_pestle": ( output: ("common.items.crafting_tools.mortar_pestle", 1), @@ -15,6 +16,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "sewing_set": ( output: ("common.items.crafting_tools.sewing_set", 1), @@ -23,6 +25,7 @@ (Item("common.items.mineral.ingot.tin"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "velorite_frag": ( output: ("common.items.mineral.ore.veloritefrag", 2), @@ -31,6 +34,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "potion_s": ( output: ("common.items.consumable.potion_minor", 1), @@ -40,6 +44,7 @@ (Item("common.items.crafting_ing.honey"), 1), ], craft_sprite: Some(Cauldron), + is_recycling: false, ), "potion_m": ( output: ("common.items.consumable.potion_med", 1), @@ -48,6 +53,7 @@ (Item("common.items.mineral.ore.veloritefrag"), 4), ], craft_sprite: Some(Cauldron), + is_recycling: false, ), "cactus_colada": ( output: ("common.items.food.cactus_colada", 1), @@ -56,6 +62,7 @@ (Item("common.items.crafting_ing.cactus"), 8), ], craft_sprite: Some(Cauldron), + is_recycling: false, ), "collar_basic": ( output: ("common.items.utility.collar", 1), @@ -63,6 +70,8 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 5), (Item("common.items.mineral.gem.ruby"), 1), ], + craft_sprite: None, + is_recycling: false, ), "bomb_coconut": ( output: ("common.items.utility.bomb", 1), @@ -73,6 +82,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_blue": ( output: ("common.items.utility.firework_blue", 1), @@ -84,6 +94,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_green": ( output: ("common.items.utility.firework_green", 1), @@ -95,6 +106,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_purple": ( output: ("common.items.utility.firework_purple", 1), @@ -106,6 +118,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_red": ( output: ("common.items.utility.firework_red", 1), @@ -117,6 +130,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_white": ( output: ("common.items.utility.firework_white", 1), @@ -128,6 +142,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "firework_yellow": ( output: ("common.items.utility.firework_yellow", 1), @@ -139,6 +154,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "apple_shroom_curry": ( output: ("common.items.food.apple_mushroom_curry", 1), @@ -149,6 +165,7 @@ (Item("common.items.crafting_tools.mortar_pestle"), 0), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "fish_cooked": ( output: ("common.items.food.meat.fish_cooked", 1), @@ -156,6 +173,7 @@ (Item("common.items.food.meat.fish_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "bird_cooked": ( output: ("common.items.food.meat.bird_cooked", 1), @@ -163,6 +181,7 @@ (Item("common.items.food.meat.bird_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "bird_large_cooked": ( output: ("common.items.food.meat.bird_large_cooked", 1), @@ -170,6 +189,7 @@ (Item("common.items.food.meat.bird_large_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "beast_small_cooked": ( output: ("common.items.food.meat.beast_small_cooked", 1), @@ -177,6 +197,7 @@ (Item("common.items.food.meat.beast_small_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "beast_large_cooked": ( output: ("common.items.food.meat.beast_large_cooked", 1), @@ -184,6 +205,7 @@ (Item("common.items.food.meat.beast_large_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "tough_cooked": ( output: ("common.items.food.meat.tough_cooked", 1), @@ -191,6 +213,7 @@ (Item("common.items.food.meat.tough_raw"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), "leather strips": ( output: ("common.items.crafting_ing.leather.leather_strips", 4), @@ -198,6 +221,7 @@ (Item("common.items.crafting_ing.leather.simple_leather"), 1), ], craft_sprite: Some(TanningRack), + is_recycling: false, ), "simple leather": ( output: ("common.items.crafting_ing.leather.simple_leather", 1), @@ -205,6 +229,7 @@ (Item("common.items.crafting_ing.hide.animal_hide"), 1), ], craft_sprite: Some(TanningRack), + is_recycling: false, ), "thick leather": ( output: ("common.items.crafting_ing.leather.thick_leather", 1), @@ -212,6 +237,7 @@ (Item("common.items.crafting_ing.hide.tough_hide"), 1), ], craft_sprite: Some(TanningRack), + is_recycling: false, ), "rigid leather": ( output: ("common.items.crafting_ing.leather.rigid_leather", 1), @@ -219,6 +245,7 @@ (Item("common.items.crafting_ing.hide.rugged_hide"), 1), ], craft_sprite: Some(TanningRack), + is_recycling: false, ), "gold ingot": ( output: ("common.items.mineral.ingot.gold", 1), @@ -226,6 +253,7 @@ (Item("common.items.mineral.ore.gold"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "silver ingot": ( output: ("common.items.mineral.ingot.silver", 1), @@ -233,14 +261,15 @@ (Item("common.items.mineral.ore.silver"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), - "iron ingot": ( output: ("common.items.mineral.ingot.iron", 1), inputs: [ (Item("common.items.mineral.ore.iron"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "cobalt ingot": ( output: ("common.items.mineral.ingot.cobalt", 1), @@ -248,6 +277,7 @@ (Item("common.items.mineral.ore.cobalt"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "tin ingot": ( output: ("common.items.mineral.ingot.tin", 2), @@ -255,6 +285,7 @@ (Item("common.items.mineral.ore.tin"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "orichalcum ingot": ( output: ("common.items.mineral.ingot.orichalcum", 2), @@ -263,6 +294,7 @@ (Item("common.items.mineral.ingot.silver"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "copper ingot": ( output: ("common.items.mineral.ingot.copper", 2), @@ -270,6 +302,7 @@ (Item("common.items.mineral.ore.copper"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "bloodsteel ingot": ( output: ("common.items.mineral.ingot.bloodsteel", 2), @@ -277,16 +310,18 @@ (Item("common.items.mineral.ore.bloodstone"), 1), (Item("common.items.mineral.ingot.iron"), 1), (Item("common.items.mineral.ore.coal"), 1), - ], + ], craft_sprite: Some(Forge), + is_recycling: false, ), "steel ingot": ( output: ("common.items.mineral.ingot.steel", 1), inputs: [ (Item("common.items.mineral.ingot.iron"), 1), (Item("common.items.mineral.ore.coal"), 1), - ], + ], craft_sprite: Some(Forge), + is_recycling: false, ), "bronze ingot": ( output: ("common.items.mineral.ingot.bronze", 2), @@ -295,6 +330,7 @@ (Item("common.items.mineral.ingot.tin"), 1), ], craft_sprite: Some(Forge), + is_recycling: false, ), "cotton": ( output: ("common.items.crafting_ing.cloth.cotton", 1), @@ -302,6 +338,7 @@ (Item("common.items.crafting_ing.cotton_boll"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "linen_flax": ( output: ("common.items.crafting_ing.cloth.linen", 1), @@ -309,6 +346,7 @@ (Item("common.items.flowers.wild_flax"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "silk": ( output: ("common.items.crafting_ing.cloth.silk", 1), @@ -316,6 +354,7 @@ (Item("common.items.crafting_ing.sticky_thread"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "lifecloth": ( output: ("common.items.crafting_ing.cloth.lifecloth", 1), @@ -324,6 +363,7 @@ (Item("common.items.crafting_ing.cloth.cotton"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "moonweave": ( output: ("common.items.crafting_ing.cloth.moonweave", 1), @@ -331,6 +371,7 @@ (Item("common.items.flowers.moonbell"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "sunsilk": ( output: ("common.items.crafting_ing.cloth.sunsilk", 1), @@ -338,6 +379,7 @@ (Item("common.items.flowers.pyrebloom"), 1), ], craft_sprite: Some(SpinningWheel), + is_recycling: false, ), "salad_plain": ( output: ("common.items.food.plainsalad", 1), @@ -345,6 +387,8 @@ (Item("common.items.food.lettuce"), 1), (Item("common.items.crafting_ing.bowl"), 1), ], + craft_sprite: None, + is_recycling: false, ), "salad_tomato": ( output: ("common.items.food.tomatosalad", 1), @@ -353,6 +397,8 @@ (Item("common.items.food.tomato"), 2), (Item("common.items.crafting_ing.bowl"), 1), ], + craft_sprite: None, + is_recycling: false, ), "apples_stick": ( output: ("common.items.food.apple_stick", 1), @@ -360,6 +406,8 @@ (Item("common.items.crafting_ing.twigs"), 2), (Item("common.items.food.apple"), 2), ], + craft_sprite: None, + is_recycling: false, ), "mushroom_stick": ( output: ("common.items.food.mushroom_stick", 1), @@ -367,6 +415,8 @@ (Item("common.items.crafting_ing.twigs"), 2), (Item("common.items.food.mushroom"), 3), ], + craft_sprite: None, + is_recycling: false, ), "sunflower_icetea": ( output: ("common.items.food.sunflower_icetea", 4), @@ -377,6 +427,7 @@ (Item("common.items.crafting_ing.honey"), 1), ], craft_sprite: Some(Cauldron), + is_recycling: false, ), "Plain Cloth Glider": ( output: ("common.items.glider.glider_basic_white", 1), @@ -388,6 +439,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Red Cloth Glider": ( output: ("common.items.glider.glider_basic_red", 1), @@ -399,6 +451,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Leaves Glider": ( output: ("common.items.glider.glider_leaves", 1), @@ -411,6 +464,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Sand Raptor Wings": ( output: ("common.items.glider.glider_sandraptor", 1), @@ -423,6 +477,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Snow Raptor Wings": ( output: ("common.items.glider.glider_snowraptor", 1), @@ -436,6 +491,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Wood Raptor Wings": ( output: ("common.items.glider.glider_woodraptor", 1), @@ -448,6 +504,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Soothing Loop": ( output: ("common.items.weapons.sceptre.loops0", 1), @@ -457,6 +514,8 @@ (Item("common.items.mineral.gem.ruby"), 4), (Item("common.items.tool.craftsman_hammer"), 0), ], + craft_sprite: None, + is_recycling: false, ), "Hunting Bow": ( output: ("common.items.weapons.bow.wood-2", 1), @@ -465,6 +524,7 @@ (Item("common.items.crafting_ing.twigs"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "Forest Spirit": ( output: ("common.items.weapons.sword.wood-2", 1), @@ -474,6 +534,7 @@ (Item("common.items.mineral.ore.veloritefrag"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "Burnt Drumstick": ( output: ("common.items.weapons.hammer.burnt_drumstick", 1), @@ -481,6 +542,7 @@ (Item("common.items.food.meat.bird_large_cooked"), 1), ], craft_sprite: Some(CookingPot), + is_recycling: false, ), //ARMOR/HIDE/RAWHIDE "rawhide back": ( @@ -490,6 +552,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide belt": ( output: ("common.items.armor.hide.rawhide.belt", 1), @@ -498,6 +561,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide chest": ( output: ("common.items.armor.hide.rawhide.chest", 1), @@ -506,6 +570,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide feet": ( output: ("common.items.armor.hide.rawhide.foot", 1), @@ -514,6 +579,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide hands": ( output: ("common.items.armor.hide.rawhide.hand", 1), @@ -522,6 +588,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide pants": ( output: ("common.items.armor.hide.rawhide.pants", 1), @@ -530,6 +597,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "rawhide shoulder": ( output: ("common.items.armor.hide.rawhide.shoulder", 1), @@ -538,6 +606,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/HIDE/LEATHER "leather back": ( @@ -547,6 +616,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather belt": ( output: ("common.items.armor.hide.leather.belt", 1), @@ -555,6 +625,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather chest": ( output: ("common.items.armor.hide.leather.chest", 1), @@ -563,6 +634,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather feet": ( output: ("common.items.armor.hide.leather.foot", 1), @@ -571,6 +643,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather hands": ( output: ("common.items.armor.hide.leather.hand", 1), @@ -579,6 +652,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather pants": ( output: ("common.items.armor.hide.leather.pants", 1), @@ -587,6 +661,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "leather shoulder": ( output: ("common.items.armor.hide.leather.shoulder", 1), @@ -595,6 +670,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/HIDE/SCALE "scale back": ( @@ -604,6 +680,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale belt": ( output: ("common.items.armor.hide.scale.belt", 1), @@ -612,6 +689,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale chest": ( output: ("common.items.armor.hide.scale.chest", 1), @@ -620,6 +698,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale feet": ( output: ("common.items.armor.hide.scale.foot", 1), @@ -628,6 +707,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale hands": ( output: ("common.items.armor.hide.scale.hand", 1), @@ -636,6 +716,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale pants": ( output: ("common.items.armor.hide.scale.pants", 1), @@ -644,6 +725,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "scale shoulder": ( output: ("common.items.armor.hide.scale.shoulder", 1), @@ -652,6 +734,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/HIDE/CARAPACE "carapace back": ( @@ -662,6 +745,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace belt": ( output: ("common.items.armor.hide.carapace.belt", 1), @@ -671,6 +755,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace chest": ( output: ("common.items.armor.hide.carapace.chest", 1), @@ -680,6 +765,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace feet": ( output: ("common.items.armor.hide.carapace.foot", 1), @@ -689,6 +775,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace hands": ( output: ("common.items.armor.hide.carapace.hand", 1), @@ -698,6 +785,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace pants": ( output: ("common.items.armor.hide.carapace.pants", 1), @@ -707,6 +795,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "carapace shoulder": ( output: ("common.items.armor.hide.carapace.shoulder", 1), @@ -716,6 +805,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/HIDE/PRIMAL "primal back": ( @@ -727,6 +817,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal belt": ( output: ("common.items.armor.hide.primal.belt", 1), @@ -736,6 +827,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal chest": ( output: ("common.items.armor.hide.primal.chest", 1), @@ -746,6 +838,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal feet": ( output: ("common.items.armor.hide.primal.foot", 1), @@ -755,6 +848,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal hands": ( output: ("common.items.armor.hide.primal.hand", 1), @@ -764,6 +858,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal pants": ( output: ("common.items.armor.hide.primal.pants", 1), @@ -774,6 +869,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "primal shoulder": ( output: ("common.items.armor.hide.primal.shoulder", 1), @@ -784,6 +880,7 @@ (Item("common.items.crafting_ing.leather.rigid_leather"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/HIDE/DRAGONSCALE "dragonscale back": ( @@ -795,6 +892,7 @@ (Item("common.items.crafting_ing.hide.scales"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale belt": ( output: ("common.items.armor.hide.dragonscale.belt", 1), @@ -804,6 +902,7 @@ (Item("common.items.crafting_ing.hide.scales"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale chest": ( output: ("common.items.armor.hide.dragonscale.chest", 1), @@ -814,6 +913,7 @@ (Item("common.items.crafting_ing.hide.scales"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale feet": ( output: ("common.items.armor.hide.dragonscale.foot", 1), @@ -823,6 +923,7 @@ (Item("common.items.crafting_ing.hide.scales"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale hands": ( output: ("common.items.armor.hide.dragonscale.hand", 1), @@ -832,6 +933,7 @@ (Item("common.items.crafting_ing.hide.scales"), 2), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale pants": ( output: ("common.items.armor.hide.dragonscale.pants", 1), @@ -842,6 +944,7 @@ (Item("common.items.crafting_ing.hide.scales"), 4), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "dragonscale shoulder": ( output: ("common.items.armor.hide.dragonscale.shoulder", 1), @@ -852,6 +955,7 @@ (Item("common.items.crafting_ing.hide.scales"), 6), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //ARMOR/CLOTH/LINEN "linen back": ( @@ -860,6 +964,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 3), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen belt": ( output: ("common.items.armor.cloth.linen.belt", 1), @@ -867,6 +972,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 2), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen chest": ( output: ("common.items.armor.cloth.linen.chest", 1), @@ -874,6 +980,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 10), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen feet": ( output: ("common.items.armor.cloth.linen.foot", 1), @@ -881,6 +988,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 3), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen hands": ( output: ("common.items.armor.cloth.linen.hand", 1), @@ -888,6 +996,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 3), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen pants": ( output: ("common.items.armor.cloth.linen.pants", 1), @@ -895,6 +1004,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 8), ], craft_sprite: Some(Loom), + is_recycling: false, ), "linen shoulder": ( output: ("common.items.armor.cloth.linen.shoulder", 1), @@ -902,6 +1012,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 8), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/CLOTH/WOOLEN "woolen back": ( @@ -913,6 +1024,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen belt": ( output: ("common.items.armor.cloth.woolen.belt", 1), @@ -923,6 +1035,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen chest": ( output: ("common.items.armor.cloth.woolen.chest", 1), @@ -933,6 +1046,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen feet": ( output: ("common.items.armor.cloth.woolen.foot", 1), @@ -943,6 +1057,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen hands": ( output: ("common.items.armor.cloth.woolen.hand", 1), @@ -953,6 +1068,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen pants": ( output: ("common.items.armor.cloth.woolen.pants", 1), @@ -963,6 +1079,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "woolen shoulder": ( output: ("common.items.armor.cloth.woolen.shoulder", 1), @@ -973,6 +1090,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/CLOTH/SILKEN "silken back": ( @@ -982,6 +1100,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken belt": ( output: ("common.items.armor.cloth.silken.belt", 1), @@ -990,6 +1109,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken chest": ( output: ("common.items.armor.cloth.silken.chest", 1), @@ -999,6 +1119,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken feet": ( output: ("common.items.armor.cloth.silken.foot", 1), @@ -1007,6 +1128,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken hands": ( output: ("common.items.armor.cloth.silken.hand", 1), @@ -1015,6 +1137,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken pants": ( output: ("common.items.armor.cloth.silken.pants", 1), @@ -1024,6 +1147,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "silken shoulder": ( output: ("common.items.armor.cloth.silken.shoulder", 1), @@ -1033,6 +1157,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/CLOTH/DRUID "druid back": ( @@ -1043,6 +1168,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid belt": ( output: ("common.items.armor.cloth.druid.belt", 1), @@ -1052,6 +1178,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid chest": ( output: ("common.items.armor.cloth.druid.chest", 1), @@ -1061,6 +1188,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid feet": ( output: ("common.items.armor.cloth.druid.foot", 1), @@ -1070,6 +1198,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid hands": ( output: ("common.items.armor.cloth.druid.hand", 1), @@ -1079,6 +1208,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid pants": ( output: ("common.items.armor.cloth.druid.pants", 1), @@ -1088,6 +1218,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "druid shoulder": ( output: ("common.items.armor.cloth.druid.shoulder", 1), @@ -1097,6 +1228,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/CLOTH/MOONWEAVE "moonweave back": ( @@ -1109,6 +1241,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave belt": ( output: ("common.items.armor.cloth.moonweave.belt", 1), @@ -1119,6 +1252,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave chest": ( output: ("common.items.armor.cloth.moonweave.chest", 1), @@ -1130,6 +1264,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave feet": ( output: ("common.items.armor.cloth.moonweave.foot", 1), @@ -1140,6 +1275,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave hands": ( output: ("common.items.armor.cloth.moonweave.hand", 1), @@ -1150,6 +1286,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave pants": ( output: ("common.items.armor.cloth.moonweave.pants", 1), @@ -1160,6 +1297,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "moonweave shoulder": ( output: ("common.items.armor.cloth.moonweave.shoulder", 1), @@ -1170,6 +1308,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/CLOTH/SUNSILK "sunsilk back": ( @@ -1181,6 +1320,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk belt": ( output: ("common.items.armor.cloth.sunsilk.belt", 1), @@ -1190,6 +1330,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk chest": ( output: ("common.items.armor.cloth.sunsilk.chest", 1), @@ -1200,6 +1341,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk feet": ( output: ("common.items.armor.cloth.sunsilk.foot", 1), @@ -1209,6 +1351,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk hands": ( output: ("common.items.armor.cloth.sunsilk.hand", 1), @@ -1218,6 +1361,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk pants": ( output: ("common.items.armor.cloth.sunsilk.pants", 1), @@ -1227,6 +1371,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), "sunsilk shoulder": ( output: ("common.items.armor.cloth.sunsilk.shoulder", 1), @@ -1236,6 +1381,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(Loom), + is_recycling: false, ), //ARMOR/MAIL/BRONZE "bronze back": ( @@ -1245,6 +1391,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze belt": ( output: ("common.items.armor.mail.bronze.belt", 1), @@ -1253,6 +1400,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze chest": ( output: ("common.items.armor.mail.bronze.chest", 1), @@ -1261,6 +1409,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze feet": ( output: ("common.items.armor.mail.bronze.foot", 1), @@ -1269,6 +1418,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze hands": ( output: ("common.items.armor.mail.bronze.hand", 1), @@ -1277,6 +1427,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze pants": ( output: ("common.items.armor.mail.bronze.pants", 1), @@ -1285,6 +1436,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bronze shoulder": ( output: ("common.items.armor.mail.bronze.shoulder", 1), @@ -1293,6 +1445,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(Anvil), + is_recycling: false, ), //ARMOR/MAIL/IRON "iron back": ( @@ -1302,6 +1455,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron belt": ( output: ("common.items.armor.mail.iron.belt", 1), @@ -1310,6 +1464,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron chest": ( output: ("common.items.armor.mail.iron.chest", 1), @@ -1318,6 +1473,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron feet": ( output: ("common.items.armor.mail.iron.foot", 1), @@ -1326,6 +1482,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron hands": ( output: ("common.items.armor.mail.iron.hand", 1), @@ -1334,6 +1491,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron pants": ( output: ("common.items.armor.mail.iron.pants", 1), @@ -1342,6 +1500,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "iron shoulder": ( output: ("common.items.armor.mail.iron.shoulder", 1), @@ -1350,6 +1509,7 @@ (Item("common.items.crafting_ing.leather.leather_strips"), 6), ], craft_sprite: Some(Anvil), + is_recycling: false, ), //ARMOR/MAIL/STEEL "steel back": ( @@ -1359,6 +1519,7 @@ (Item("common.items.crafting_ing.cloth.linen"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel belt": ( output: ("common.items.armor.mail.steel.belt", 1), @@ -1367,6 +1528,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel chest": ( output: ("common.items.armor.mail.steel.chest", 1), @@ -1375,6 +1537,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel feet": ( output: ("common.items.armor.mail.steel.foot", 1), @@ -1383,6 +1546,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel hands": ( output: ("common.items.armor.mail.steel.hand", 1), @@ -1391,6 +1555,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel pants": ( output: ("common.items.armor.mail.steel.pants", 1), @@ -1399,6 +1564,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 4), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel shoulder": ( output: ("common.items.armor.mail.steel.shoulder", 1), @@ -1407,6 +1573,7 @@ (Item("common.items.crafting_ing.leather.thick_leather"), 6), ], craft_sprite: Some(Anvil), + is_recycling: false, ), //ARMOR/MAIL/COBALT "cobalt back": ( @@ -1417,6 +1584,7 @@ (Item("common.items.mineral.gem.sapphire"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt belt": ( output: ("common.items.armor.mail.cobalt.belt", 1), @@ -1426,6 +1594,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt chest": ( output: ("common.items.armor.mail.cobalt.chest", 1), @@ -1435,6 +1604,7 @@ (Item("common.items.mineral.gem.sapphire"), 3), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt feet": ( output: ("common.items.armor.mail.cobalt.foot", 1), @@ -1443,6 +1613,7 @@ (Item("common.items.crafting_ing.cloth.silk"), 3), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt hands": ( output: ("common.items.armor.mail.cobalt.hand", 1), @@ -1451,6 +1622,7 @@ (Item("common.items.crafting_ing.cloth.silk"), 3), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt pants": ( output: ("common.items.armor.mail.cobalt.pants", 1), @@ -1460,6 +1632,7 @@ (Item("common.items.mineral.gem.sapphire"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "cobalt shoulder": ( output: ("common.items.armor.mail.cobalt.shoulder", 1), @@ -1469,6 +1642,7 @@ (Item("common.items.mineral.gem.sapphire"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), //ARMOR/MAIL/BLOODSTEEL "bloodsteel back": ( @@ -1480,6 +1654,7 @@ (Item("common.items.mineral.gem.ruby"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel belt": ( output: ("common.items.armor.mail.bloodsteel.belt", 1), @@ -1488,6 +1663,7 @@ (Item("common.items.crafting_ing.hide.carapace"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel chest": ( output: ("common.items.armor.mail.bloodsteel.chest", 1), @@ -1498,6 +1674,7 @@ (Item("common.items.mineral.gem.ruby"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel feet": ( output: ("common.items.armor.mail.bloodsteel.foot", 1), @@ -1506,6 +1683,7 @@ (Item("common.items.crafting_ing.hide.carapace"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel hands": ( output: ("common.items.armor.mail.bloodsteel.hand", 1), @@ -1514,6 +1692,7 @@ (Item("common.items.crafting_ing.hide.carapace"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel pants": ( output: ("common.items.armor.mail.bloodsteel.pants", 1), @@ -1523,6 +1702,7 @@ (Item("common.items.mineral.gem.ruby"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "bloodsteel shoulder": ( output: ("common.items.armor.mail.bloodsteel.shoulder", 1), @@ -1532,6 +1712,7 @@ (Item("common.items.mineral.gem.ruby"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), //ARMOR/MAIL/ORICHALCUM "orichalcum back": ( @@ -1543,6 +1724,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum belt": ( output: ("common.items.armor.mail.orichalcum.belt", 1), @@ -1553,6 +1735,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum chest": ( output: ("common.items.armor.mail.orichalcum.chest", 1), @@ -1564,6 +1747,7 @@ (Item("common.items.mineral.gem.sapphire"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum feet": ( output: ("common.items.armor.mail.orichalcum.foot", 1), @@ -1574,6 +1758,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum hands": ( output: ("common.items.armor.mail.orichalcum.hand", 1), @@ -1584,6 +1769,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum pants": ( output: ("common.items.armor.mail.orichalcum.pants", 1), @@ -1594,6 +1780,7 @@ (Item("common.items.mineral.gem.diamond"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "orichalcum shoulder": ( output: ("common.items.armor.mail.orichalcum.shoulder", 1), @@ -1603,6 +1790,7 @@ (Item("common.items.mineral.gem.sapphire"), 2), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "Seashell Necklace": ( @@ -1614,6 +1802,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "red cloth": ( output: ("common.items.crafting_ing.cloth.linen_red", 1), @@ -1622,18 +1811,24 @@ (Item("common.items.flowers.red"), 1), (Item("common.items.crafting_tools.mortar_pestle"), 0), ], + craft_sprite: None, + is_recycling: false, ), "tiny red pouch": ( output: ("common.items.armor.misc.bag.tiny_red_pouch", 1), inputs: [ (Item("common.items.crafting_ing.cloth.linen_red"), 3), ], + craft_sprite: None, + is_recycling: false, ), "tiny leather pouch": ( output: ("common.items.armor.misc.bag.tiny_leather_pouch", 1), inputs: [ (Item("common.items.crafting_ing.leather.leather_strips"), 12), ], + craft_sprite: None, + is_recycling: false, ), "knitted red pouch": ( output: ("common.items.armor.misc.bag.knitted_red_pouch", 1), @@ -1642,6 +1837,8 @@ (Item("common.items.armor.misc.bag.tiny_red_pouch"), 2), (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: false, ), "woven red bag": ( output: ("common.items.armor.misc.bag.woven_red_bag", 1), @@ -1650,6 +1847,8 @@ (Item("common.items.armor.misc.bag.knitted_red_pouch"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: false, ), "traveler backpack": ( output: ("common.items.armor.misc.back.backpack", 1), @@ -1662,6 +1861,7 @@ (Item("common.items.crafting_tools.sewing_set"), 0), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "sturdy red backpack": ( output: ("common.items.armor.misc.bag.sturdy_red_backpack", 1), @@ -1672,6 +1872,8 @@ (Item("common.items.armor.misc.bag.woven_red_bag"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: false, ), "troll hide pack": ( output: ("common.items.armor.misc.bag.troll_hide_pack", 1), @@ -1681,6 +1883,8 @@ (Item("common.items.mineral.gem.diamond"), 1), (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: false, ), "Mindflayer Spellbag": ( output: ("common.items.armor.misc.bag.mindflayer_spellbag", 1), @@ -1691,6 +1895,8 @@ (Item("common.items.mineral.ore.veloritefrag"), 10), (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: false, ), "tin pickaxe": ( output: ("common.items.tool.pickaxe_stone", 1), @@ -1700,6 +1906,7 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "steel pickaxe": ( output: ("common.items.tool.pickaxe_steel", 1), @@ -1709,30 +1916,43 @@ (Item("common.items.tool.craftsman_hammer"), 0), ], craft_sprite: Some(Anvil), + is_recycling: false, ), "linen": ( output: ("common.items.crafting_ing.cloth.linen", 1), inputs: [ (Tag(Material(Linen)), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: true, ), "wool": ( output: ("common.items.crafting_ing.cloth.wool", 1), inputs: [ (Tag(Material(Wool)), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: true, ), "rawhide": ( output: ("common.items.crafting_ing.leather.simple_leather", 1), inputs: [ (Tag(Material(Rawhide)), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: true, ), "leather": ( output: ("common.items.crafting_ing.leather.thick_leather", 1), inputs: [ (Tag(Material(Leather)), 1), + (Item("common.items.crafting_tools.sewing_set"), 0), ], + craft_sprite: None, + is_recycling: true, ), "bronze": ( output: ("common.items.mineral.ingot.bronze", 1), @@ -1740,6 +1960,7 @@ (Tag(Material(Bronze)), 1), ], craft_sprite: Some(Anvil), + is_recycling: true, ), "iron": ( output: ("common.items.mineral.ingot.iron", 1), @@ -1747,6 +1968,7 @@ (Tag(Material(Iron)), 1), ], craft_sprite: Some(Anvil), + is_recycling: true, ), "diamond ring": ( output: ("common.items.armor.misc.ring.diamond", 1), @@ -1755,6 +1977,7 @@ (Item("common.items.mineral.gem.diamond"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "ruby ring": ( output: ("common.items.armor.misc.ring.ruby", 1), @@ -1763,6 +1986,7 @@ (Item("common.items.mineral.gem.ruby"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "emerald ring": ( output: ("common.items.armor.misc.ring.emerald", 1), @@ -1771,6 +1995,7 @@ (Item("common.items.mineral.gem.emerald"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "sapphire ring": ( output: ("common.items.armor.misc.ring.sapphire", 1), @@ -1779,6 +2004,7 @@ (Item("common.items.mineral.gem.sapphire"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "topaz ring": ( output: ("common.items.armor.misc.ring.topaz", 1), @@ -1787,6 +2013,7 @@ (Item("common.items.mineral.gem.topaz"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), "amethyst ring": ( output: ("common.items.armor.misc.ring.amethyst", 1), @@ -1795,6 +2022,7 @@ (Item("common.items.mineral.gem.amethyst"), 1), ], craft_sprite: Some(CraftingBench), + is_recycling: false, ), //"metal_blade": ( // output: ("common.items.crafting_ing.modular.damage.sword.metal_blade", 1), @@ -1802,5 +2030,7 @@ // (Tag(MetalIngot), 5), // (Item("common.items.tool.craftsman_hammer"), 0), // ], + // craft_sprite: Some(Anvil), + // is_recycling: false, //), } diff --git a/common/src/comp/inventory/item/modular.rs b/common/src/comp/inventory/item/modular.rs index 9b803a20af..ada275f5cb 100644 --- a/common/src/comp/inventory/item/modular.rs +++ b/common/src/comp/inventory/item/modular.rs @@ -229,6 +229,7 @@ fn make_recipe_def(identifier: String, toolkind: ToolKind) -> RawRecipe { output, inputs, craft_sprite: None, + is_recycling: false, } } diff --git a/common/src/recipe.rs b/common/src/recipe.rs index 31bf2cfbfd..b5e26e7099 100644 --- a/common/src/recipe.rs +++ b/common/src/recipe.rs @@ -21,6 +21,7 @@ pub struct Recipe { pub output: (Arc, u32), pub inputs: Vec<(RecipeInput, u32)>, pub craft_sprite: Option, + pub is_recycling: bool, } #[allow(clippy::type_complexity)] @@ -93,8 +94,8 @@ pub enum RawRecipeInput { pub(crate) struct RawRecipe { pub(crate) output: (String, u32), pub(crate) inputs: Vec<(RawRecipeInput, u32)>, - #[serde(default)] pub(crate) craft_sprite: Option, + pub(crate) is_recycling: bool, } #[derive(Clone, Deserialize)] @@ -112,11 +113,13 @@ impl assets::Compound for RecipeBook { cache: &assets::AssetCache, specifier: &str, ) -> Result { + #[inline] fn load_item_def(spec: &(String, u32)) -> Result<(Arc, u32), assets::Error> { let def = Arc::::load_cloned(&spec.0)?; Ok((def, spec.1)) } + #[inline] fn load_recipe_input( spec: &(RawRecipeInput, u32), @@ -149,6 +152,7 @@ impl assets::Compound for RecipeBook { output, inputs, craft_sprite, + is_recycling, }, )| { let inputs = inputs @@ -160,6 +164,7 @@ impl assets::Compound for RecipeBook { output, inputs, craft_sprite: *craft_sprite, + is_recycling: *is_recycling, })) }, ) From cba3187b922c96addc9cb40a2c1fb8c7dd6793aa Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Sat, 26 Jun 2021 21:05:48 +0300 Subject: [PATCH 6/7] Split Material and Dismantle crafting tabs --- CHANGELOG.md | 2 ++ voxygen/src/hud/crafting.rs | 24 +++++++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee02ecbc91..e7c26d1a12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Players can press H to greet others - Ability to toggle chat visibility - Added gem rings with various stat improvements. + ### Changed - Entity-entity pushback is no longer applied in forced movement states like rolling and leaping. @@ -34,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Crafting Stations aren't exploadable anymore - Cases where no audio output could be produced before. - Significantly improved the performance of playing sound effects +- Dismantle and Material crafting tabs don't have duplicated recipes ## [0.10.0] - 2021-06-12 diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index d9c99ef407..b495c11c44 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -20,7 +20,7 @@ use common::{ }, Inventory, }, - recipe::RecipeInput, + recipe::{Recipe, RecipeInput}, terrain::SpriteKind, }; use conrod_core::{ @@ -151,7 +151,7 @@ pub enum CraftingTab { } impl CraftingTab { - fn name_key(&self) -> &str { + fn name_key(self) -> &'static str { match self { CraftingTab::All => "hud.crafting.tabs.all", CraftingTab::Armor => "hud.crafting.tabs.armor", @@ -167,7 +167,7 @@ impl CraftingTab { } } - fn img_id(&self, imgs: &Imgs) -> image::Id { + fn img_id(self, imgs: &Imgs) -> image::Id { match self { CraftingTab::All => imgs.icon_globe, CraftingTab::Armor => imgs.icon_armor, @@ -183,7 +183,9 @@ impl CraftingTab { } } - fn satisfies(&self, item: &ItemDef) -> bool { + fn satisfies(self, recipe: &Recipe) -> bool { + let (item, _count) = &recipe.output; + let recycling = recipe.is_recycling; match self { CraftingTab::All => true, CraftingTab::Food => item.tags().contains(&ItemTag::Food), @@ -194,10 +196,10 @@ impl CraftingTab { CraftingTab::Glider => matches!(item.kind(), ItemKind::Glider(_)), CraftingTab::Potion => item.tags().contains(&ItemTag::Potion), CraftingTab::ProcessedMaterial => { - item.tags().contains(&ItemTag::MetalIngot) - | item.tags().contains(&ItemTag::Textile) - | item.tags().contains(&ItemTag::Leather) - | item.tags().contains(&ItemTag::BaseMaterial) + (item.tags().contains(&ItemTag::MetalIngot) + || item.tags().contains(&ItemTag::Textile) + || item.tags().contains(&ItemTag::Leather) + || item.tags().contains(&ItemTag::BaseMaterial)) && !recycling }, CraftingTab::Bag => item.tags().contains(&ItemTag::Bag), CraftingTab::Tool => item.tags().contains(&ItemTag::CraftingTool), @@ -206,7 +208,7 @@ impl CraftingTab { ItemKind::Tool(_) => !item.tags().contains(&ItemTag::CraftingTool), _ => false, }, - CraftingTab::Dismantle => matches!(item.kind(), ItemKind::Ingredient { .. }), + CraftingTab::Dismantle => recipe.is_recycling, } } } @@ -469,7 +471,7 @@ impl<'a> Widget for Crafting<'a> { } for (i, (name, recipe, is_craftable)) in ordered_recipes .into_iter() - .filter(|(_, recipe, _)| self.show.crafting_tab.satisfies(recipe.output.0.as_ref())) + .filter(|(_, recipe, _)| self.show.crafting_tab.satisfies(&recipe)) .enumerate() { let button = Button::image(if state.selected_recipe.as_ref() == Some(name) { @@ -648,7 +650,7 @@ impl<'a> Widget for Crafting<'a> { for (row, chunk) in CraftingTab::iter() .filter(|crafting_tab| match crafting_tab { CraftingTab::All => false, - _ => crafting_tab.satisfies(recipe.output.0.as_ref()), + _ => crafting_tab.satisfies(&recipe), }) .filter(|crafting_tab| crafting_tab != &self.show.crafting_tab) .collect::>() From 641aa921bf3bea569be7d3e3699a5888b6e4d82b Mon Sep 17 00:00:00 2001 From: juliancoffee Date: Sat, 26 Jun 2021 22:05:01 +0300 Subject: [PATCH 7/7] style --- common/src/recipe.rs | 1 - voxygen/src/hud/crafting.rs | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/common/src/recipe.rs b/common/src/recipe.rs index b5e26e7099..422833dc33 100644 --- a/common/src/recipe.rs +++ b/common/src/recipe.rs @@ -113,7 +113,6 @@ impl assets::Compound for RecipeBook { cache: &assets::AssetCache, specifier: &str, ) -> Result { - #[inline] fn load_item_def(spec: &(String, u32)) -> Result<(Arc, u32), assets::Error> { let def = Arc::::load_cloned(&spec.0)?; diff --git a/voxygen/src/hud/crafting.rs b/voxygen/src/hud/crafting.rs index b495c11c44..f0dc50f820 100644 --- a/voxygen/src/hud/crafting.rs +++ b/voxygen/src/hud/crafting.rs @@ -185,7 +185,6 @@ impl CraftingTab { fn satisfies(self, recipe: &Recipe) -> bool { let (item, _count) = &recipe.output; - let recycling = recipe.is_recycling; match self { CraftingTab::All => true, CraftingTab::Food => item.tags().contains(&ItemTag::Food), @@ -199,7 +198,8 @@ impl CraftingTab { (item.tags().contains(&ItemTag::MetalIngot) || item.tags().contains(&ItemTag::Textile) || item.tags().contains(&ItemTag::Leather) - || item.tags().contains(&ItemTag::BaseMaterial)) && !recycling + || item.tags().contains(&ItemTag::BaseMaterial)) + && !recipe.is_recycling }, CraftingTab::Bag => item.tags().contains(&ItemTag::Bag), CraftingTab::Tool => item.tags().contains(&ItemTag::CraftingTool),