构建部件 定制化

构建部件 定制化

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

建筑

此模组允许你对大部分属性进行单独定制,部分属性也可进行全局设置。

功能

  • 自定义单个部件的属性(也可禁用它,重命名或设置描述)
  • 全局设置一些最常用的属性
  • 更改材料属性,从而能够建造得更高更宽
  • 所有配置均与服务器同步,并在文件更改时重新应用

设置全局值

有数个全局列表可在配置值中设置:

  • 穿透一切
  • 允许在地牢中
  • 可以修复
  • 可以移除
  • 灰烬与熔岩免疫
  • 水和雨水伤害免疫
  • 结构完整性

所有列表都是使用逗号分隔的预制件名称列表。如果某个预制件名称被设置在某个列表中,则该值将覆盖单独设置。

如果你希望所有部件都共享该值,则在配置值中设置"AllPieces"。

材料属性

有几个按材料类型分组的配置值。它允许配置:

  • 最大支撑倍数 - 给定材料的部件放置在地面上时(蓝色)的支撑值
  • 最小支撑倍数 - 给定材料的部件应具有多少支撑才能不损坏
  • 垂直稳定性倍数 - 建造更高时需要消耗多少支撑。增加此值可使材料在高度上更稳定。
  • 水平稳定性倍数 - 建造给定材料的较长悬挑梁时需要消耗多少支撑。增加此值可使材料在较长梁上更稳定。

这些值是原版数值的倍数,1.0 表示原版属性。

自动生成的文档

当你打开主菜单或登录到你的世界时,文件“Pieces and properties.md”将在你的模组 dll 旁边生成。

该文件包含你当前游戏中的所有部件以及用于配置部件的标识符。 使用它来查找要开始定制的部件的精确预制件名称。 该文件可以随时使用“bpcdocs”控制台命令手动重新生成。

设置单个值

首先,你需要使用预制件名称和当前属性生成一个模板文件。

使用控制台命令“bpcsave [prefab name]”,它将在模组的 dll 旁边创建一个包含预制件名称的 JSON 文件。

如果你试图为已修改的部件保存文件,你应该在主菜单中进行,因为在游戏中它会被修补并保存其修改后的状态。

你可以根据需要更改该文件中的属性,然后保存它。

编辑后,你可以将该文件移动到模组目录中的任何子文件夹。你也可以将这些文件放置在“\BepInEx\config\shudnal.BuildPiecesCustomized”目录中(首先你需要手动创建它)。或者你可以将它保留在模组 dll 旁边。

在“\BepInEx\config\shudnal.BuildPiecesCustomized”文件夹和插件文件夹中所有子目录的所有 *.json 文件将在登录世界时加载。

每次加载文件时,日志中都会出现类似下面的一行。 [Info :Build Pieces Customized] Found \BepInEx\plugins\shudnal-BuildPiecesCustomized\portal_wood.json

如果你将这些文件放置在服务器上,则其设置将从服务器共享。 如果你想撤销更改,请删除该文件并重新启动游戏。

属性含义

大多数属性不言自明,但有些可能需要更多解释。

  • groundOnly - 如果为 true - 部件只能在地面上建造(例如原版壁炉)
  • cultivatedGroundOnly - 如果为 true - 部件只能在已经被开垦过的地形上建造
  • waterPiece - 如果为 true - 部件在建造时必须接触水
  • clipGround - 如果为 true - 部件可以嵌入地形
  • clipEverything - 如果为 true - 部件可以穿透任何物体
  • noInWater - 如果为 true - 部件在建造时不应接触水
  • notOnWood - 如果为 true - 部件不应接触木材或硬木表面
  • notOnTiltingSurface - 如果为 true - 部件应放置在相对平坦的表面上
  • notOnFloor - 如果为 true - 表面应该是垂直的
  • noClipping - 如果为 true - 部件不应穿透任何东西
  • inCeilingOnly - 如果为 true - 物体应该悬挂在天花板上
  • onlyInTeleportArea - 如果为 true - 物体应放置在靠近发出传送效果区域的物体旁边(目前没有这样的部件)
  • allowedInDungeons - 如果为 true - 物体可以放置在地牢中(内部)
  • spaceRequirement - 到下一个站点扩展物体的最小距离
  • allowRotatedOverlap - 如果为 true - 部件在旋转时可以穿透其他部件
  • vegetationGroundOnly - 如果为 true - 植物应种植在开垦过的地面上
  • blockRadius - 如果在此半径内存在另一个类似的部件,则无法放置该部件(例如树脂收集器)
  • extraPlacementDistance - 放置时到物体的额外距离(目前仅适用于灰烬之地的德拉卡)
  • targetNonPlayerBuilt - 如果为 true - 敌人将攻击该物体,如果它并非由玩家建造(篝火部件将此设置为 false,且 Fulings 不会攻击他们自己的篝火)
  • primaryTarget - 如果为 true - 怪物将首先攻击该物体
  • randomTarget - 如果为 true - 部件可能成为怪物的目标(如果禁用,则物体将被忽略为目标,但仍会受到范围伤害)
  • onlyInBiome - 例如,如果你希望部件能放置在多个生物群落中,比如草原 (1)、黑暗森林 (8) 和平原 (16),你只需要将这些代码数字相加,如 1+8+16 = 25。然后设置“onlyInBiome: 25”。
  • noRoofWear - 水和雨水免疫(如果设置为 true,部件将受到水伤害,如果设置为 false,则不会受到雨水或水伤害)
  • noSupportWear - 部件将不受结构完整性检查的影响(如果设置为 false,则不会因结构支撑不足而损坏)
  • supports - 如果为 true - 部件将能够支撑在其上建造的其他部件。如果为 false - 则你不能建造任何仅接触该部件的东西
  • hitNoise - 击中时会产生多少噪音(你被敌人听到的距离)
  • destroyNoise - 摧毁时会产生多少噪音(你被敌人听到的距离)
  • ashDamageImmune - 如果为 true - 部件将不受灰烬和熔岩伤害的影响
  • ashDamageResist - 部件将只承受 33% 的熔岩伤害,并且在灰烬之地不会着火
  • triggerPrivateArea - 如果启用 - 当物体被攻击时,结界会闪烁(如果玩家在该部件靠近 NPC 时攻击它,NPC 会变得敌对)

安装(手动)

将 BuildPiecesCustomized.dll 复制到你的 BepInEx\Plugins\ 文件夹。

不兼容性

此模组与具有类似目的但已弃用或过时的模组不兼容。

  • Floors are Roofs - 直接将地板列表复制到“水和雨水伤害免疫”配置中
  • Custom Building Material Proterties - 编辑材料属性配置
  • Forever Build - 编辑材料属性或“结构完整性”全局列表或单个部件的 noSupportWear 值
  • Build Piece Tweaks - 目的相似,但未针对新的灰烬之地相关属性进行更新
  • Infinity Hammer - 部件更改性质相似,因此结果不可预测

列表中的所有模组能做到的事情,此模组也都能做到。

配置

处理配置的最佳方式是使用 Configuration Manager。 或 Official BepInEx Configuration Manager

捐赠

Buy Me a Coffee

Discord

Join server