summaryrefslogtreecommitdiff
path: root/src/SMAPI/Framework/CommandManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI/Framework/CommandManager.cs')
-rw-r--r--src/SMAPI/Framework/CommandManager.cs13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/SMAPI/Framework/CommandManager.cs b/src/SMAPI/Framework/CommandManager.cs
index ceeb6f93..eaa91c86 100644
--- a/src/SMAPI/Framework/CommandManager.cs
+++ b/src/SMAPI/Framework/CommandManager.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using StardewModdingAPI.Framework.Commands;
namespace StardewModdingAPI.Framework
{
@@ -27,7 +28,7 @@ namespace StardewModdingAPI.Framework
/// <exception cref="ArgumentNullException">The <paramref name="name"/> or <paramref name="callback"/> is null or empty.</exception>
/// <exception cref="FormatException">The <paramref name="name"/> is not a valid format.</exception>
/// <exception cref="ArgumentException">There's already a command with that name.</exception>
- public void Add(IModMetadata mod, string name, string documentation, Action<string, string[]> callback, bool allowNullCallback = false)
+ public CommandManager Add(IModMetadata mod, string name, string documentation, Action<string, string[]> callback, bool allowNullCallback = false)
{
name = this.GetNormalizedName(name);
@@ -45,6 +46,16 @@ namespace StardewModdingAPI.Framework
// add command
this.Commands.Add(name, new Command(mod, name, documentation, callback));
+ return this;
+ }
+
+ /// <summary>Add a console command.</summary>
+ /// <param name="command">the SMAPI console command to add.</param>
+ /// <param name="monitor">Writes messages to the console.</param>
+ /// <exception cref="ArgumentException">There's already a command with that name.</exception>
+ public CommandManager Add(IInternalCommand command, IMonitor monitor)
+ {
+ return this.Add(null, command.Name, command.Description, (name, args) => command.HandleCommand(args, monitor));
}
/// <summary>Get a command by its unique name.</summary>