From eb41ce24b91a72d1d34744ebfa9614aae92b44a9 Mon Sep 17 00:00:00 2001 From: EJCrispy Date: Sat, 9 Aug 2025 04:03:09 -0700 Subject: [PATCH] uau --- System/RecipeManager.cs | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/System/RecipeManager.cs b/System/RecipeManager.cs index 1022d22f..d1d4a608 100644 --- a/System/RecipeManager.cs +++ b/System/RecipeManager.cs @@ -752,6 +752,44 @@ public override void AddRecipeGroups() } } } + + public class AnyWood1 : ModSystem + { + public static RecipeGroup AnyWood; + public static int[] PrimaryItems => new int[] { + ItemID.Blowpipe, + ItemID.ClimbingClaws, + ItemID.Aglet, + ItemID.PortableStool, + ItemID.Umbrella, + ItemID.Spear, + ItemID.WoodenBoomerang, + ItemID.Radar + + }; + + public override void AddRecipeGroups() + { + // Main group with trophy as first item (for icon) + AnyWood = new RecipeGroup(() => Language.GetTextValue("Any Wood Chest Item"), PrimaryItems); + RecipeGroup.RegisterGroup("PvPAdventure:AnyWood", AnyWood); + + // Create exclude subgroups while maintaining icon as first item + foreach (int itemID in PrimaryItems.Where(id => id != ItemID.MimicBanner)) + { + var validItems = PrimaryItems + .Where(id => id != itemID && id != ItemID.MimicBanner) + .Prepend(ItemID.MimicBanner) // Keep item first for icon + .ToArray(); + + RecipeGroup group = new RecipeGroup( + () => Language.GetTextValue("Any Wood Chest Item"), + validItems + ); + RecipeGroup.RegisterGroup($"PvPAdventure:AnyWoodExclude{itemID}", group); + } + } + } public class RecipeSystem : ModSystem { public override void AddRecipes() @@ -933,6 +971,15 @@ public override void AddRecipes() .DisableDecraft() .Register(); } + // Primary Mimic recipes (Relic remains icon) + foreach (int itemID in AnyWood1.PrimaryItems.Where(id => id != ItemID.MimicBanner)) + { + Recipe.Create(itemID) + .AddRecipeGroup($"PvPAdventure:AnyWoodExclude{itemID}", 2) + .AddCondition(shimmerCondition) + .DisableDecraft() + .Register(); + } } } }