예제 #1
0
        /// <summary>
        /// Allows a TSPlayer to run a command, regardless of permissions, while not being restricted to the Server player instance.
        /// </summary>
        /// <param name="player"></param>
        /// <param name="commandString"></param>
        public void ForceHandleCommand(TSPlayer player)
        {
            //ripped from the sudo command at https://github.com/QuiCM/EssentialsPlus/blob/master/EssentialsPlus/Commands.cs
            var fakePlayer = new TSPlayer(player.Index)
            {
                AwaitingName           = player.AwaitingName,
                AwaitingNameParameters = player.AwaitingNameParameters,
                AwaitingTempPoint      = player.AwaitingTempPoint,
                Group      = new SuperAdminGroup(),           // : player.Group,
                TempPoints = player.TempPoints
            };

            //await Task.Run(() => TShockAPI.Commands.HandleCommand(fakePlayer, TShock.Config.CommandSpecifier + command));

            TShockAPI.Commands.HandleCommand(fakePlayer, Command.Replace("$name", player.GetEscapedName()));

            player.AwaitingName           = fakePlayer.AwaitingName;
            player.AwaitingNameParameters = fakePlayer.AwaitingNameParameters;
            player.AwaitingTempPoint      = fakePlayer.AwaitingTempPoint;
            player.TempPoints             = fakePlayer.TempPoints;
        }