Cat_Anchor 发表于 2023-3-4 07:22:16

附加包教程:25.生成规则

本帖最后由 Cat_Anchor 于 2023-6-17 14:31 编辑




前言



最近的附加包教程气氛不好,这主要是因为从字体那一期开始,这些内容的作用就不是很大。这种气氛最近就要慢慢消散了,从这一期开始,内容开始慢慢向地物靠拢。讲完地物,我们就开始讲实体。(第29期讲实体。)



https://klpbbs.com/static/image/hrline/line5.png


生成规则



打开行为包根目录,打开spawn_rules文件夹,这里用于实体的生成规则。生成规则用于控制生成实体的条件和数量。

{
"format_version": "1.8.0",
"minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:cow", //要生成的实体。必须和实体ID一致才可以起效。
      "population_control": "animal" //生成数量控制的类型。这里是animal,还可以写monster。
    },
    "conditions": [
      {
      "minecraft:spawns_on_surface": {}, //指定生成在表面。
      "minecraft:spawns_on_block_filter": "minecraft:grass", //指定生成在什么方块上,这里是草方块。
      "minecraft:brightness_filter": { //指定生成的亮度。
          "min": 7, //最小亮度是7
          "max": 15, //最大亮度是15
          "adjust_for_weather": false //如果是true,那么生成亮度根据天气调整。如果是false,那么即使是下雨或雷暴,也不会调整生成亮度。这就是雷暴天不生成动物的原因。(不确定)
      },
      "minecraft:weight": { //生成的权重。这里是8。相对于其他生物,权重越大,越容易生成这种生物。
          "default": 8
      },
      "minecraft:herd": { //一次生成的数量。会在最小值和最大值中随机一个数字。如果要固定生成数量,可以把最小值和最大值设置成一个数字。
          "min_size": 2, //最小值
          "max_size": 3 //最大值
      },
      "minecraft:biome_filter": { //指定只会在哪些生物群系里生成。
          "all_of": [
            {
            "test": "has_biome_tag",
            "operator": "==",
            "value": "animal" //在拥有“animal”标签的生物群系生成。
            },
            {
            "test": "has_biome_tag",
            "operator": "!=",
            "value": "swamp" //不在拥有“swamp”(意思是沼泽)标签的生物群系生成。
            }
          ]
      }
      }
    ]
}
}




https://klpbbs.com/static/image/hrline/line1.png


总结



这一期,我们学完了生成规则。下一期,我们就要讲结构了。





第二十四期 第二十五期 第二十六期

九科柚 发表于 2023-3-4 08:58:06

很不错,感谢分享[哔哩_脱单]

WZMint 发表于 2023-10-7 18:16:45

本帖最后由 WZMint 于 2023-10-7 18:18 编辑

生成数量控制器除了animal、monster以外,还有pillager(掠夺者)、water_animal(水生生物)、cat(猫)、ambient(环境生物,比如蝙蝠)。               ——SPGoding
页: [1]
查看完整版本: 附加包教程:25.生成规则