
自定义成就
允许你使用内容补丁向游戏中添加自定义成就。
查看大图这是一个简单的成就框架,可在收藏选项卡中添加自定义成就:
自定义成就可以使用如上图所示的自定义图标,或使用默认的金色星星。
创建自定义成就
使用 Content Patcher 创建成就。
成就数据通过路径 custom_achievements_dictionary 添加到字典中,例如:
{
"Format": "1.23.0",
"Changes": [
{
"Action": "EditData",
"Target": "custom_achievements_dictionary",
"Entries": {
"FarmingLevelTen": {
"ID": "FarmingLevelTen",
"name": "专业农民",
"description": "达到耕种等级十级。",
"iconPath": "LevelAchievementsFarmingLevelTen",
"drawFace": true,
"achieved": false
}
},
"Update": "OnDayStart, OnLocationChange, OnTimeChange"
},
{
"Action": "EditData",
"Target": "custom_achievements_dictionary",
"Fields": {
"FarmingLevelTen": {
"achieved": true
}
},
"When": {
"Query: {{SkillLevel:Farming}} > 9": true
},
"Update": "OnDayStart, OnLocationChange, OnTimeChange"
},
{
"Action": "Load",
"Target": "LevelAchievementsFarmingLevelTen",
"FromFile": "assets/FarmingLevelTen.png"
}
]
}
这会在耕种技能等级大于 9 时将 achieved 字段设为 true。
当 Content Patcher 根据 Update 字段更新 achieved 字段时,会触发成就通知。
自定义图标
图标路径可以省略,以使用默认星星。否则,必须像上述示例一样由你的模组提供 PNG 文件。
默认情况下,成就的星星面部由游戏随机选择。如果设置 drawFace 为 false,则只会显示你的图标,不添加额外面部。
如果你使用图块集,还可以选择指定一个 iconRect 矩形,包含 X、Y、宽度和高度字段,以仅使用源 PNG 的一部分。
技术细节
需要 SMAPI 和 Content Patcher,使用 Harmony。
兼容 Mod Updater 以实现自动更新。
代码位于 https://github.com/aedenthorn/StardewValleyMods。
如果你想投诉、寻求帮助或帮助我测试模组,可以访问 我的 Discord 服务器。
我所有星露谷物语模组的列表可在 https://www.nexusmods.com/stardewvalley/articles/895 找到。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。