弹性存储框架

弹性存储框架

一个用于自定义存储家具的内容包框架,支持可配置容量、占地大小、渲染、获取方式、Automate支持、整箱搬运,以及公共C#API。

Flexible Storage Framework

Flexible Storage Framework (FSF) 是一个框架,用于通过 SMAPI 内容包为《星露谷物语》添加完全可自定义的存储容器。

内容包可以创建从小箱子、冷却器到橱柜、棚屋、地窖、资源堆或其他特殊存储类型的各种容器——每种容器都有其独特的外观、容量、占用空间、限制、动画和获取方式。

框架本身不添加任何存储容器。 安装一个兼容的内容包(例如可选的 FSF 示例存储包),即可将它们添加到游戏中。

功能特性

  • 自定义存储容量和物品栏布局
  • 大于单格尺寸的存储容器
  • 开关动画效果
  • 可选的玩家选择颜色
  • 自定义物品栏图标和世界精灵图
  • 支持搬移已装填的存储容器
  • 根据容器填充程度显示渐进式视觉效果
  • 使用物品 ID 和上下文标签进行物品过滤
  • 通过技能解锁制作配方
  • 通过商店(如罗宾的木匠铺)出售制作配方
  • 与原版制作和 Better Crafting 兼容
  • 支持 Automate,包括多格存储占地
  • 控制台重载命令,用于内容包开发和测试

物品过滤

存储容器可以限制为仅存放特定类型的物品。

例如,内容包可以创建:

  • 只接受鱼类的冷却器
  • 存放衣物、帽子和靴子的衣柜
  • 存放建筑资源的木材堆
  • 专门存放另一模组添加物品的特殊容器

被过滤的物品将被阻止手动放入、堆叠、快速转移、标准箱子放入以及受支持的自动化操作。

如果在容器已装有不再匹配过滤条件的物品时更改了过滤器,这些物品永远不会被删除或弹出。它们会安全地保留在容器内,仍然可以移除,但无法再次放入。

渐进式存储视觉效果

容器可以随着填充程度改变外观。

成堆的板条箱、麻袋、桶或其他可见存储物可以根据已占用格数、存储物品总数或已占用容量的百分比逐渐增长。这些视觉效果是根据当前内容实时计算的,而非永久保存,因此在添加或移除物品时会自动更新。

安全的内容包处理

FSF 旨在保护你的物品,以防某个存储内容包暂时被移除或加载失败。

在框架保持安装的情况下,受影响的容器会退化为功能正常的原版箱子,而不是消失。它们的内容物和识别数据都会保留。如果缺失的内容包被重新安装,FSF 会恢复该容器原有的外观和行为。

为了最大安全性,在移除游戏模组前请务必备份你的存档。如果你打算永久卸载 FSF 本身,请先清空并移除其自定义容器。

示例存储包

可选的 FSF 示例存储包通过六个即用型容器演示了该框架:

  • 小箱子 — 技能解锁的动画存储
  • 钓鱼箱 — 带有动画、染色和鱼类专用过滤器
  • 农舍衣柜 — 由罗宾出售的成品物品,带有动画、染色和衣物过滤器
  • 存储地窖 — 一个大型 2x2 存储容器,其制作配方由罗宾出售
  • 堆叠板条箱 — 基于物品数量的渐进式存储,无动画或染色
  • 工匠展示柜 — 基于已占用格数的渐进式存储,结合了动画、染色和工匠物品过滤器

示例存储包是可选的,需单独安装。

环境要求

  • 星露谷物语 1.6
  • SMAPI
  • 兼容的 Flexible Storage Framework 内容包以添加存储容器

可选集成:

  • Automate
  • Better Crafting

安装方法

  1. 安装最新版本的 SMAPI。
  2. 下载 Flexible Storage Framework。
  3. 将框架文件夹解压到你的星露谷物语 Mods 文件夹中。
  4. 安装至少一个兼容的 FSF 内容包。
  5. 通过 SMAPI 启动游戏。

你的文件夹结构应类似于:

星露谷物语/
     └── Mods/
          ├── FlexibleStorageFramework/
          └── FSF Example Storage Pack/

兼容性

  • 适用于原版制作系统。
  • 与 Better Crafting 兼容。
  • 支持 Automate 在自定义多格占地上的连接。
  • 过滤后的存储会阻止 Automate 插入不允许的物品。
  • 使用标准 SMAPI 内容包。不需要 Content Patcher。
  • 多人游戏兼容性尚未完全测试。
  • 搬移模式仅限主机。农场工人无法搬起存储容器,主机在多人游戏中的搬移行为尚未验证。

容器如果物品栏行数超出屏幕显示范围,仍可完全正常使用。存储菜单一次最多显示六行,可通过滚动访问额外的行。

更新方法

用新版本替换旧的 Flexible Storage Framework 文件夹。

如果覆盖安装会留下过时文件,请不要这样做。你的已放置容器和存储物品保存在游戏存档中,而非模组文件夹内。

卸载方法

如果只想移除某个单独的内容包,请保留 FSF 已安装状态。其容器会退化为原版箱子并保留内容物。

在永久移除框架本身之前:

  1. 备份你的存档。
  2. 清空所有自定义 FSF 存储容器。
  3. 拾取或移除这些容器。
  4. 保存游戏。
  5. 将 FSF 及其内容包从 Mods 文件夹中移除。

控制台命令

fsf_reload

重新加载所有 FSF 存储定义,无需重启游戏。这在测试或开发内容包时尤其有用。

fsf_list

列出所有当前注册的存储定义及其主要属性。

问题反馈

在报告问题时,请包括:

  • 完整 SMAPI 日志的链接
  • 你的 FSF 版本
  • 受影响内容包的名称和版本
  • 问题发生时你在做什么的描述
  • 在没有其他存储或物品栏模组的情况下问题是否仍然出现

请不要只粘贴红色错误文本。完整的 SMAPI 日志通常包含识别问题原因所需的信息。