Вам требуется паттерн Команда, он позволит избежать большого количества if-ов и при этом даст возможность добавлять гибко добавлять новые команды. Почитайте про этот паттерн на метаните, внимательно изучите схемы и постарайтесь понять, какую роль играет каждый участник паттерна.
Примерно это может выглядеть вот так
public interface ICommand
{
void Execute(CommandParameter parameter);
}
public class CommandParameter
{
public int Id { get; set; }
public int Count { get; set; }
// сюда можно добавлять сколько угодно новых параметров,
// которые вам требуется записывать в файл
}
public class AddHealthCommand : ICommand
{
public void Execute(CommandParameter parameter)
{
File.WriteAllText(@"D:\path.txt", $"player.modav health {parameter.Count}");
}
}
public class AddItemCommand : ICommand
{
public void Execute(CommandParameter parameter)
{
File.WriteAllText(@"D:\path.txt", $"player.additem {parameter.Id} {parameter.Count}");
}
}
public class CommandWriter
{
public void WriteCommand(ICommand command, CommandParameter parameter)
{
command.Execute(parameter);
}
}
Например, пользователь решил добавить здоровья, это будет выглядеть так
var addHealthParameter = new CommandParameter {Count = value}; //value пришло откуда-то из интерфейса
commandWriter.WriteCommand(new AddHealthCommand(), addHealthParameter);
Если пользователь захочет добавить предмет, то запись будет выглядеть так
var addItemParameter = new CommandParameter {Id = id, Count = count};
commandWriter.WriteCommand(new AddItemCommand(), addItemParameter);
И если вам захочется добавить новую команду, вы просто делаете наследника ICommand и реализуете там логику добавления. А класс CommandParameter даст вам гибкость в добавлении новых параметров в команды.
У вас WPF или WinForms приложение, так ведь?