维护提醒

BWIKI 全站将于 9 月 3 日(全天)进行维护,期间无法编辑任何页面或发布新的评论。

全站通知:

模组:农舍升级

来自星露谷物语维基
跳到导航 跳到搜索

模组:目录

此页面解释如何自定义农舍升级。这是面向模组开发者的高级指南。

您可以添加自定义的农舍升级。当您设置指定的信件标识时,游戏将自动升级农舍。您可以在农舍地图中的添加如下的新地图属性来添加农舍升级:

适用场景 地图属性 用法
农舍 AdditionalRenovations <renovation>+ 农舍升级的列表,用逗号分隔。每个升级的格式为 <map patch ID> <required mail flag> <map asset if active> <map asset if inactive> [area rectangle]。字段如下:
字段 效果
map patch ID 此地图补丁的唯一 ID。通常与升级名称相似,但可以是任何值,只要没有重名即可。如果一个升级包括多个地图补丁,则每个补丁必须具有不重名的 ID。
required mail flag 检查屋主的信件标识,以决定是否应用该补丁。
map asset if active 当信件标识被设置时应用的地图素材名称,相对于Maps文件夹。
map asset if inactive 当信件标识未设置时应用的地图资源名称,相对于Maps文件夹。
area rectangle (可选)要打补丁的地图区域,格式为 <X> <Y> <width> <height>。如果未设置 <X>,则默认为地图的左上角。如果设置了,则必须指定所有四个值。

例如,下面的 Content Patcher 包将根据自定义的 ExampleAuthor_PineapplesEverywhere_HasRenovation 标识来升级原版中的顶级农舍。注意,TextOperations 用于避免覆盖其他模组添加的升级,{{ModId}} 标识会自动被 Content Patcher 替换为您的模组 ID,以避免与其他模组冲突。

{
    "Format": "2.7.0",
    "Changes": [
        // add renovation
        {
            "Action": "EditMap",
            "Target": "Maps/FarmHouse2, Maps/FarmHouse2_marriage",
            "TextOperations": [
                {
                    "Operation": "Append",
                    "Target": [ "MapProperties", "AdditionalRenovations" ],
                    "Value": "{{ModId}}_KitchenUpgrade {{ModId}}_HasRenovation {{ModId}}_Kitchen {{ModId}}_Empty 0 19 3 3",
                    "Delimiter": "," // if there are already renovations, add a comma before this one
                }
            ]
        },

        // load renovation map patch
        {
            "Action": "Load",
            "Target": "Maps/{{ModId}}_Kitchen",
            "FromFile": "assets/kitchen-upgrade.tmx"
        },

        // load empty map (applied if renovation is inactive)
        {
            "Action": "Load",
            "Target": "Maps/{{ModId}}_Empty",
            "FromFile": "assets/kitchen-upgrade-empty.tmx"
        }
    ]
}