using BepInEx; using BepInEx.Configuration; using BepInEx.Unity.IL2CPP; using HarmonyLib; using MiraAPI.Cosmetics; using MiraAPI.Example.Cosmetics; using MiraAPI.PluginLoading; using MiraAPI.Utilities.Assets; using MiraAPI.Utilities.Assets.Addressable; using Reactor; using Reactor.Networking; using Reactor.Networking.Attributes; namespace MiraAPI.Example; [BepInAutoPlugin("mira.example", "MiraExampleMod")] [BepInProcess("Among Us.exe")] [BepInDependency(ReactorPlugin.Id)] [BepInDependency(MiraApiPlugin.Id)] [ReactorModFlags(ModFlags.RequireOnAllClients)] public partial class ExamplePlugin : BasePlugin, IMiraPlugin { public Harmony Harmony { get; } = new(Id); public string OptionsTitleText => "Mira API\nExample Mod"; public ConfigFile GetConfigFile() => Config; public override void Load() { Harmony.PatchAll(); AddComponent(); new Catalog("Output".ToLocalPath()).LoadCatalog(); CosmeticGroupSingleton.Instance.hats = new LoadableAddressableGroupAsset(CatalogTools.GetResourceLocation("hatdata")).LoadAsset(); CosmeticGroupSingleton.Instance.namePlates = new LoadableAddressableGroupAsset(CatalogTools.GetResourceLocation("nameplatedata")).LoadAsset(); CosmeticGroupSingleton.Instance.skins = new LoadableAddressableGroupAsset(CatalogTools.GetResourceLocation("skindata")).LoadAsset(); CosmeticGroupSingleton.Instance.visors = new LoadableAddressableGroupAsset(CatalogTools.GetResourceLocation("visordata")).LoadAsset(); } }