全站通知:

模组:迁移至游戏本体1.6.16

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

目录

当前页面编写的内容面向模组的开发者。模组玩家请阅读模组:模组兼容性
Blue Chicken.png
即将到来

星露谷物语的下一个版本为 1.6.16,该版本进行了一定的修复和优化,但具体发布日期尚未完全确定。

此页面帮助模组作者升级模组至未来的 1.6.16 版本,并记录了一些更改和新功能。

问答

SMAPI 模组兼容性走势图

该版本有何变化

星露谷 1.6.16 版本主要提供针对模组作者的小型更改和优化,请参阅如下各节。

旧版模组会全面崩溃吗

不。SMAPI 会自动重写大部分涉及更改的代码,因此绝大部分模组应当不受这些更改的影响。某些模组(例如使用了 Harmony)可能需要手动更新。

如何升级您的模组

如下是一个推荐的“快速指南”,用于将模组升级到 Stardew Valley 1.6.16 。

对于 C# 模组
  1. 如果还未升级到 1.6.9,请先升级。
  2. 重新构建此解决方案。
  3. 修复出现的构建错误。您可以在此页面以及先前的迁移指南中搜索相关信息。
  4. manifest.json 中更新模组版本号。
    (某些模组可能会因为运行时出错被添加进 SMAPI 兼容性黑名单,更新版本号也能够移出黑名单,如果缺失修复了错误。)
  5. 测试,以确保模组运行正常。
  6. 粗略浏览此页面,查看可能涉及您的模组的章节。
对于 Content Patcher 包;
  1. 如果还未升级到 1.6.9,请先升级。
  2. 粗略浏览此页面,查看可能涉及您的模组的章节。
对于使用其他框架的内容包;
参见提供框架的模组的文档。如果框架本身已经升级,您往往不需要再另行升级内容包。

数据素材更改

Data/ChairTiles

  • 现在地块集素材名称可以包含英文句号(例如,地块集 ExampleAuthor.ModName_Tilesheet 在新版中会被正确解析为数据键,而在旧版中则会被解析为 ExampleAuthor)。

Data/CookingRecipes

重命名了以下配方键名,使得其与产出物品的名称相同(与其他配方保持一致):

旧名称 新名称
Cheese Cauli. Cheese Cauliflower
Cookies Cookie
Cran. Sauce Cranberry Sauce
Dish o' The Sea Dish O' The Sea
Eggplant Parm. Eggplant Parmesan
Vegetable Stew Vegetable Medley

此改动对于显示的文本并无影响,但引用这些配方键名的模组应更新。

Data/LostItemsShop

新增了一个字段:

字段 效果
RequireCondition (可选)欲将此物品添加到遗失物品商店,需满足的游戏状态查询。其中 Target 代表待检查的玩家。

一般而言,此字段仅可使用确定性查询。

如果您指定了多个条件字段,则仅会使用其中一个,优先级从高到低: RequireMailReceivedRequireEventSeenRequireCondition

Data/PassiveFestivals

新增了一个字段:

字段 效果
InLocations (可选)节日地点。这影响多种游戏逻辑,例如 NPC 对话、帐篷放置限制、天气等。若忽略,默认为 MapReplacements 中的键。

Data/SpecialOrders

  • 新增了一个字段:
    字段 效果
    CanBeCancelled (可选)是否可以取消此特别任务。在合作模式中,任何玩家取消该任务的同时,也会取消其他玩家的任务。默认为 false。

    优化了一个字段:

    字段 效果
    Duration 此字段现在可以设为 "Indefinite",代表特殊任务永不过期。此特殊任务将永远处于激活状态,直到被完成或取消。如果可以,请启用 CanBeCancelled 字段。

Data/Tools

新增了一个字段:

字段 效果
ContextTags (可选)添加到此物品的自定义上下文标签(“自定义”是指在自动添加的标签以外,额外添加的标签)。应当指定为数组。

Data/Weapons

新增了一个字段:

字段 效果
ContextTags (可选)添加到此物品的自定义上下文标签(“自定义”是指在自动添加的标签以外,额外添加的标签)。应当指定为数组。

针对所有模组作者的更改

上下文标签更改

新增如下上下文标签:

上下文标签 物品类型 效果
axe
error_tool
fishing_rod
generic_tool
hoe
lantern
melee_weapon
milk_pail
pan
pickaxe
raft
shears
slingshot
wand
watering_can
工具武器 实现此工具或近战武器的 C# 类型。

原版中镰刀对应 melee_weapon

fish_skip_minigame 任何 如果此物品在玩家钓鱼时上钩,则会被直接钓起,而无需钓鱼小游戏。这用于游戏中的钓鱼垃圾物品,例如海草(现在其有相应的上下文标签)。
ignore_gift_limits 任何可送礼物品 此物品是否不受礼物数量限制(类似于星之果茶)。具有此标签的物品不会计入日/周送礼数量,且在送礼数量达到极限后仍可送出。
is_galaxy_weapon 武器 将此工具标记为银河武器,例如银河之锤银河剑。原版镰刀通过 Data/Weapons 设置此标签。此字段会影响检查银河武器的逻辑(例如银河之魂附魔)。
is_scythe 工具武器 将此工具标记为镰刀。原版镰刀通过 Data/Weapons 来添加此标签。
spawns_butterflies 家具 蝴蝶是否在此家具周围生成,类似于蝴蝶笼
upgrade_level_* 工具武器 工具升级等级。这些字段是基于工具当前等级自动添加的。例如,铜斧头会同时具有 upgrade_level_0(普通斧头)和 upgrade_level_1(铜斧头)标签。

调试命令更改

改进了现有命令:

命令 描述
jump 修复了 NPC 不存在时发生的问题。
perfection 修复了存档已经部分满足某些要求时,运行会出错的问题。

对话更改

  • 新增对话键:
    描述
    “被动节日对话” 地点对话相同,但可将被动节日 ID 用作地点名称。任何被动节日对话优先于同一地点的地点对话。
  • 修复了如下问题:在 1.6.0+ 版本中,如果玩家与 NPC 有至少 2 心友谊,则 <location>_<x>_<y><location>_<dayOfWeek> 对话键永远不会触发。
  • 修复了地点对话无法识别 spring 前缀的问题(先前只能识别 summerfallwinter)。
  • 修复了在多个 $r 选项中复用同一个对话键,导致 $r 定义的回答 ID 无法被正确记录的问题。

事件更改

新增事件命令

新增了如下命令:

命令 描述
addAchievement <achievement ID> 为当前玩家解锁一项成就。其中 <achievement ID> 可以为平台成就 ID(例如 Achievement_LocalLegend)或内部 ID(例如 17 “美食大厨”)。
addActor <x> <y> <direction> 向事件添加角色或玩家。此命令与角色初始化字段大致相同,不同于后者的是,此命令能够用于脚本中的任何位置,而无需置于脚本开头。例如,您可以将此命令搭配 goto 使用,以用于事件变体。
completeQuest <id> 标记一个任务为已完成。如果该任务没有待收集的奖励,也将其从游戏内的“日志”中移除。
命令 描述
gainSkill 新增参数验证。
spriteText 现在 [text] 参数可以为翻译键

鱼塘更改

  • 修复 fish_talk_* 上下文标签的自定义后缀的大小写格式与原版不同的问题(例如,fish_talk_some_example 会错误地产生 someExample 后缀而不是 someExample)。

游戏状态查询更改

添加了新的游戏状态查询:

条件 效果
IS_DEBRIS_WEATHER
IS_GREEN_RAINING
IS_LIGHTNING
IS_RAINING
IS_SNOWING
目标地点的天气是否设置相应的天气字段。例如,IS_RAININGRainGreenRainStorm 天气时为 true。
LOCATION_MINE_DIFFICULTY <location> <min> [max] 给定地点是否位于矿井骷髅洞穴,且其难度等级介于 <min>[max](默认为无穷) 之间,包含端点值。难度 0 代表默认难度,而挑战之神庙或某些特别任务会使难度加一。
LOCATION_MINE_LEVEL <location> <min> [max] 给定地点是否位于矿井骷髅洞穴,且其层数介于 <min>[max](默认为无穷)之间,包含端点值。骷髅洞穴隐式地开始于 121 层(例如,骷髅洞穴第 10 层实际上是矿井第 130 层)。
PLAYER_HAS_PREVIOUS_CONVERSATION_TOPIC <player> <id>+ 指定玩家先前是否经历过指定的若干对话主题中的任何一个。不包括当前的对话主题(除非曾经经历过当前对话主题)。
PLAYER_QUEST_ACTIVE <player> <id>+
PLAYER_QUEST_COMPLETE <player> <id>+
指定玩家是否有任何一个指定的任务 ID 处于活跃状态(PLAYER_QUEST_ACTIVE)或已完成状态(PLAYER_QUEST_COMPLETE)。

物品生成字段更改

  • 新增了物品生成字段:
    字段 效果
    Color (可选)适用于支持颜色的物品类型(例如,物体和衣服)。此字段为生成物品的色调。默认为空。
    IsSpecial (可选)是否将产出的物品标记为特殊的永久物品,即,无法被摧毁或丢弃。默认为 false。
    ObjectIsQuestItem (可选)是否将产出的物品标记为任务物品。这会启用一系列规则,例如禁止将物品作为礼物送出,且在物品丢失时自动找回。默认为 false。
    TempData (可选)设置掉落物信息,该信息不会在合作模式中同步,也不会写入存档。某种意义上这是专用的,如果没有处理它的游戏逻辑或 C# 模组逻辑,此字段不会发挥任何作用。默认为空。

    下面的代码添加了一个自定义标识:

    "TempData": {
        "SomeExampleKey": "Example Value"
    }
    

    设置此字段后,可使用如下的 C# 代码读取此临时信息:

    if (item.TryGetTempData("SomeExampleKey", out object value))
        ...;
    
  • ObjectColor 字段已过时,其被 Color 替代。设置该旧版字段的内容包仍能正常运行(因为游戏会自动将其值传入 Color )。

地图属性更改

  • 新增了地图属性:
    动作 效果
    FarmHouseBed <x> <y> [item ID]
    (仅用于农场或农舍)
    创建农舍或联机小屋时,设置床的初始位置。各参数分别为:
    • <x> <y>:用于放置床的地块坐标
    • [item ID]:(可选)床的物品 ID,可以为限定性或非限定性的。此字段仅接受物品类型为 Bed家具物品。默认为 (F)2048单人床)。

    若忽略,则一张单人床会被放置在地块 (9, 8) 处。

  • 改进了地图属性:
    动作 更改
    FarmHouseFlooring
    FarmHouseFurniture
    FarmHouseStarterGift
    FarmHouseStarterSeedsPosition
    FarmHouseWallpaper
    现在可以在农舍地图中设置这些属性,以覆盖农场地图设置的等价属性。
    FarmHouseFurniture 修复了该属性仅接受数值型物品 ID 的问题。

任务更改

日程更改

  • 新增了日程键:
    语法 概述
    roommate_<festival ID>_<festival day>
    roommate_<festival ID>
    roommate_<season>_<day of month>
    roommate_<day of week>
    roommateJob
    等价于结婚日程的室友版本。

    如果室友 NPC 同时具有 roommate*marriage* 日程,则会优先使用合适的 roommate* 日程。如果不存在适用的室友日程,则会默认使用对应的 marriage* 日程。您可以通过设置 roommate 备用值以免回退到结婚日程。

    marriage
    roommate
    备用值。如果更具体的对话皆不适用,则使用此值。若此备用值被忽略,且没有其他适用的日程,则 NPC 当天不会有任何日程。

触发动作更改

  • 新增触发动作:
    动作 效果
    CompleteQuest <quest ID> 完成玩家日志中所有具有指定 ID 的、活跃中的任务。

其他更改

  • 添加了行程结束动画中 offset 命令的校验。
  • 修复了加载没有建筑内部的存档时的崩溃。
  • 修复了 RejectItem_* 对话出现后会禁用相应 NPC 的正常对话的问题。
  • 修复了 NPC FlowerDanceCanDance 字段 忽略无对话且不可约会的 NPC 的问题。

C#模组的重要更改

实例化静态不再影响模组程序集

分屏模式中,游戏会在不同分屏之间交换静态字段的值(这称为“实例化静态”,instanced statics)。在旧版中,所有带 [InstancedStatic] 属性的静态字段对应的程序集都会被扫描,除了少数被忽略的程序集,例如 MonoGame。

在 Stardew Valley 1.7 中,游戏仅扫描游戏主程序集以提升性能。如果模组仍在使用 [InstancedStatic] 属性,则应当将其替换为 SMAPI 内建的 PerScreen 工具类。

AssetNameUtility

新增的 AssetNameUtility 类提供了处理素材名称的方法:

方法 用途
Normalize 用于正规化素材名称中的路径分隔符的低阶方法。例如:
string assetName = AssetNameUtility.Normalize("Characters/\\/Abigail"); // 返回 "Characters/Abigail"

请考虑使用 SMAPI 的 PathUtilities.NormalizeAssetName 而非此方法,因为前者更彻底。

TryParseTranslationKey 将一个翻译键拆解其为组成部分。示例:
if (AssetNameUtility.TryParseTranslationKey("Strings/UI:Confirm", out string assetName, out string fieldKey, out string error))
   ...;  // assetName: Strings/UI, fieldKey: Confirm, error: null

此方法不会检查素材或键名是否存在;请使用 Game1.content.IsValidTranslationKey 检查存在性。

EventValidator

概览

新增的 EventValidator 类(事件校验器)可用于分析事件脚本,以检测下列问题:

  • 命令名称不是已注册的命令名或别名;
  • 命令参数不符合预期;
  • 基于 validator.CommandValidators 的自定义规则(例如,默认的校验器会检查 goto 的标签是否合法)。

这主要用于事件的单元测试。例如,下述代码会校验一个数据素材中的所有事件:

string assetName = "Data/Events/Farm";
var events = Game1.content.Load<Dictionary<string, string>>(assetName);

var validator = new EventValidator();
foreach ((string key, string script) in events)
{
    foreach (var issue in validator.Validator(assetName, key, script))
        Assert.Fail($"Validation failed for event '{key}' > command '{issue.CommandText}': {issue.SuggestedError}.");
}

命令参数校验

开启参数校验的方法是,在命令的处理器方法中提供 EventArguments 参数,该参数是一种特殊的表达式,用于检查命令参数是否合法。每条命令可以给出多个参数模式,只要其中一个匹配通过,则认为该参数是合法的。如果模式串是空字符串,则要求命令不能有任何参数。

例如,默认的 showFrame 定义如下:

[EventArguments("int", "actor int bool?")]
public static void ShowFrame(Event @event, string[] args, EventContext context)

一个参数模式串由“标记”(token)组成,由空格分开。其中,每个标记都定义了一个参数的格式。例如,actor int bool? 有三个标记,分别代表三个参数:一个演员名称、一个正整数和一个可选的布尔值。

校验器可识别的标记如下:

标记 含义
通用参数类型
bool 一个布尔类型值(truefalse)。
float 一个正数,可以带小数点(例如 50.5)。
-float 一个数,可以带小数点,也可以带负号(例如 5-5-0.5)。
int 一个正整数(例如 5)。
-int 一个整数,可以带负号(例如 5-5)。
string 一段被引号包围的文本,例如 "some words here"。如果参数不带引号,则该标记等价于 word 标记。
word 一个由字母、数字、句点和/或下划线组成的单词(通常为 ID 或类似值)。虽然命令可以接受引号,但它们是多余的,且会被校验器拒绝。
remainder 一个或多个任何类型的参数。
特殊字符串格式
actor 事件格式中的演员名称(例如 AbigailKent?)。
assetName 素材名称,例如 Data/Achievements
direction 面部朝向,可以使用数值型(0)或字符串型(up)。
goToLabel 一个事件标签(参见 gotolabel 事件命令)。这等价于 word,但用于 EventValidator,以校验标签引用。
itemId 物品ID,可以为限定性或非限定性的(例如 (O)MossySoupMossySoup)。
translationKey 翻译键,例如 Strings/Locations:SomeKey
自定义格式
'...' 单引号中可以使用纯文本或正则表达式进行匹配,例如 'continue''[\w-]+'

此外,您可以使用如下的指示器来扩展标记:

  • + 后缀代表此类型的参数可以重复出现多次。例如, int+ 会允许 55 6 7 通过。
  • ? 后缀代表此可选参数,即,此参数可被省略。此标记后面的所有标记都必须也对应可选参数。(也可指定 int+? 这样的标记,代表可选参数可以重复多次)。
  • | 中缀代表此参数可能是多种候选类型之一。例如,int|bool 允许整数或布尔值通过。

内容管理器更改

游戏本体的“内容管理器”(content manager)API 在星露谷 1.7 中发生了变化。这主要影响 LanguageCodeGame1.content 和其他的内容管理器字段。仅使用 SMAPI 的 Content API 的模组不受影响。

特别地:

  • 现在游戏在大多数地方使用 IContentManager 而非 LocalizedContentManager 。这包括像 Game1.content 的字段,像 Game1.content.CreateTemporary() 的方法,等等。新接口也提供了完整的 IntelliSense 文档。
  • 迁移了三种类型:
    类型 更改
    LocalizedContentManager StardewValley 命名空间迁移至 StardewValley.ContentManagement
    LocalizedContentManager.LanguageCode
    LocalizedContentManager.LanguageChangedHandler
    • StardewValley 命名空间迁移至 StardewValley.ContentManagement
    • 移出了嵌套类型(例如,在模组代码中将 LocalizedContentManager.LanguageCode 更改为 LanguageCode)。
  • 并且更改了某些 LocalizedContentManager 成员:
    类型 成员 更改
    LocalizedContentManager CurrentLanguageCode
    CurrentLanguageLatin
    CurrentLanguageString
    CurrentModLanguage
    GetDefaultLanguageCode()
    OnLanguageChange
    SetModLanguage(…)
    它们不再是静态的,因此必须通过一个实例调用之,例如 Game1.content 。举例而言,在模组代码中将 LocalizedContentManager.GetDefaultLanguageCode() 更改为 Game1.content.GetDefaultLanguageCode()

    其中某些成员已被重命名。

    CurrentCulture 已移除(未被使用)。
    CurrentLanguageCode 重命名为 LanguageCode
    CurrentLanguageLatin 重命名为 LanguageUsesLatinFont
    CurrentLanguageString 重命名为 LanguageString
    CurrentModLanguage 重命名为 LanguageModData
    GetCurrentLanguage() 已移除。请使用 LanguageCode 属性代替之。
    OnLanguageChange 重命名为 OnGlobalLanguageChanged

物品更改

  • 新增 IItemDataDefinition.GetContextTags(itemData) 方法,因此自定义 DataDefinition 类可以根据其数据添加上下文标签
  • 修复了 item.CopyFieldsFrom(other) 总将拷贝的堆叠数设为 1 的问题。

工具字段和方法

  • 1.6.16 新增了许多工具方法和字段。例如:
    类型 成员 用法
    PassiveFestivalData CoversDate(…) 判断节日是否在指定日期处于活跃状态。
    GetFestivalLocations() 获取被动节日发生的日期(基于 Data/PassiveFestivals 中的 InLocationsMapReplacements 字段)。
    TryGetLocationReplacement(…) 获取被动节日期间用于覆盖常规地点的临时地点。例如,夜市期间 BeachNightMarket(夜市海滩)会覆盖 Beach (海滩)地点。
    Utility TryGetPassiveFestivalDataForDayHere(…) 获取指定地点内指定日期的被动节日(若有)。这等价于 Utility.TryGetPassiveFestivalDataForDay(…),但也会根据被动节日的 InLocationMapReplacements 字段检查地点是否符合条件。

其他破坏性API更改

(本节旨在当您遇到构建错误时为您提供快速参考;否则无需阅读。)

移除或重命名的类型

下列类在 1.6.16 版本中被移除或重命名:

类型 迁移
BaseEnchantment 重命名为 Enchantment
AxeEnchantment
BaseWeaponEnchantment
FishingRodEnchantment
HoeEnchantment
MilkPailEnchantment
PanEnchantment
PickaxeEnchantment
ShearsEnchantment
WateringCanEnchantment
弃用。现在附魔通过数据绑定到工具。
Events.DiaryEvent 已移除。未被使用。

其他API更改

下列类成员在 1.6.16 中发生了更改:

类型 成员 迁移方法
Boots price 已移除。此字段从未被使用过,因为靴子的价格是动态计算的。
Bush draw(SpriteBatch batch, int yDrawOffset) 已移除。请设置 drawOffset 并调用 draw(SpriteBatch) 以实现相同目的。
yDrawOffset drawOffset 取代,新字段是公开的 Point 型对象。
FishingRod lastCatchWasJunk 重命名为 lastCatchSkippedMinigame 以更准确地描述其实际行为。
NPCDialogueResponse
Response
id
friendshipChange
extraArgument
hotkey
responseText
将字段变更为只读。
responseKey
  • 将字段变更为只读。
  • 先前的 NPCDialogueResponse 会在此字段中存储 NPC 的反应对话键。现在应当使用 npcReactionKey 替换之。
SetHotKey(…) 已移除。现在请通过构造函数设置热键。

其他更改

  • 新增 PlatformAchievementIds 常量。
  • 新增 event.floorSprites 字段用于处理应当绘制在地面上的临时动画贴图(例如,NPC 的影子)。
  • 现在游戏在所有素材名称中均使用正斜杠(例如 Map/Town 而非 Maps\Town)。这应当对大多数模组无影响,因为 SMAPI 已将所有素材名称转换为正斜杠格式。
  • 移除了已损坏的 Lantern 工具,Raft 工具以及相应的逻辑。
  • 修复了 Event.TryGetEventCommandHandler 在其他方法前被调用就会无法加载命令的问题。
  • 修复了机器自动装填第二种原料时,会在箱子中留下空槽位的问题。
  • 修复了将容器型家具(例如梳妆台或鱼缸)放置在桌子上会清空其内容物的问题。

译名更改

中文没有进行任何译名更改。

对XNB的影响

概览

此节概述了星露谷物语 1.6.16 版本中 XNB 文件的更改。不包含新增文件(因为新增文件不会影响现有的模组)或非英语文件中的文本更改。

XNB 模组会受到不成比例的影响,因为:

  1. 它们会替换整个文件;
  2. 它们通过 MonoGame 内容管道加载,该管道对格式变化的容忍度较低;
  3. 它们无法受益于Content Patcher为其内容包提供的兼容性重写。

Content Patcher 一般不受影响(且 Content Patcher 会尝试自动改写内容包)。然而,如果某个内容包直接替换了整个素材文件而不是编辑它,则可能会受到类似于 XNB 模组的影响。

更改的素材

兼容性可以粗略划分为以下四类:

  • ✘ 已损坏”:旧版模组会删除游戏的新增内容或重大更改,或无法正常运行。坚持使用旧版模组可能带来从显示故障到游戏崩溃在内的各种问题,具体取决于游戏如何使用素材。
  • “✘ 影响更新”:旧版模组会删除 1.7 中的小更改(例如,错别字修复)。
  • “✓ 几乎无影响”:旧版模组一般不受影响,除非它们替换了整个素材文件,或编辑了特殊的条目或字段。
  • 空白:旧版模组一般不受影响。
内容素材 1.6.16 更改 对早于 1.6.16 版本模组的影响
XNB 模组 Content Patcher 内容包
Characters/Dialogue/Abigail
Characters/Dialogue/Alex
Characters/Dialogue/Emily
Characters/Dialogue/Haley
Characters/Dialogue/Harvey
移除了未使用的事件对话。
Characters/Dialogue/LeoMainland 添加了丢失的 AcceptGift_(TR)ParrotEgg 对话键(复制自 Characters/Dialogue/Leo)。 ✘ 影响更新
Characters/Dialogue/Lewis summer_Town_57_40 对话中添加了丢失的 $h 肖像。 ✘ 影响更新
Characters/Dialogue/Marnie 修复了大小写问题。 ✘ 影响更新
Characters/Dialogue/MarriageDialogue Rainy]_Day_<NPC> 对话 ✘ 影响更新
Characters/Dialogue/Penny 移除了未使用的事件对话。
Characters/Dialogue/Sam
  • Event_band[1|2|3|4] 对话键合并进 Event_band
  • 移除了未使用的事件对话。
✘ 已损坏 ✓ 几乎无影响
Characters/Dialogue/Sebastian
Characters/Dialogue/Shane
移除了未使用的事件对话。
Data/Buildings
Data/Characters
新增物品生成字段 ✘ 已损坏
Data/CookingRecipes 配方键名更改 ✘ 已损坏 ✓ 几乎无影响
(直到 Content Patcher 添加了运行时迁移)
Data/Events/AnimalShop
Data/Events/ArchaeologyHouse
removeQuest 命令替换为 completeQuest ✘ 已损坏 ✓ 几乎无影响
Data/Events/Beach
  • awardFestivalPrize 命令替换为 addItem
  • removeQuest 命令替换为 completeQuest
✘ 已损坏 ✓ 几乎无影响
Data/Events/Farm
Data/Events/FarmHouse
awardFestivalPrize 命令替换为 addItem ✘ 影响更新 ✓ 几乎无影响
Data/Events/Forest
  • awardFestivalPrize 命令替换为 addItem
  • 修复了具有无效参数的事件命令。
✘ 影响更新 ✓ 几乎无影响
Data/Events/HaleyHouse
Data/Events/Hospital
修复了具有无效参数的事件命令。 ✘ 影响更新 ✓ 几乎无影响
Data/Events/IslandHut 向 "???" 名称添加了引号,以保持一致性。
Data/Events/IslandSouth 修复了具有无效参数的事件命令。 对于 1.6.16 版本:✘ 影响更新
对于 1.7 版本: ✘ 已损坏
1.7 会新增一个 skippable 参数。
✓ 几乎无影响
Data/Events/JoshHouse
  • 更新了烹饪配方键
  • 修复了一个在 1.6.9 以上版本中不显示的乔治对话。
✘ 已损坏 ✓ 几乎无影响
Data/Events/Mine awardFestivalPrize 命令替换为 addItem ✘ 影响更新 ✓ 几乎无影响
Data/Events/Mountain
  • awardFestivalPrize 命令替换为 addItem
  • 修复了具有无效参数的事件命令。
✘ 影响更新 ✓ 几乎无影响
Data/Events/Saloon 修复了具有无效参数的事件命令。 ✘ 影响更新 ✓ 几乎无影响
Data/Events/SamHouse
  • removeQuest 命令替换为 completeQuest
  • 更新了合并的 Characters/Dialogue/Sam:Event_band[1|2|3|4] 对话。
✘ 已损坏 ✓ 几乎无影响
Data/Events/Town
  • awardFestivalPrize 命令替换为 addItem
  • removeQuest 命令替换为 completeQuest
  • 修复了具有无效参数的事件命令。
✘ 已损坏 ✓ 几乎无影响
Data/Events/Woods removeQuest 命令替换为 completeQuest ✘ 已损坏 ✓ 几乎无影响
Data/ExtraDialogue removeQuest 命令替换为 completeQuest ✘ 已损坏 ✓ 几乎无影响
Data/FarmAnimals 移除了恐龙UseFlippedRightForLeft ✘ 已损坏 ✓ 几乎无影响
Data/FishPondData
Data/FruitTrees
新增物品生成字段 ✘ 已损坏
Data/Furniture ✘ 已损坏 ✓ 几乎无影响
Data/GarbageCans
Data/GiantCrops
新增物品生成字段 ✘ 已损坏
Data/hats 重命名 Data/hatsData/Hats ✘ 已损坏
Data/LocationContexts 修复了天气条件的非确定性(non-deterministic)问题。 ✘ 影响更新 ✓ 几乎无影响
Data/Locations ✘ 已损坏 ✓ 几乎无影响
Data/LostItemsShop 向数据模型添加了一个字段 ✘ 已损坏
Data/Machines
Data/Movies
新增物品生成字段 ✘ 已损坏
Data/Objects ✘ 已损坏 ✓ 几乎无影响
Data/PassiveFestivals ✘ 已损坏 ✓ 几乎无影响
Data/Pets 新增物品生成字段 ✘ 已损坏
Data/Quests 移除了未使用的任务 10(“铜矿石”)和 131(“威利的挑战”)。
Data/Shops ✘ 影响更新 ✓ 几乎无影响
Data/SpecialOrders 向数据模型添加了一个字段 ✘ 已损坏
Data/Tools ✘ 已损坏
Data/Weapons ✘ 已损坏 ✓ 几乎无影响
Data/WildTrees 新增物品生成字段 ✘ 已损坏
Data/Weddings
  • 修复了刘易斯跳过婚礼祝词的问题。
  • 使用引号包裹翻译键以保持一致性。
✘ 影响更新 ✓ 几乎无影响
Strings/1_6_Strings awardFestivalPrize 命令替换为 addItem ✘ 影响更新 ✓ 几乎无影响
Strings/Locations
  • removeQuest 命令替换为 completeQuest
  • 使用引号包裹 "???" 名称,以保持一致性。
✘ 已损坏 ✓ 几乎无影响
Strings/StringsFromCSFiles
Strings/StringsFromMaps
Strings/Tools
移除了未使用的翻译。
Strings/UI 合并 PondQuery_StatusRequestPending_* 条目的性别变体。 ✘ 已损坏 ✓ 几乎无影响

移除无用素材

星露谷物语 1.6.16 删除了游戏未使用的素材。模组一般不受此影响。

  • Maps/Bus(people)
  • Maps/busPeople
  • Maps/Island_Secret