using GadgetCore.API; using GadgetCore.API.ConfigMenu; using GadgetCore.Util; using RecipeMenuCore.API; using UnityEngine; namespace MoreVanityItems { [Gadget("MoreVanityItems", LoadAfter: new string[] { "RecipeMenuCore" }, Dependencies: new string[] { "RecipeMenuCore", "VanitySlots" })] public class MoreVanityItems : Gadget { public const string MOD_VERSION = "1.0"; // Set this to the version of your mod. public const string CONFIG_VERSION = "1.0"; // Increment this whenever you change your mod's config file. public override IGadgetConfigMenu GetConfigMenu() { return null; } public override string GetModDescription() { return "A mod that adds some vanity wearables."; } protected override void Initialize() { Logger.Log("More Vanity Items v" + Info.Mod.Version); Core.logger = Logger; Core.itemGift = new ItemInfo(ItemType.CONSUMABLE, "Vanity Gift", "", GadgetCoreAPI.LoadTexture2D("iGift.png")); Core.itemGift.OnUse += ItemGift_OnUse; Core.itemGift.OnUseFinal += ItemGift_OnUseFinal; ItemRegistry.Singleton.Register(Core.itemGift, "vanitygift"); Core.itemShield = new ItemInfo(ItemType.OFFHAND, "Manican Shield", "", GadgetCoreAPI.LoadTexture2D("iShieldManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), HeldTex: GadgetCoreAPI.LoadTexture2D("sShieldManican.png")); ItemRegistry.Singleton.Register(Core.itemShield, "vanityshieldmanican"); Core.gifts.Add(Core.itemShield); Core.itemHelmet = new ItemInfo(ItemType.HELMET, "Manican Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetManican.png")); ItemRegistry.Singleton.Register(Core.itemHelmet, "vanityhelmetmanican"); Core.gifts.Add(Core.itemHelmet); Core.itemArmor = new ItemInfo(ItemType.ARMOR, "Manican Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorManican.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorManican.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorManican.png")); ItemRegistry.Singleton.Register(Core.itemArmor, "vanityarmormanican"); Core.gifts.Add(Core.itemArmor); { var item = new ItemInfo(ItemType.HELMET, "Imposter Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetImposter.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetImposter.png")); ItemRegistry.Singleton.Register(item, "vanityhelmetimposter"); Core.gifts.Add(item); } { var item = new ItemInfo(ItemType.ARMOR, "Imposter Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorImposter.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorImposter.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorImposter.png")); ItemRegistry.Singleton.Register(item, "vanityarmorimposter"); Core.gifts.Add(item); } { var item = new ItemInfo(ItemType.HELMET, "Dragon Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetDragon.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetDragon.png")); ItemRegistry.Singleton.Register(item, "vanityhelmetdragon"); Core.gifts.Add(item); } { var item = new ItemInfo(ItemType.ARMOR, "Dragon Armor", "", GadgetCoreAPI.LoadTexture2D("iArmorDragon.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorDragon.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorDragon.png")); ItemRegistry.Singleton.Register(item, "vanityarmordragon"); Core.gifts.Add(item); } { var item = new ItemInfo(ItemType.HELMET, "City Helmet", "", GadgetCoreAPI.LoadTexture2D("iHelmetCity.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), HeadTex: GadgetCoreAPI.LoadTexture2D("hHelmetCity.png")); ItemRegistry.Singleton.Register(item, "vanityhelmetcity"); Core.gifts.Add(item); } { var item = new ItemInfo(ItemType.ARMOR, "Old Chap's Suit", "", GadgetCoreAPI.LoadTexture2D("iArmorSuit.png"), Stats: new EquipStats(0, 0, 0, 0, 0, 0), BodyTex: GadgetCoreAPI.LoadTexture2D("bArmorSuit.png"), ArmTex: GadgetCoreAPI.LoadTexture2D("aArmorSuit.png")); ItemRegistry.Singleton.Register(item, "vanityarmorsuit"); Core.gifts.Add(item); } var recipePage = new RecipePage(RecipePageType.UniversalCrafter, "More Vanity Items", GadgetCoreAPI.LoadTexture2D("recipesMoreVanityItems.png")).Register(); recipePage.AddRecipePageEntry(new RecipePageEntry(54, 59, 49, Core.itemGift.GetID(), allwaysShowInput: true)); var universalCrafter = ((CraftMenuInfo)MenuRegistry.Singleton["Gadget Core:Crafter Menu"]); universalCrafter.AddCraftPerformer(CraftMenuInfo.CreateSimpleCraftPerformer( Tuple.Create(new int[] { 54, 59, 49 }, new Item(Core.itemGift.GetID(), 1, 0, 0, 0, new int[3], new int[3]), 0))); } private System.Collections.IEnumerator ItemGift_OnUseFinal(int arg) { Item item = GadgetCoreAPI.EmptyItem(); item.id = Core.gifts[Random.Range(0, Core.gifts.Count)].GetID(); GadgetCoreAPI.SpawnItemLocal(InstanceTracker.PlayerScript.transform.position, item); yield break; } private bool ItemGift_OnUse(int arg) { return true; } } }