Esempio n. 1
0
        // Decorations mod entry point
        public static void Patch()
        {
            // 1) INITIALIZE HARMONY
            if (!MyHarmony.Initialize())
            {
                return;
            }

            // 2) LOAD CONFIGURATION
            ConfigSwitcher.LoadConfiguration();

            // 3) REGISTER NEW ITEMS
            DecorationsMod.DecorationItems = RegisterNewItems();

            // 4) REGISTER LANGUAGE STRINGS
            RegisterLanguageStrings();

            // 5) MAKE SOME EXISTING ITEMS PICKUPABLE & PLACEABLE
            if (ConfigSwitcher.EnablePlaceItems)
            {
                PlaceToolItems.MakeItemsPlaceable();
            }

            // 6) REGISTER DECORATIONS FABRICATOR
            Logger.Log("INFO: Registering decorations fabricator...");
            Fabricator_Decorations decorationsFabricator = new Fabricator_Decorations();

            decorationsFabricator.RegisterDecorationsFabricator(DecorationsMod.DecorationItems);

            // 7) REGISTER FLORA FABRICATOR
            if (ConfigSwitcher.EnableNewFlora)
            {
                Logger.Log("INFO: Registering seeds fabricator...");
                Fabricator_Flora floraFabricator = new Fabricator_Flora();
                floraFabricator.RegisterFloraFabricator(DecorationsMod.DecorationItems);
            }

            // 8) HARMONY PATCHING
            MyHarmony.PatchAll();
            // Various enhancements.
            if (ConfigSwitcher.FixAquariumLighting)
            {
                PrefabsHelper.FixAquariumSkyApplier();
            }
            MyHarmony.FixSignInput();
            // Mods compatibility.
            MyHarmony.FixAutoLoadMod();

            // 9) SETUP IN GAME OPTIONS MENU
            Logger.Log("INFO: Setting up in-game options menu...");
            SMLHelper.V2.Handlers.OptionsPanelHandler.RegisterModOptions(new ConfigOptions("Decorations mod"));
        }
Esempio n. 2
0
        // Decorations mod entry point
        public static void Patch()
        {
            // 1) INITIALIZE HARMONY
            if ((HarmonyInstance = HarmonyInstance.Create("com.osubmarin.decorationsmod")) == null)
            {
                Logger.Log("ERROR: Unable to initialize Harmony!");
                return;
            }

            // 2) LOAD CONFIGURATION
            ConfigSwitcher.LoadConfiguration();

            // 3) REGISTER NEW ITEMS
            DecorationsMod.DecorationItems = RegisterNewItems();

            // 4) REGISTER LANGUAGE STRINGS
            RegisterLanguageStrings();

            // 5) MAKE SOME EXISTING ITEMS PICKUPABLE & PLACEABLE
            if (ConfigSwitcher.EnablePlaceItems)
            {
                PlaceToolItems.MakeItemsPlaceable();
            }

            // 6) REGISTER DECORATIONS FABRICATOR
            Fabricator_Decorations decorationsFabricator = new Fabricator_Decorations();

            decorationsFabricator.RegisterDecorationsFabricator(DecorationsMod.DecorationItems);

            // 7) REGISTER FLORA FABRICATOR
            if (ConfigSwitcher.EnableNewFlora)
            {
                Fabricator_Flora floraFabricator = new Fabricator_Flora();
                floraFabricator.RegisterFloraFabricator(DecorationsMod.DecorationItems);
            }

            // 8) HARMONY PATCHING
            HarmonyPatchAll();

            // 9) ENHANCEMENTS
            if (ConfigSwitcher.FixAquariumLighting)
            {
                PrefabsHelper.FixAquariumSkyApplier();
            }

            // 10) SETUP IN GAME OPTIONS MENU
            Logger.Log("Setting up in-game options menu...");
            SMLHelper.V2.Handlers.OptionsPanelHandler.RegisterModOptions(new ConfigOptions("Decorations mod"));
        }