矿石生成器

矿石生成器

Hytale 数据驱动的矿石生成框架

世界生成

替代文本

矿石生成框架

数据驱动的矿石生成框架,支持按区域和按生物群系覆写。

工作原理

  • 框架会加载模组或整合包中所有位于 Server/OreGeneration/*.json 的文件。
  • 每个配置文件将可替换的岩石方块映射到对应的矿石变种。
  • 区域/生物群系键必须与引擎名称匹配(可使用 /player zone 命令查看)。

通过资源包添加矿石(仅 JSON)

  • 创建一个包含 Server/OreGeneration/your_ore.json 的资源包。
  • 将资源包放入 mods/ 文件夹并重启。
  • 框架会在启动时自动加载资源包中的所有配置文件。

通过插件添加矿石(Java + JSON)

  • 在插件清单中将框架添加为依赖项:"LYIVX:OreGenerator": "*"
  • 将配置文件打包在 src/main/resources/Server/OreGeneration/ 中。
  • 可选:使用 config/OreGenerator/*.json 在运行时覆写配置。

运行时覆写(框架自带)

  • 首次运行时会创建覆写文件:config/OreGenerator/*.json
  • 额外的配置文件可添加至:config/OreGenerator/ores/

示例配置(新格式:地表 + 洞穴)

{
  "defaults": {
    "surface": {
      "height": { "min": 60, "max": 120 },
      "veinsPerChunk": 2,
      "veinSize": { "min": 5, "max": 10 },
      "heightExponent": 1.0,
      "spawnChance": 0.8
    },
    "cave": {
      "height": { "min": 10, "max": 60 },
      "repeat": { "min": 15, "max": 20 },
      "veinSize": { "min": 5, "max": 10 },
      "heightExponent": 1.0,
      "spawnChance": 1.0
    }
  },
  "oreByBlock": {
    "Rock_Stone": "Ore_Coal_Stone",
    "Rock_Sandstone": "Ore_Coal_Sandstone",
    "Rock_Slate": "Ore_Coal_Slate",
    "Rock_Shale": "Ore_Coal_Shale",
    "Rock_Basalt": "Ore_Coal_Basalt",
    "Rock_Volcanic": "Ore_Coal_Volcanic"
  }
}

示例配置(旧版格式)

{
  "defaults": {
    "minY": 10,
    "maxY": 60,
    "veinsPerChunk": 2,
    "minVeinSize": 3,
    "maxVeinSize": 7,
    "spawnChance": 0.6,
    "replaceableBlocks": [
      "Rock_Stone",
      "Rock_Stone_Cobble",
      "Rock_Stone_Mossy",
      "Rock_Sandstone",
      "Rock_Sandstone_Cobble",
      "Rock_Slate",
      "Rock_Slate_Cobble",
      "Rock_Shale",
      "Rock_Basalt",
      "Rock_Basalt_Cobble",
      "Rock_Volcanic"
    ]
  },
  "oreByBlock": {
    "Rock_Stone": "Ore_Coal_Stone",
    "Rock_Sandstone": "Ore_Coal_Sandstone",
    "Rock_Slate": "Ore_Coal_Slate",
    "Rock_Shale": "Ore_Coal_Shale",
    "Rock_Basalt": "Ore_Coal_Basalt",
    "Rock_Volcanic": "Ore_Coal_Volcanic"
  },
  "zones": {
    "Zone1": {
      "Plains1_Oak": {},
      "Plains1_Gorges": {},
      "Plains1_Deeproot": {
        "spawnChance": 0.4
      }
    }
  }
}

高度分布

  • height 控制 Y 轴的最小/最大范围。
  • heightExponent 控制垂直方向的偏向:1.0 为均匀分布,> 1.0 偏向低处,< 1.0 偏向高处。

地表方块 vs 洞穴方块

  • surface 是生物群系/地表通道(密度较低,根据生物群系调整)。
  • cave 是洞穴通道(重复尝试模式,地下更密集)。