예제 #1
0
        /*
         * NOTE:
         * Emotes are only visible by other players with the mod installed.
         */
        public override void Entry(IModHelper helper)
        {
            I18n.Init(helper.Translation);

            ModMonitor         = Monitor;
            ModHelper          = Helper;
            MultiplayerMessage = new MultiplayerModMessage(helper);

            ModPatchManager patchManager = new ModPatchManager(helper);

            // patchManager.PatchList.Add(FarmerPatch.DoEmotePatch.CreatePatch(helper.Reflection));
            patchManager.PatchList.Add(CharacterPatch.DoEmotePatch.CreatePatch(helper.Reflection));
            patchManager.ApplyPatch();

            this.Monitor.Log("Loading mod config...", LogLevel.Debug);
            Config = helper.ReadConfig <ModConfig>();

            this.Monitor.Log("Loading mod data...", LogLevel.Debug);
            Data = this.Helper.Data.ReadJsonFile <ModData>("data.json") ?? new ModData();

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


            // TODO: Command to stop emotes from NPC and FarmAnimals
            helper.ConsoleCommands.Add("play_emote", I18n.Command_PlayEmote(), this.Emote);
            helper.ConsoleCommands.Add("play_emote_npc", I18n.Command_PlayEmoteNpc(), this.EmoteNpc);
            helper.ConsoleCommands.Add("play_emote_animal", I18n.Command_PlayEmoteAnimal(), this.EmoteFarmAnimal);
            helper.ConsoleCommands.Add("stop_emote", I18n.Command_StopEmote(), this.StopEmote);
            helper.ConsoleCommands.Add("stop_emote_npc", I18n.Command_StopEmoteNpc(), this.StopEmoteNpc);
            helper.ConsoleCommands.Add("stop_emote_animal", I18n.Command_StopEmoteAnimal(), this.StopEmoteFarmAnimal);
            helper.ConsoleCommands.Add("stop_all_emotes", I18n.Command_StopAllEmotes(), this.StopAllEmotes);
            helper.ConsoleCommands.Add("multiplayer_emotes", I18n.Command_MultiplayerEmotes(), this.MultiplayerEmotesAvailable);

#if DEBUG
            helper.Events.Input.ButtonPressed += DebugActionsKeyBinds;
#endif
        }