# SC-BLDG-Mod **Repository Path**: tp16b/sc-bldg-mod ## Basic Information - **Project Name**: SC-BLDG-Mod - **Description**: 一个支持模板导出与生成流程的生存战争建筑生成框架。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README  # SC-BLDG-Mod 生存战争**构千形**模组,一个面向 Survivalcraft API 1.9 的建筑模板导出、手动放置与规则生成框架。 ## 项目内容 - `BuildingGeneration/`:核心模组工程,包含模板读取、导出 UI、手动放置 API、规则驱动生成。 - `docs/BuildingGenerationPromo.md`:项目宣传文档,适合对外介绍模组定位与价值。 - `docs/BuildingGenerationFrameworkRequirements.md`:需求文档。 - `docs/BuildingGenerationFrameworkTechnicalDesign.md`:技术设计文档。 - `docs/BuildingGenerationBusinessModWorkflow.md`:业务模组接入流程。 - `docs/BuildingGenerationRoadmap.md`:基于当前实现的后续演进路线图。 ## 当前能力 - 导出选区为 `.bldg` 建筑模板。 - 运行时读取 `.bldg` 模板。 - 通过 `BuildingGenerationApi.TryPlace(...)` 手动放置模板。 - 从业务模组 `Assets/BuildingGeneration/Templates//` 加载随模组发布的模板。 - 从业务模组 `Assets/BuildingGeneration/Rules//` 加载建筑生成规则。 - 支持地表与水下海床生成。 - 内置示例扩展:`Builtin.MinOriginY` 条件、`Builtin.GenerationMarker` 后处理器。 - 导出界面已支持中英文文本、本地化默认中文、输入防穿透处理。 ## 目录约定 模板资源: `Assets/BuildingGeneration/Templates//.bldg` 规则资源: `Assets/BuildingGeneration/Rules//.xml` 开发期导出目录: `ModsManager.DocPath/BuildingGeneration/Exports//` ## 构建环境 - .NET `net10.0` - Survivalcraft API `1.9.0.0` - NuGet 依赖: - `SurvivalcraftAPI.Engine` - `SurvivalcraftAPI.EntitySystem` - `SurvivalcraftAPI.Survivalcraft` API 源码参考位置: `D:\RiderProjects\SurvivalcraftApi` ## 构建方式 在 `BuildingGeneration/` 目录执行: ```powershell $env:DOTNET_CLI_HOME='D:\RiderProjects\sc-bldg-mod\.dotnet-home' $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE='1' dotnet build .\BuildingGeneration.csproj -p:RunPostBuildEvent=Never ``` 默认会生成: `BuildingGeneration/bin//[API1.9]BuildingGeneration.scmod` ## 业务模组接入 默认接入不需要写注册代码: 1. 在业务模组中声明对 `Tp.BuildingGeneration` 的依赖。 2. 将稳定模板放入 `Assets/BuildingGeneration/Templates//`。 3. 将规则 XML 放入 `Assets/BuildingGeneration/Rules//`。 4. 用 `BuildingGenerationApi.TryPlace(...)` 手动验证模板,再接规则自动生成。 只有在需要自定义条件、后处理器、方块旋转适配,或把资源放到默认目录之外时,才需要额外写接入代码。 详细流程见: [docs/BuildingGenerationBusinessModWorkflow.md](https://gitee.com/tp16b/sc-bldg-mod/blob/master/docs/BuildingGenerationBusinessModWorkflow.md)