- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
教程:制作附加包/地物
From Minecraft基岩版开发Wiki
引言[edit]
地物(Feature)是分散在世界各地的装饰结构。树木、植物、村庄、地牢、神庙、矿石和珊瑚等事物都是地物。开发者可通过在行为包中添加地物配置文件来自定义地物及其生成的规则。
ore_feature
是最基本的地物之一,它们可以通过替换生成方块来形成矿簇,本教程将向展示如何制造自然产生的矿物矿石。
准备[edit]
我们首先要准备两个用作矿石的方块:一个是正常矿石,另一个是深板岩矿石。以下代码可供参考:
{
"format_version": "1.20.0",
"minecraft:block": {
"description": {
"identifier": "wiki:custom_ore",
"menu_category": {
"group": "itemGroup.name.ore",
"category": "nature"
}
},
"components": {
// 将这个方块的战利品表设置为空
"minecraft:loot": "loot_tables/empty.json",
"minecraft:destructible_by_mining": {
"seconds_to_destroy": 0.8
},
"minecraft:destructible_by_explosion": {
"explosion_resistance": 3.0
},
"minecraft:map_color": "#565656",
// 方块被挖掘后触发的事件,用于有条件地生成掉落物
"minecraft:on_player_destroyed": {
"event": "wiki.spawn_loot",
// 触发事件的条件:手持物品为镐(有is_pickaxe标签)
"condition": "query.equipped_item_any_tag('slot.weapon.mainhand', 'minecraft:is_pickaxe')"
},
"tag:minecraft:stone_pick_diggable": {}
},
"events": {
"wiki.spawn_loot": {
// 生成战利品
"spawn_loot": {
"table": "方块战利品表路径"
}
}
}
}
}
请不要忘了为这个方块添加纹理及名称。
添加地物[edit]
在行为包/features
文件夹中新建一个名为custom_ore_feature.json
的文件,插入以下内容:
{
"format_version": "1.17.0",
"minecraft:ore_feature": {
"description": {
"identifier": "wiki:custom_ore_feature"// 地物ID,在地物规则中要用到
},
"count": 8, // 尝试放置的次数
"replace_rules": [
{
// 被放置的方块
"places_block": "wiki:custom_ore",
// 会被矿石替换的方块
"may_replace": ["minecraft:stone"]
},
{
// 同上
"places_block": "wiki:deepslate_custom_ore",
"may_replace": ["minecraft:deepslate"]
}
]
}
}
现在我们成功注册了这个地物,但它还不能在世界中生成,因为我们还需要一个地物规则。
添加地物规则[edit]
在行为包/feature_rules
文件夹中新建一个名为overworld_underground_custom_ore_feature.json
的文件,插入以下内容:
{
"format_version": "1.13.0",
"minecraft:feature_rules": {
"description": {
"identifier": "wiki:overworld_underground_custom_ore_feature", // 地物规则的ID
"places_feature": "wiki:custom_ore_feature" // 地物的ID,要和上一节的相匹配
},
"conditions": {
"placement_pass": "underground_pass",
"minecraft:biome_filter": [
{
"any_of": [
{
"test": "has_biome_tag",
"operator": "==",
"value": "overworld"
},
{
"test": "has_biome_tag",
"operator": "==",
"value": "overworld_generation"
}
]
}
]
},
"distribution": {
"iterations": 10, // 尝试放置地物的次数
"coordinate_eval_order": "zyx",
"x": {
"distribution": "uniform",
"extent": [0, 16]
},
"y": {
"distribution": "uniform", // 可以填“triangle”使矿石在中层更常见
"extent": [
0, // 地物可以生成的y轴最低处
62 // 地物可以生成的y轴最高处
]
},
"z": {
"distribution": "uniform",
"extent": [0, 16]
}
}
}
}