public override void Entry(IModHelper helper)
        {
            ModEntry.modInstance = this;

            helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
            helper.Events.GameLoop.DayStarted += this.OnDayStarted;

            AntiSocialManager.DoSetupIfNecessary(this);

            SpiritsEveChestEditor.SpiritsEveChestEditor.Enable(helper);

            CustomCauldronEffects.Enable(Helper);

            CustomBuffs.Enable(Helper);

            AddSpecialOrdersAfterEvents.Enable(Helper);

            var harmony = HarmonyInstance.Create(this.ModManifest.UniqueID);

            CustomLocationWateringFixes.ApplyFixes(helper, Monitor, harmony);

            HarmonyPatch_SpousePatioAnimations.ApplyPatch(harmony, Monitor);

            harmony.Patch(
                original: AccessTools.Method(typeof(StardewValley.Utility), nameof(StardewValley.Utility.getCelebrationPositionsForDatables), new Type[] { typeof(List <string>) }),
                postfix: new HarmonyMethod(typeof(CustomWeddingGuests), nameof(CustomWeddingGuests.getCelebrationPositionsForDatables_Postfix))
                );

            helper.Content.AssetLoaders.Add(new CustomWeddingGuests(this));

            harmony.Patch(
                original: AccessTools.Method(typeof(StardewValley.Menus.ShopMenu), nameof(StardewValley.Menus.ShopMenu.setUpShopOwner), new Type[] { typeof(string) }),
                postfix: new HarmonyMethod(typeof(ModEntry), nameof(ModEntry.setUpShopOwner_Postfix))
                );
        }
        public override void Entry(IModHelper helper)
        {
            ModEntry.modInstance = this;

            helper.Events.GameLoop.SaveLoaded += this.OnSaveLoaded;
            helper.Events.GameLoop.DayStarted += this.OnDayStarted;

            AntiSocialManager.DoSetupIfNecessary(this);

            SpiritsEveChestEditor.SpiritsEveChestEditor.Enable(helper);

            CustomCauldronEffects.Enable(helper);

            CPCompatibilityEdits.Enable(helper, Monitor);

            CustomBuffs.Enable(helper, Monitor);

            ClintVolumeControl.Enable(helper, Monitor);

            FireflySpawner.Enable(helper, Monitor);

            ConditionalLightSources.Enable(helper, Monitor);

            DisableShadowAttacks.Enable(helper, Monitor);

            CustomBackgrounds.Enable(helper, Monitor);

            SpecialOrderNPCIcons.Enable(helper, Monitor);

            RemoveCropLayerCrops.Enable(helper, Monitor);

            FixIslandToFarmObelisk.Enable(helper, Monitor);

            AddSpecialOrdersAfterEvents.Enable(helper, Monitor);

            var harmony = new Harmony(this.ModManifest.UniqueID);

            EndNexusMusic.Hook(harmony, Monitor);

            TouchActionProperties.Enable(helper, Monitor);

            HarmonyPatch_GetFishingLocation.ApplyPatch(harmony, Monitor);

            HarmonyPatch_CustomFishPondColors.ApplyPatch(harmony, Monitor);

            HarmonyPatch_FarmComputerLocations.ApplyPatch(harmony, Monitor);

            HarmonyPatch_FixDesertBusWarp.ApplyPatch(harmony, Monitor);

            HarmonyPatch_DesertSecretNoteTile.ApplyPatch(harmony, Monitor);

            HarmonyPatch_ActionProperties.ApplyPatch(harmony, Monitor);

            HarmonyPatch_DesertFishingItems.ApplyPatch(harmony, Monitor);

            HarmonyPatch_CustomGrangeJudging.ApplyPatch(harmony, helper, Monitor);

            HarmonyPatch_MovieTheaterNPCs.ApplyPatch(harmony, Monitor);

            HarmonyPatch_DestroyableBushesSVE.ApplyPatch(harmony, Monitor);

            HarmonyPatch_TMXLLoadMapFacingDirection.ApplyPatch(harmony, Monitor);

            HarmonyPatch_UntimedSpecialOrders.ApplyPatch(harmony, helper, Monitor);

            HarmonyPatch_FixCommunityShortcuts.ApplyPatch(harmony, helper, Monitor);

            harmony.Patch(
                original: AccessTools.Method(typeof(StardewValley.Utility), nameof(StardewValley.Utility.getCelebrationPositionsForDatables), new Type[] { typeof(List <string>) }),
                postfix: new HarmonyMethod(typeof(CustomWeddingGuests), nameof(CustomWeddingGuests.getCelebrationPositionsForDatables_Postfix))
                );

            helper.Content.AssetLoaders.Add(new CustomWeddingGuests(this));

            harmony.Patch(
                original: AccessTools.Method(typeof(StardewValley.Menus.ShopMenu), nameof(StardewValley.Menus.ShopMenu.setUpShopOwner), new Type[] { typeof(string) }),
                postfix: new HarmonyMethod(typeof(ModEntry), nameof(ModEntry.setUpShopOwner_Postfix))
                );
        }