模组:制作指南/APIs/Console
跳到导航
跳到搜索
← 模组:目录
SMAPI 可以将自定义命令添加到 SMAPI 控制台,玩家可以键入这些命令来执行某些操作。使用 Chat Commands 模组的玩家也可以在游戏内聊天中使用这些命令。
简介
SMAPI 控制台是与游戏一起打开的窗口,它以纯文本格式显示来自 SMAPI 和模组的消息。玩家可以直接在该窗口中输入命令以与模组交互。例如可以键入 help 以查看可用命令的列表。请注意大多数玩家不习惯命令行界面,因此在大多数情况下应该使用游戏内界面来实现面向玩家的功能。
添加自定义命令
每个控制台命令必须具有:
- 玩家键入以调用命令的名称
- 玩家使用 help 命令时显示的描述,这应该解释该命令的作用、如何使用它以及它接受哪些参数,下面有一个示例
- 输入命令时调用的方法
此代码创建了一个简单易懂的 player_setmoney 命令:
public class ModEntry : Mod
{
/*********
** 公共方法
*********/
/// <summary>Entry 入口</summary>
/// <param name="helper">提供 SMAPI 的接口</param>
public override void Entry(IModHelper helper)
{
helper.ConsoleCommands.Add("player_setmoney", "设置玩家的金币数量\n\nUsage: player_setmoney <value>\n- value: 整数值", this.SetMoney);
}
/*********
** 私有方法
*********/
/// <summary>输入 player_setmoney 命令来设置金币数量</summary>
/// <param name="command">命令的名称</param>
/// <param name="args">命令的参数</param>
private void SetMoney(string command, string[] args)
{
Game1.player.Money = int.Parse(args[0]);
this.Monitor.Log($"将你的金币数量设置为 {args[0]}.", LogLevel.Info);
}
}
这里展示了玩家如何使用它:
help player_setmoney > player_setmoney: 设置玩家的金币数量 > > Usage: player_setmoney <value> > - value: 整数值 player_setmoney 5000 > 将你的金币数量设置为 5000.