🎊 附加包教程:27.地物

附加包教程:27.地物

2023-3-5 08:00:51

AI 速览2026-09-25 10:00 生成附加包教程第27期讲解地物类型与地物规则的写法

总结下载提醒2这是附加包系列教程的第二十七期,主题是地物。帖子先说明地物与地物规则分别存放在行为包的features和feature_rules文件夹,并强调ID必须与文件名一致,随后依次介绍结构模板、矿石、树、单方块、晶洞和分散地物,并附上对应代码块,最后讲解地物规则。适合正在学习行为包开发、需要了解地物配置的玩家参考,官方文档为英文,阅读时需要自行翻译。

论坛附件帖内链接获取方式地物与地物规则的ID必须和文件名匹配官方文档为英文,需要翻译后才能看懂本卡片由 AI 阅读本帖后生成,可能存在疏漏,请以帖子正文为准。

本帖最后由 Cat_Anchor 于 2023-6-17 16:39 编辑

前言

现在我们来讲讲地物。常用的地物有好几种,分别是:结构模板地物、矿石地物、单方块地物、分散地物、树地物和晶洞地物。

地物

打开行为包根目录,打开features文件夹,这里用于存储地物。但是只有这个文件夹是不能生成任何地物的,因为这个地物没有生成规则。打开feature_rules文件夹,这里用于存储地物规则。

注意,所有地物和地物规则的ID必须和文件名匹配。比如地物ID是supplementary:chorus_tree1,那么文件名必须是chorus_tree1.json。

地物是一个比较难、类型很多的东西,但很多种地物只适用于一种或少量种情况。比如悬挂植物地物,几乎只能用来放置洞穴藤蔓和垂泪藤。又比如雕刻洞穴地物,只能用来放置下界的洞穴。所以,我在此只会细说我刚才列出的那些地物类型。

除此之外,我会在讲完地物之后讲地物规则。

结构模板地物

{

"format_version": "1.16.0",

"minecraft:structure_template_feature": {

"description": {

"identifier": "supplementary:chorus_tree1" //地物ID

},

"structure_name": "mystructure:chorus_tree_1", //要放置的结构的名称,这就是我让你记住你导出的结构的名字的原因。

"facing_direction": "random", //方向

"adjustment_radius": 0, //“调整半径”,写0即可,官方文档上没有介绍。

"constraints": {

"grounded": {} //可以决定结构是着地的还是浮空的,把"grounded": {}换成"unburied": {},"block_intersection": {"block_allowlist": ["minecraft:air"]}可以让结构浮空。

}

}

}

复制代码

矿石地物

{

"format_version": "1.13.0",

"minecraft:ore_feature": {

"description": {

"identifier": "example:malachite_ore_feature" //地物ID

},

"count": 12, //要放置的矿石的最大数量。(其实要放的方块不是矿石也行)

"replace_rules": [

{

"places_block": "example:malachite_ore", //要放置的方块,下同

"may_replace": [

"minecraft:stone" //要替换的方块,下同

]

},

{

"places_block": "example:granite_malachite_ore",

"may_replace": [

"minecraft:granite"

]

},

{

"places_block": "example:andesite_malachite_ore",

"may_replace": [

"minecraft:andesite"

]

}

]

}

}

复制代码

树地物

{

"format_version": "1.13.0",

"minecraft:tree_feature": {

"description": {

"identifier": "supplementary:tree_v_birch_x_birch_tree" //地物ID

},

"trunk": { //树干部分

"trunk_height": { //树干高度

"range_min": 7, //最小是7

"range_max": 10 //最大是10

},

"trunk_block": {

"name": "minecraft:log", //树干方块,这里是白桦木

"states": {

"old_log_type": "birch" //指定是白桦木

}

}

},

"canopy": { //树冠部分

"canopy_offset": { //树冠的偏移量

"min": -3, //最小偏移-3

"max": 0 //最大偏移0

},

"variation_chance": [//变种机会,应该是指树叶的形状

{ //这个对象代表了一个分数,下同

"numerator": 1, //分子

"denominator": 2 //分母

},

{

"numerator": 1,

"denominator": 2

},

{

"numerator": 1,

"denominator": 2

},

{

"numerator": 1,

"denominator": 1

}

],

"leaf_block": {

"name": "minecraft:leaves", //树叶方块,这里是桦树叶

"states": {

"old_leaf_type": "birch"

}

}

},

"base_block": [ //指定底部的方块

"minecraft:dirt", //泥土

{

"name": "minecraft:dirt",

"states": {

"dirt_type": "coarse" //砂土

}

}

],

"may_grow_on": [ //指定能长在……方块上

"minecraft:dirt", //泥土

"minecraft:grass", //草方块

"minecraft:podzol", //灰化土

{

"name": "minecraft:dirt",

"states": {

"dirt_type": "coarse" //砂土

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 0 //干的耕地,moisturized_amount代表耕地湿润程度,0-7的值,7是湿润的

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 1

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 2

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 3

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 4

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 5

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 6

}

},

{

"name": "minecraft:farmland",

"states": {

"moisturized_amount": 7

}

}

],

"may_replace": [ //树长成时会替换……方块

"minecraft:air", //空气

{

"name": "minecraft:leaves",

"states": {

"old_leaf_type": "oak" //橡树叶

}

},

{

"name": "minecraft:leaves",

"states": {

"old_leaf_type": "spruce" //云杉树叶

}

},

{

"name": "minecraft:leaves",

"states": {

"old_leaf_type": "birch" //桦树叶

}

},

{

"name": "minecraft:leaves",

"states": {

"old_leaf_type": "jungle" //丛林树叶

}

},

{

"name": "minecraft:leaves2",

"states": {

"new_leaf_type": "acacia" //金合欢树叶

}

},

{

"name": "minecraft:leaves2",

"states": {

"new_leaf_type": "dark_oak" //深色橡树叶

}

}

],

"may_grow_through": [ //可以穿过……方块长成树

"minecraft:dirt", //泥土

"minecraft:grass", //草方块

{

"name": "minecraft:dirt",

"states": {

"dirt_type": "coarse" //砂土

}

}

]

}

}

复制代码

单方块地物

{

"format_version": 1.13.0,

"minecraft:single_block_feature": {

"description": {

"identifier": "example:single_pumpkin_feature" //地物ID

},

"places_block": "example:pumpkin", //要放的方块。没错,这个地物就是在世界里放个方块,经常用于放小花小草之类的。

"enforce_placement_rules": true,

"enforce_survivability_rules": true,

"may_place_on": [

"example:grass" //会放在哪些方块上

],

"may_replace": [

"example:air" //会替换哪些方块

]

}

}

复制代码

晶洞地物

{

"format_version": "1.13.0",

"minecraft:geode_feature": {

"description": {

"identifier": "minecraft:diamond_geode_feature" //地物ID

},

"filler": "minecraft:air", //晶洞里面的方块,一般是空气

"inner_layer": "minecraft:diamond_block", //内层方块,像是紫水晶方块

"alternate_inner_layer": "minecraft:emerald_block", //内层方块,像是紫水晶母岩方块

"middle_layer": "minecraft:calcite", //中间层,像是方解石

"outer_layer": "minecraft:obsidian", //外层,像是平滑玄武岩

"inner_placements": [

{

"name": "minecraft:amethyst_cluster", //要放在紫水晶母岩上面的方块

"states": {

"amethyst_cluster_type": "small"

}

}

],

"min_outer_wall_distance": 4,

"max_outer_wall_distance": 7,

"min_distribution_points": 3,

"max_distribution_points": 5,

"min_point_offset": 1,

"max_point_offset": 3,

"max_radius": 16, //最大半径

"crack_point_offset": 2.0,

"generate_crack_chance": 0.95, //裂开一个口子的几率,这里是95%

"base_crack_size": 2.0,

"noise_multiplier": 0.025,

"use_potential_placements_chance": 0.35,

"use_alternate_layer0_chance": 0.083,

"placements_require_layer0_alternate": true,

"invalid_blocks_threshold": 1

}

}

复制代码

分散地物

这个地物是与其他地物一起使用的。

{

"format_version": 1.13.0,

"minecraft:scatter_feature": {

"description": {

"identifier": "example:scatter_flowers_feature" //地物ID

},

"places_feature": "example:flower_feature", //要分散的地物ID

"iterations": 10, //地物的数量。

"x": {

"distribution": "uniform",

"extent": [ 0, 15 ] //范围,这里是0-15

},

"y": 64,

"z": {

"distribution": "uniform",

"extent": [ 0, 15 ] //范围,这里是0-15

}

}

}

复制代码

地物规则

{

"format_version": "1.13.0",

"minecraft:feature_rules": {

"description": {

"identifier": "supplementary:end_ruin_feature_rule", //地物规则的ID

"places_feature": "supplementary:end_ruin_feature" //这个地物规则管的地物ID

},

"conditions": {

"placement_pass": "first_pass",

"minecraft:biome_filter": [ //生物群系测试,只有在条件成立时才放置地物

{

"all_of": [ //其中所有成立才成立

{

"any_of": [ //其中任何一个成立就成立

{

"test": "has_biome_tag",

"operator": "==",

"value": "the_end" //末地

}

]

}

]

}

]

},

"distribution": {

"iterations": 1, //地物个数

"x": {

"distribution": "uniform",

"extent": [ //区块内的范围,0-16

0,

16

]

},

"y": {

"distribution": "uniform",

"extent": [ //区块内的范围,45-75

45,

75

]

},

"z": {

"distribution": "uniform",

"extent": [ //区块内的范围,0-16

0,

16

]

}

}

}

}

复制代码

这就是关于常用地物的讲解了。还有超级多的地物类型,可以通过官方发布的文档查看。有一点不便的是,官方的文档是英文的,还需要翻译一下才能看懂。(有时候翻译了也看不懂)

总结

这一期,我们学完了地物。下一期,我们就要讲交易了。

第二十六期 第二十七期 第二十八期

评分

1 人参与铁粒 +64

查看全部评分

收起

WZM***

铁粒 +64

我要这铁粒有何用

支持7

收藏8

分享

回复

帖子永久地址: 点击复制苦力怕论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关

2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权

3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意

4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任

5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责

6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

7、Minecraft(我的世界)苦力怕论坛管理员和版主有权不事先通知发贴者而删除本文

复制链接

QQ好友和群

只看该作者倒序浏览阅读模式

打印

使用道具举报

提升卡

观察者

🎁 相关推荐

本科录取通知书一般多久收到?一本和二本录取通知书一起发放吗?
从成都到天全多少公里、要多长时间、自驾最佳路线、油费、过路费-开车从成都到天全路线(返程)
全家便利店的经营方式,全家便利店加盟怎么样