自定义配偶庭院 封面

自定义配偶庭院

星露谷物语角色

允许你通过内容包为任意原版或自定义 NPC 自定义室外配偶区域的位置和所使用的图块。

预览

前置 Mod

详情

注意:此 mod 现已过时,请改用 Custom Spouse Patio Redux。

此 mod 最初是 Multiple Spouses 的一部分,但它似乎对任何配偶都能普遍派上用场,所以我把它移到了这个新 mod 中(并在此过程中让它变得更好!)。

这个 mod 只是一个简单的框架。它本身不会做任何事情;你必须为它创建并安装一个内容包。或者你也可以去缠着你自定义 NPC 配偶的作者,让他们为自己的 NPC 制作一个自定义配偶庭院内容包。

现在有了 Custom Spouse Patio Wizard,即使你完全不懂 JSON,也能创建简单的配偶庭院。 把它和本 mod 一起安装,然后按照那个 mod 页面上的说明操作。该向导不允许你进行高级自定义,但一旦你用它设置好了简单的图块表,之后就可以编辑 json 文件来随意调整。

注意:如果你想获得本 mod 的帮助,请访问我的 Discord 服务器。我无法在 Nexus 的帖子中帮助你,那太别扭了。

简单用法

对于单个原版配偶,你可以改编文件标签页中的示例内容包。安装本 mod,安装该内容包,然后编辑内容包的 content.json 文件,它看起来是这样的:

{
    "areas": {
        "Emily": {
            location:
            {
                "X": 69,
                "Y": 7
            },
            "useDefaultTiles": true,
            "useTilesOf": "Emily"
        }
    }
}

这会告诉该 mod 在 73,11 图块处为 Emily 创建配偶区域,并使用她默认的庭院区域图块。只需修改名称和位置坐标即可适配你的配偶。

useTilesOf 是一个可选键,允许你指定要使用的另一组默认图块。只需把它改成其他某个原版配偶的名字即可。

原版配偶区域为 3x3 图块,而 "location" 指的是左上角的图块。

你也可以指定自定义 NPC 偏移量;对于自定义 NPC 你必须这样做——原版配偶在配偶区域内有默认位置,但你也可以覆盖它们。使用 npcOffset 并配上 X 和 Y 值,就像 location 一样(参见下方 Sophia 的示例)。

要查找图块坐标,你可以使用 Debug Mode。你可以在 https://smapi.io/json 检查你的 json。

进阶用法

如需更复杂的示例——支持自定义图块、自定义图块表和多个配偶庭院区域——请查看示例内容包的 content_complex.json(用它替换 content.json,或者直接把内容复制过去)。该文件包含多个配偶(包括 Sophia)的配偶区域,并从 png 加载一个自定义图块表:

{
    "areas": {
        "Emily": {
            "location": {
                "X": 73,
                "Y": 11
            },
            "useDefaultTiles": true,
            "useTilesOf": "Emily"
        },
        "Haley": {
            "location": {
                "X": 74,
                "Y": 7
            },
            "useDefaultTiles": true,
            "useTilesOf": "Haley"
        },
        "Sophia": {
            "location": {
                "X": 77,
                "Y": 11
            },
            "useDefaultTiles": false,
            "specialTiles": [
                {
                    "location": {
                        "X": 77,
                        "Y": 12
                    },
                    "layer": "Front",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 0
                },
                {
                    "location": {
                        "X": 77,
                        "Y": 13
                    },
                    "layer": "Buildings",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 4
                },
                {
                    "location": {
                        "X": 78,
                        "Y": 13
                    },
                    "layer": "Buildings",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 6
                },
                {
                    "location": {
                        "X": 79,
                        "Y": 13
                    },
                    "layer": "Buildings",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 7
                },
                {
                    "location": {
                        "X": 80,
                        "Y": 12
                    },
                    "layer": "Front",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 1
                },
                {
                    "location": {
                        "X": 80,
                        "Y": 13
                    },
                    "layer": "Buildings",
                    "tilesheet": "CustomTileSheet",
                    "tileIndex": 5
                }
            ],
            "npcOffset": {
                "X": 1,
                "Y": 2
            },
            "npcAnimation": "Sophia_Farm1"
        }
    },
    "tileSheetsToAdd": {
        "CustomTileSheet": {
            "path": "assets/custom_tile_sheet.png",
            "width": 4,
            "height": 2,
            "tileWidth": 16,
            "tileHeight": 16
        }
    }
}

这会告诉该 mod 为 Sophia 执行以下操作:

  1. 在 77,11 处创建她的配偶区域
  2. 不要为她的配偶区域使用默认图块(反正她也没有默认图块),
  3. 在给定的坐标、给定的图层上,使用给定的图块表名称添加一组特殊图块(见下方的“自定义图块表”)
  4. 将 Sophia 放置在距 77,11 偏移 1,2 的位置(即 78,13)
  5. 播放动画列表中名为 "Sophia_Farm1" 的动画(这是由 SVE 提供的动画)。

配偶区域只会对与农场主结婚的 NPC 显示,所以为你的 NPC 创建内容包并无坏处,以防玩家与他们结婚。

自定义图块表

上面的示例还从内容包中包含的自定义 png 添加了一个名为 "CustomTileSheet" 的自定义图块表,从而可以添加自定义图块图形。

自定义图块表需要以图块为单位指定宽度和高度,因此该图块表宽 64 像素(4 x 16)、高 32 像素(2 x 16)。要引用自定义图块中的图块索引,请从左到右计数,从 0 开始。因此示例图块表中的图块索引为:

0 1 2 3

4 5 6 7

你可以查看示例内容包中的 png 文件,并将其与秋季截图中 Sophia 的配偶区域进行对比,以便更清楚地理解。

你也可以在图块表的路径中使用 {season} 标签,例如

"path": "assets/custom_tile_sheet_{season}.png",

然后为四个季节分别使用四个独立的 png 文件,即:

assets/custom_tile_sheet_spring.png

assets/custom_tile_sheet_summer.png

assets/custom_tile_sheet_fall.png

assets/custom_tile_sheet_winter.png

如果你正在使用 Multiple Spouses,请也使用本 mod,因为我在最新版本中已从那个 mod 中移除了此功能。

技术信息:

需要 SMAPI,使用 Harmony。

兼容 Mod Updater,可自动更新。

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

如果你想抱怨、寻求帮助,或是帮我测试我的 mod,可以访问我的 Discord 服务器。

我所有《星露谷物语》mod 的列表可在 https://www.nexusmods.com/stardewvalley/articles/895 查看。