启动器抽屉

启动器抽屉

一个简单的启动器抽屉,用于快速触发模组操作或按键绑定。

用户界面

概述

本模组在日期/时间/金钱框下方添加了一个方便的滑动抽屉式自定义操作列表,主要作为游戏内新增快捷键的替代方案。点击天气与季节图标之间的圆形按钮,或按自定义快捷键(默认 NumPad 5),即可切换抽屉。

图片

如果你安装了会向日期/时间/金钱框添加内容的模组,并希望抽屉在其他位置打开,可在配置中将“自定义位置”(Custom Position)设为 true。默认情况下,抽屉会绘制在该框旁边(见截图),但你也可以在配置中设置自定义的 X、Y 坐标。

默认情况下,列表会随着更多模组使用而不断变长。如果你觉得列表过大,可在配置中设置“最大条目数”(Max Entries),从而通过鼠标滚轮滚动列表。

你还可以通过悬停并按下隐藏快捷键(默认鼠标中键)来移除特定条目。这将把它们添加到 config.json 的列表中;若要恢复它们,需要手动从该列表中移除。


添加条目

通过配置文件

配置文件有一个可编辑的列表,用于触发自定义按键组合。默认有一个条目:

GMCM|Generic Mod Config Menu|F12

条目由管道符号"|"分隔,依次提供名称、描述和要按下的键。

你可以用逗号分隔指定多个按键,例如:

GMCM|Generic Mod Config Menu|LeftControl,F12

通过 Content Patcher

你可以使用 Content Patcher 添加触发按键的条目,例如:

{
    "Format": "2.9.1",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "aedenthorn.LauncherDrawer/dict",
            "Entries": {
                "MyModId": {
                    "Name": "My Mod",
                    "Description": "Press me!",
                    "Keybind": "F11"
                }
            }
        }
    ]
}

你也可以使用 Content Patcher 触发操作,例如:

{
    "Format": "2.9.1",
    "Changes": [
        {
            "Action": "EditData",
            "Target": "aedenthorn.LauncherDrawer/dict",
            "Entries": {
                "MyModId": {
                    "Name": "My Mod",
                    "Description": "Press me!",
                    "Action": "MyMod_OpenMenu"
                }
            }
        }
    ]
}

通过 C#

你可以通过 C# 添加自定义操作,例如:

private void Content_AssetRequested(object sender, AssetRequestedEventArgs e)
{
    if (!Config.ModEnabled)
        return;
    if (e.NameWithoutLocale.IsEquivalentTo("aedenthorn.LauncherDrawer/dict"))
    {
        e.Edit((IAssetData data) =>
        {
            data.AsDictionary<string, Dictionary<string, object>>().Data["aedenthorn.AllChestsMenu"] = new()
            {
                { "Name", SHelper.Translation.Get("chests") },
                { "Description", SHelper.Translation.Get("open-chests") },
                { "Action", new Action(() => OpenMenu()) }
            };
        });
    }
}

技术信息

需要 SMAPI。

实现了 Generic Mod Config Menu 接口,可在游戏内更改配置设置。

代码位于 https://github.com/aedenthorn/StardewValleyMods。

我在星露谷物语上的所有模组列表可在 https://www.nexusmods.com/stardewvalley/articles/895 找到。