模组:製作指南/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.