Skip to content
游戏世界地形纹理 · 机制与百科资料

采矿与矿物 ​

采矿是《生存战争》中获取资源的核心环节。不同方块需要用对应的工具才能高效开采,矿物的分布深度和挖掘韧性也各不相同。本页整理了挖掘机制、矿物分布的核心数据。关于具体的工具属性和武器数值,请参阅工具与武器。对于联机版快照新地形的矿石生成机制,参阅联机版新地形。

挖掘机制 ​

挖掘机制由三个核心参数控制:挖掘方式决定了用哪种工具效率最高,挖掘韧性决定了方块被"敲碎"需要多久,工具等级则决定了能不能挖到东西。理解这三者的关系,是避免"徒手挖钻石"等低效操作的基础。

挖掘方式 ​

游戏中的挖掘方式有4种:徒手挖掘、用锹挖掘、用镐挖掘、用斧挖掘。

每个方块有一个挖掘增益属性,表示用哪种工具挖掘效率最高。如果用不对应的工具挖掘,速度会大幅降低。

挖掘韧性 ​

挖掘韧性表示方块的"硬度",值越大挖掘所需时间越长:

方块挖掘韧性挖掘增益
雪1锹
泥土/草地/耕地1.5锹
沙子1.5锹
冰4镐
木板5斧
石灰岩12镐
砂岩12镐
煤矿石/铜矿石14镐
花岗岩/圆石14镐
砖块14镐
石砖18镐
铁矿石/硫磺矿石/钻石矿石/锗矿石/玄武岩22镐
基岩Infinity镐(不可破坏)

通俗解释:挖掘韧性就像方块的"血量条",玩家每帧挖掘行为会增加 工具力量 / 韧性 的进度,进度达到1时方块就碎裂。韧性越高、工具力量越低,挖得就越慢。

工具等级要求 ​

每个方块有 挖掘等级 属性,表示挖掘该方块至少需要的工具等级。如果手持工具的 工具等级 低于此值,挖掘后不会掉落任何物品。

不同于Minecraft等其他同类型的游戏,目前游戏中所有矿石和常见方块的 挖掘等级 均为 0,意味着徒手也能挖掘并掉落物品——只是速度极慢。

方块要求工具等级
绝大多数方块(泥土、石头、矿石等)0(徒手即可)
基岩Infinity(不可破坏)

矿物 ​

矿石是获取金属等高级材料的唯一来源。不同矿石的韧性、掉落数量和经验值各异,分布深度也有规律可循。掌握矿石数据和分布提示,可以帮助你规划高效的采矿路线。

矿石数据 ​

各种矿石的基础数据,按方块索引排列:

矿石id掉落物掉落数量经验挖掘韧性挖掘增益
煤矿23煤炭3114镐
铜矿24孔雀石3114镐
铁矿25铁矿石2122镐
硫磺矿26硫磺3122镐
钻石矿27钻石2322镐
锗矿28锗矿石2122镐
硝石矿29硝石2112镐

规律:

  • 煤矿和铜矿最容易挖掘(韧性14),硝石次之(12),其余矿石均为22
  • 钻石矿提供3点经验,是其他矿石的3倍
  • 铁矿、钻石矿、锗矿每次只掉落2个,其余为3个,掉落数量是固定的

生成机制 ​

矿物并非均匀分布,而是以"矿脉"形式成群出现。理解生成规律,能让你在正确的深度和岩石类型中高效寻矿。

世界生成时,地形生成器会为每个区块(16×16)及其周围8个邻区生成矿脉。所有矿石的生成数量都与山脉因子挂钩——山区附近矿物更丰富。

分布提示 ​

本小节来自游戏内帮助文本,根据 帮助手册 中的矿物描述:

  • 石灰岩:地表附近、水域附近生成,较脆,甚至可徒手开采
  • 砂岩:干旱沙地下方,较脆,可徒手开采,内含硝石矿脉
  • 花岗岩:地下深层,较硬
  • 玄武岩:深层地下火山岩,最硬,内含硫磺和铁矿脉,更深处偶见钻石

各矿石生成参数 ​

矿石基础矿脉数/区块生成深度伴生岩石矿脉规模估算
煤矿石5~8Y=5~200花岗岩中(4~12条子脉×3~8块)
铜矿石6~8Y=20~65花岗岩中(4~10条子脉×3~6块)
铁矿石5~7Y=2~40玄武岩中小(3~7条子脉×3~6块)
硝石矿石3~6Y=50~90砂岩大(8~16条子脉×4~8块)
硫磺矿石3~5Y=2~40玄武岩中(4~10条子脉×3~6块)
钻石矿石0.5~2.5Y=2~15玄武岩极小(2~6条子脉×3~6块)
锗矿石3~5Y=2~50玄武岩中(4~10条子脉×3~6块)

通俗解释:

  • 深度:Y坐标,0是最底层基岩,64是海平面。数字越小代表越深。
  • 基础矿脉数:每个区块最少/最多能生成几条独立矿脉,山区会额外增加。
  • 伴生岩石:矿脉只会替换特定岩石生成。例如钻石只出现在玄武岩中,挖花岗岩永远找不到钻石。
  • 矿脉规模:矿脉由多条"子矿脉"交织而成,子矿脉越多、越长,总储量越大。

生成规律总结 ​

矿物在哪里生成?三个条件▲山脉山区附近矿脉更多最多多出 50%~100%想多挖矿 → 去山区↕深度每种矿石有自己的深度煤 5~200,钻石 2~15深度不对 → 找不到◼伴生岩石矿石只在特定岩石里钻石→玄武岩,硝石→砂岩挖错岩石 → 白费劲条件满足 → 矿脉生成
矿物生成三要素:山区附近、对应深度、对应岩石。

关键规律:

  • 煤矿石:分布最广(5~200层),几乎覆盖所有地下深度,是地表附近唯一能见到的矿石。
  • 铜矿石:集中在20~65层的中浅层花岗岩中,比煤稍深。
  • 铁/硫磺/锗:均生成于2~40层的玄武岩中,铁矿略多于硫磺和锗。
  • 硝石:唯一生成于砂岩(50~90层)的矿石,矿脉规模最大但深度较浅。
  • 钻石:生成量最少(基础仅0.5条/区块),深度最浅(2~15层),矿脉也最小,是名副其实的稀有矿物。
  • 山区加成:所有矿石在山区都会获得额外生成量,最高可达基础数量的1.5~2倍。

写给开发者 ​

本小节整理了挖掘系统的核心源码结构和关键逻辑,方便模组开发者在添加新方块、新工具或调整挖掘规则时快速定位相关代码。内容基于当前版本的源码快照,如有更新请以最新代码为准。

资料暂存

本小节内容暂时存放于此,后续会移动至"MOD开发"章节。

开发概览

挖掘系统架构 ​

核心文件:Survivalcraft/Block/Block.cs

方块基类中定义的关键字段:

csharp
public BlockDigMethod DigMethod;      // 挖掘方式
public float DigResilience = 1f;      // 挖掘韧性
public int RequiredToolLevel;         // 所需最低工具等级
public float ShovelPower = 1f;        // 锹力
public float QuarryPower = 1f;        // 镐力
public float HackPower = 1f;          // 斧力
public int ToolLevel;                 // 工具等级
public int Durability = -1;           // 耐久(-1无限)

以及对应的虚方法:

csharp
public virtual BlockDigMethod GetBlockDigMethod(int value) => DigMethod;
public virtual float GetDigResilience(int value) => DigResilience;
public virtual float GetShovelPower(int value) => ShovelPower;
public virtual float GetQuarryPower(int value) => QuarryPower;
public virtual float GetHackPower(int value) => HackPower;

掉落规则 ​

Block.GetDropValues 中的关键判定:

csharp
if (toolLevel < RequiredToolLevel) {
    return;  // 工具等级不足,不掉落任何东西
}

这意味着模组开发者在设计新方块时,可通过设置 RequiredToolLevel 来限制低等级工具开采高级方块。

工具类继承结构 ​

Block(基类)
  └── PickaxeBlock(抽象)
        ├── CopperPickaxeBlock
        ├── IronPickaxeBlock
        └── DiamondPickaxeBlock

类似结构适用于 AxeBlock、ShovelBlock、RakeBlock 等。

挖掘速度公式(推测) ​

游戏中挖掘进度的具体计算在 ComponentMiner 或 SubsystemBlockDestruction 中,核心逻辑大致为:

每帧进度 += 对应工具力量 / 方块挖掘韧性
当进度 >= 1 时,方块碎裂

例如用铁镐(镐力13)挖玄武岩(韧性22):

  • 每帧进度 = 13/22 ≈ 0.59
  • 约需 1/0.59 ≈ 1.7 帧(实际还受游戏速度、玩家状态影响)

用徒手(默认力量1)挖玄武岩(韧性22):

  • 每帧进度 = 1/22 ≈ 0.045
  • 约需 22 帧,速度是铁镐的约1/13
参与共建发现错误或有建议?两种零门槛方式,无需本地环境

玩家共建文档 · 原版、插件版、联机版与插件联机版请注意区分