定制建筑部件

创作者: shudnal
已更新:2024-05-22 11:04:22
119KB

前置 MOD

使用 定制建筑部件 时将自动安装

关于此 MOD

自定义单个建筑部件。设置全局属性,如雨水、水、灰烬、岩浆伤害免疫。自定义全局材质类型属性。

定制建筑构件

自定义单个英灵神殿建筑部件,全局应用通用属性,并调整结构材料属性。

功能

  • 自定义单个部件的属性,包括启用状态、名称、描述、需求条件、放置规则、耐久度、目标选择以及锤子使用标签。
  • 通过预制件列表全局应用通用属性。
  • 更改材料支撑属性以建造更高或更远的建筑。
  • 从插件目录或 BepInEx/配置/shudnal.自定义建筑部件.
  • 同步服务器控制的配置,并在配置文件更改时重新应用更改。

锤子使用标签

瓦尔海姆1.0使用 使用标签标记 主锤子建造菜单过滤器。BuildPiecesCustomized 不会重新分配旧版 类别 数值。

单件文件可以定义 用法标签:

使用标签:- 建筑 - 门

使用标签 是一个完整的替代品:

  • 如果 使用标签 如果省略,棋子保留其原有的使用标签。
  • 如果 使用标签 若存在,列出的内置标签将替换当前标签集。
  • 用途标签: [] 清除所有使用标签。
  • 加载时标签名称不区分大小写。
  • 仅限原版英灵神殿 使用标签标记 支持名称。不支持数字掩码和其他模组添加的自定义运行时标签。
  • 不支持的定制标签将保持不变,而 使用标签 被省略。设置 使用标签 仅用内置标签替换掩码。

生成的 碎片与属性.md 文件包含当前支持的标签名称、它们在游戏中的本地化名称,以及每个已发现棋子的当前标签。

批量使用标签配置

对于集中覆盖,创建 使用标签.yaml, 片段用途标签.yml,或 碎片使用标签.json.

一个文件可以同时配置两个方向的标签:

碎片:wood_door:- 建筑 - 门 custom_piece:[] 标签:防御:- h_drawbridge01 - hayzestake_01

这两个部分的语义不同:

  • 碎片: 预制体 -> 标签完全替换该内容的用途标签列表。
  • 标签: 标签 -> 预制体该标签会添加到每个列出的作品中,同时不会移除其其他标签。

批量使用标签文件的优先级高于单个片段文件。处理顺序为:

  1. 单件 用法标签.
  2. 批量 碎片 替换。
  3. 批量 标签 加成。

这允许棋子在以下情况下获得完整的标签集: 碎片 然后从以下来源接收额外的共享标签 标签 在同一文件中。

如果发现多个固定名称的批量文件,则使用配置搜索优先级中的最后一个文件。配置目录在插件目录之后处理。

老 分类片段.json / 不再支持 YAML 格式。

正在设置全局值

主配置中设置了几个全局列表:

  • 全部剪辑
  • 允许在地下城中使用
  • 可移除
  • 灰烬与熔岩免疫
  • 大雪免疫
  • 水和雨水伤害免疫
  • 结构完整性
  • 是屋顶
  • 是否漏水(无顶棚)
  • 已禁用部件

所有列表均为逗号分隔的预制件名称。如果某个预制件存在于全局列表中,则该值将覆盖对应的单独设置。

使用 所有棋子 将受支持的全局规则应用到每个部件。 已禁用棋子 不使用 所有碎片.

材质属性

材料组提供以下倍率:

  • 最大支援倍率——着陆时提供的支援。
  • 最低支撑倍率——部件断裂前的最低支撑。
  • 垂直稳定性倍率 - 增加或降低垂直建造稳定性。
  • 水平稳定性倍率 - 增加或减少建筑的横向稳定性。

值为 1.0 保持原版材质行为。

自动生成的文档

当主菜单或世界初始化时, 碎片与属性.md 生成于 BepInEx/配置/shudnal.BuildPiecesCustomized.

它包含:

  • 已支持 使用标签 以及它们本地化的铁锤类别名称。
  • 批量使用标签文件格式与优先级规则。
  • 其他可配置属性支持的枚举标识符。
  • 所有已发现的建筑组件预制体名称。
  • 已列出每个部分的当前用途标签。

随时使用以下方式重新生成:

bpcdocs

设置单独数值

为一件生成模板:

bpcsave [prefab name]

使用部分名称或通配符为多件物品生成模板:

保存所有 [预制体部分名称或通配符 *]

文件创建于 BepInEx/配置/shudnal.建筑部件自定义 默认使用JSON,或在以下情况使用YAML: 将棋子数据保存为 YAML 已启用。

你可以移除所有不想覆盖的属性。缺失的属性会保留从部件预制体捕获的默认值。

配置文件可以放在插件目录下的子目录中,或者 BepInEx/配置/shudnal.BuildPiecesCustomized根据 ConditionalConfigSync 策略,放置在服务器上的文件会同步到客户端。

实时配置重载与构建菜单兼容性

仅 JSON、YAML 和 YML 文件会触发热重载。文档、日志、包清单和已过时 类别 文件会被忽略。短时间内到达的更改会合并为一次重载,经过短暂静默期后执行。重写相同配置不会重新应用各个部分,也不会再发布一个相同的本地配置快照。

无法读取或格式错误的文件会保持之前完整的配置继续生效。加载器会对临时性读取失败重试三次,然后记录失败日志;修复该文件后会触发另一次尝试。删除配置文件或使用空对象可移除其覆盖项。空文件不会被视为有效的替换文件。

该模组会先更新预制件和现有实例,然后刷新玩家的建造列表。只有当有效部件集、名称、描述、用途标签、工作站需求或资源需求发生变化时,才会重建已打开的建造菜单。这包括材料筛选器使用的已启用部件集,以及可用部件数量保持不变的变化。当前标签页和仍然有效的标签会通过原生 UI 刷新路径保留。

已禁用棋子 筛选可用、已启用和旧版类别视图,而不从工具的共享注册表中删除预制件。当禁用列表为空时,其周期性可用性钩子会立即返回。原版可用性更新不会被阻止或限流。

自定义锤子仍然需要其工具预制体名称 常规 -> 工具列表 使其预制件表参与批量更新和导出流程。共享部件表在处理时不会产生重复的预制件条目。该模组不会覆盖自定义分类存储、收藏、最近使用部件的持久化数据,也不会覆盖游戏的放置、移除或修复方法。

默认站点引用和完整的原始资源需求在内部保留。无效的资源字符串或未解析的资源预制体将保持现有的完整成本不变,而不会应用部分列表。一个空的 资源 列表仍是一个显式的零开销覆盖。未知的非空站点标识符会被忽略并发出警告;空站点字符串仍是移除该要求的显式方式。

在已加载的世界中禁用该模组,会为更新流程处理过的部件恢复已捕获的标量属性。碰撞体屋顶/渗漏标签的更改仍保留文档中所述的重新启动要求;它们并非用于回滚其他模组更改的通用机制。

已选属性备注

大多数属性不言自明。以下是一些有用的细节:

  • 使用标签 - 内置铁锤使用标签。该列表将完全替换当前标签;空列表将清除它们。
  • 仅限地面 - 棋子只能建在地面上。
  • 仅限耕地 - 棋子只能建造在已开垦的地形上。
  • 水块 - 建造时需接触水域。
  • 贴地 - 部件可能穿入地形。
  • 全部裁剪 - 部件可穿透其他物体。
  • 不在水中 - 建造时部件不能接触水。
  • 不在木头上 - 零件不能放置在木质或硬木表面上。
  • 不在倾斜面上 - 该部件需要相对平坦的表面。
  • 不在楼层上 - 部件需要垂直表面。
  • 无裁剪 - 棋子不能穿过其他物体。
  • 仅限天花板 - 碎片必须从天花板悬挂下来。
  • 仅限传送区域 - 棋子只能放置在传送效果区域内。
  • 允许在地下城使用 - 此部件可在地牢内部建造。
  • 允许进入深雪 - 该部件可放置在通常无法放置的深北深雪区域。
  • 需要深雪 - 棋子只能放置在深北的深雪中。
  • 空间需求 与其他车站延伸段的最小距离。
  • 允许旋转重叠 - 拼图旋转时可以与其他拼图重叠。
  • 仅地面植被 - 植被需要耕地。
  • 阻挡半径 - 阻止在此半径内放置另一个同类棋子。
  • 额外放置距离 - 增加玩家与放置位置之间的距离。
  • 非玩家建造目标 - 即使物体不是玩家建造的,敌人也可以将其作为目标。
  • 主要目标 - 敌人会优先攻击该目标。
  • 随机目标 - 对象可被选为随机敌方目标。
  • 仅限生物群系 - 游戏使用的生物群系位掩码。
  • 无屋顶磨损 - 控制雨水和水蚀效果。
  • 屋顶检查偏移 - WearNTear 屋顶检测所使用的偏移量。
  • 不支持磨损 - 控制结构完整性的磨损。
  • 雪伤害免疫 - 免疫大雪伤害。
  • 支持 -控制其他棋子能否使用该棋子作为支援。
  • 命中噪音 - 被击中时产生的噪音。
  • 摧毁噪音 - 被摧毁时产生的噪音。
  • 灰烬伤害免疫 - 免疫灰烬和岩浆伤害。
  • 灰烬伤害抗性 - 减少岩浆伤害和灰烬之地着火抗性。
  • 触发私人区域 - 附近的守卫在物体受到攻击时会做出反应。
  • requiredPersistentEvent - WearNTear 事件伤害逻辑使用的持久事件标识符。
  • 在事件内时受到伤害 - 启用配置的持久事件伤害条件。
  • 事件伤害 - 由持续事件规则施加的基础伤害。
  • 伤害偏差事件 - 应用于持久事件伤害的随机偏差。
  • 所需生物群系 - WearNTear 需要生物群系遮罩。
  • 外域必需生物群系伤害 - 部件在外部时造成的伤害 所需生物群系.

安装

复制 BuildPiecesCustomized.dll 至 BepInEx/plugins 或安装Thunderstore包。

不兼容

该模组与直接修补相同部件属性的已弃用或过时模组不兼容。

  • 楼层即屋顶——使用水损和屋顶全局设置。
  • 自定义建筑材料属性 - 使用材料属性设置。
  • 永远建造 - 使用材料属性或结构完整性设置。
  • 建筑部件微调——重叠部件自定义。

配置界面

推荐的配置管理器:

依赖项

ConditionalConfigSync 是一个独立依赖项,不得打包到此模组包中。

捐赠

请我喝杯咖啡

Discord

加入服务器

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!