This repository has been archived by the owner on Jan 20, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 42
/
Copy pathModEntry.cs
74 lines (71 loc) · 3.24 KB
/
ModEntry.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
namespace StardewMods.BetterChests;
using SimpleInjector;
using StardewMods.BetterChests.Framework.Interfaces;
using StardewMods.BetterChests.Framework.Services;
using StardewMods.BetterChests.Framework.Services.Factory;
using StardewMods.BetterChests.Framework.Services.Features;
using StardewMods.Common.Interfaces;
using StardewMods.Common.Services;
using StardewMods.Common.Services.Integrations.BetterCrafting;
using StardewMods.Common.Services.Integrations.ContentPatcher;
using StardewMods.Common.Services.Integrations.FauxCore;
using StardewMods.Common.Services.Integrations.GenericModConfigMenu;
using StardewMods.Common.Services.Integrations.ToolbarIcons;
/// <inheritdoc />
internal sealed class ModEntry : Mod
{
/// <inheritdoc />
public override object GetApi(IModInfo mod) => this.CreateApi(mod);
/// <inheritdoc />
protected override void Init(Container container)
{
I18n.Init(this.Helper.Translation);
container.RegisterSingleton<IApiFactory, ApiFactory>();
container.RegisterSingleton<AssetHandler>();
container.RegisterSingleton<BetterCraftingIntegration>();
container.RegisterSingleton<BetterCraftingInventoryProvider>();
container.RegisterSingleton<IModConfig, ConfigManager>();
container.RegisterSingleton<ConfigManager, ConfigManager>();
container.RegisterSingleton<ContainerFactory>();
container.RegisterSingleton<ContainerHandler>();
container.RegisterSingleton<ContentPatcherIntegration>();
container.RegisterSingleton<IEventManager, EventManager>();
container.RegisterSingleton<IExpressionHandler, FauxCoreIntegration>();
container.RegisterSingleton<IIconRegistry, FauxCoreIntegration>();
container.RegisterSingleton<GenericModConfigMenuIntegration>();
container.RegisterSingleton<MenuHandler>();
container.RegisterSingleton<Localized>();
container.RegisterSingleton<IPatchManager, FauxCoreIntegration>();
container.RegisterSingleton<ProxyChestFactory>();
container.RegisterSingleton<ISimpleLogging, FauxCoreIntegration>();
container.RegisterSingleton<StatusEffectManager>();
container.RegisterSingleton<IThemeHelper, FauxCoreIntegration>();
container.RegisterSingleton<ToolbarIconsIntegration>();
container.RegisterSingleton<UiToolkit>();
container.RegisterInstance<Func<IModConfig>>(container.GetInstance<IModConfig>);
container.Collection.Register<IFeature>(
new[]
{
typeof(AccessChest),
typeof(AutoOrganize),
typeof(CarryChest),
typeof(CategorizeChest),
typeof(ChestFinder),
typeof(CollectItems),
typeof(ConfigureChest),
typeof(CraftFromChest),
typeof(DebugMode),
typeof(HslColorPicker),
typeof(InventoryTabs),
typeof(LockItem),
typeof(OpenHeldChest),
typeof(ResizeChest),
typeof(SearchItems),
typeof(ShopFromChest),
typeof(SortInventory),
typeof(StashToChest),
typeof(StorageInfo),
},
Lifestyle.Singleton);
}
}