Bedrock Wiki
  • QQ
  • 原站
新手入门指南
  • Guide
    • 1. 简介
      指南
    • 2. 附加组件详解
    • 3. 软件与准备工作
    • 4. 项目设置
    • 5. 创建自定义物品
    • 6. 创建自定义实体
    • 7. Blockbench:建模、贴图与动画制作
    • 8. 添加战利品表、生成规则与合成配方
  • Extra
    • a. 理解JSON
    • b. 下载示例包
    • c. 故障排除
      帮助
    • d. 高级清单文件指南
    • e. 格式版本
    • f. Android 项目设置
JSON UI
  • General
    • JSON UI 入门指南
      指南
    • 最佳实践
      指南
  • Tutorials
    • Aseprite 动画
    • 保留标题文本
      中级
    • 修改服务器表单
      中级
    • 字符串与数字转换
      中级
    • 按钮与开关
      新手
    • 添加HUD界面元素
      新手
  • Documentation
    • JSON UI 文档
Meta
  • Style Guide
  • 使用JSON模式(Schemas)
  • 实用链接
  • 版本控制
  • 附加包性能优化
  • Q&A
    • GameTest 问答集 2021/08/06
    • 世界生成问答 2024/11/15
    • 延迟渲染技术预览问答 2024/02/23
    • 方块与物品问答 2024/08/30
    • 脚本与编辑器问答 2023/09/22
NBT
  • General
    • .mcstructure
  • Tutorials
    • 扩展结构限制
      简单
    • 教育版中的实验功能
      简单
  • NBT in Depth
    • NBT 库列表
      专家
    • NBT读取示例
      专家
    • 关于NBT(命名二进制标签)
      专家
世界生成
  • General
    • 世界生成入门
      指南
      实验性
    • 特性类型
      实验性
    • 生物群系
      指南
      实验性
  • Tutorials
    • 特征(Feature)的方块条件
      实验性
    • 生成地表区块
      实验性
    • 生成自定义矿石
      实验性
    • 生成自定义结构
      实验性
    • 高度图噪声地形
      实验性
  • Documentation
    • 生物群系标签
动画控制器
  • 动画控制器入门指南
    指南
  • 实体命令
    中级
  • AFK检测器
  • 将Molang变量转换为计分板数值
  • 死亡指令
  • 重生指令
命令
  • General
    • 命令方块入门指南
    • 函数
    • NBT 命令
    • 坐标系
    • 方块状态
    • 理解目标选择器
    • 记分板操作
  • Commands
    • Execute
      简单
    • Playanimation
    • 伤害
    • 播放音效
  • On Event Systems
    • 玩家首次加入时
    • On Player Join
    • 玩家离开时触发
    • 玩家死亡事件
    • 玩家重生事件系统
    • 首次加载世界时
  • Scoreboard Systems
    • 实体计数器
    • 计分板计时器
    • 比较与获取分数
  • Techniques
    • 执行逻辑门
    • MBE - Max的方块实体
    • FMBE - 创建显示实体的新方法
    • 视线检测
    • 移动状态检测
    • 轨道摄像机
  • Useful Creations
    • 多人位置重排系统
      函数
    • 自定义合成台
      简单
实体
  • General
    • Intro to Entities BP
      指南
      新手
    • 实体资源包入门
      指南
      新手
    • 实体问题排查指南
      帮助
    • NPC对话系统
      中级
    • 实体事件
      新手
    • 实体属性
    • 渲染控制器
      新手
    • 生成规则
  • Tutorials
    • 任意坐标系间的坐标转换(世界、实体、骨骼)
      中级
    • 创建船只
      中级
    • 实体手持物品
      中级
    • 实体攻击机制
      中级
    • 实体睡眠机制
      中级
    • 实体碰撞体
      中级
    • 实体移动
    • 实体计时器
      中级
    • 无敌实体
      新手
    • 村庄机制实现指南
    • 检测其他实体
      中级
    • 生成已驯服的实体
      脚本
      中级
    • 视线检测实体
      中级
    • 禁用队友伤害
      中级
    • 范围效果云入门指南
      中级
    • 虚拟实体
      新手
    • 飞行实体控制
      中级
  • Documentation
    • Vanilla Usage Spawn Rules
    • 原版使用组件
    • 抛射物
    • 虚拟组件
    • 运行时标识符
    • 非生物实体运行时标识符
战利品、配方与交易
  • General
    • 交易行为
  • Documentation
    • 战利品表
    • 交易表
    • 合成配方
    • 物品函数
  • Tutorials
    • 随机化结构战利品
      简单
文档
  • Shared Constructs
  • Molang 查询详解
  • Vanilla Materials
    专家
  • 声音定义
  • 文件类型
  • 材质配置文件说明
    专家
  • 菜单分类
  • 资源包文件夹结构
  • 雾效ID
  • 高级Molang指南
方块
  • General
    • 方块入门指南
      指南
      新手
    • 方块组件
    • Block Tags
    • 方块状态
    • Block Traits
    • 方块排列组合
    • 方块事件
      脚本
    • 方块事件迁移指南
      帮助
    • 方块物品化
      中级
    • 方块问题排查指南
      帮助
  • Visuals
    • 方块剔除
      中级
    • 方块模型
      指南
      新手
      简单
    • 方块着色
      简单
    • 方块纹理动画
      中级
    • 方块纹理变体
      中级
  • Tutorials
    • Precise Interaction
      专家
      脚本
    • Precise Rotation
      专家
      脚本
    • 伪方块
      中级
    • 可旋转方块
    • 应用持续效果
      简单
      脚本
    • 矿石战利品表
      简单
      脚本
    • 规避状态值限制
      专家
  • Vanilla Re-Creations
    • 自定义作物
      中级
      脚本
    • 自定义活板门
      中级
      脚本
    • 自定义玻璃
      新手
      简单
      已弃用
    • 自定义釉面陶瓦
      简单
  • Documentation
    • 原版方块模型
      新手
    • 方块形状
    • 方块格式历史
    • 方块音效
服务器
  • Software
    • Bedrock Server Software
  • Protocols
    • Bedrock Protocol
    • NetherNet 协议
    • RakNet 协议
概念
  • contents.json
  • Molang
    中级
  • Rawtext
  • textures_list.json
  • 命名空间
  • 子包
  • 文本与本地化
  • 着色器
  • 纹理图集
    中级
  • 表情符号与特殊字符
  • 覆盖资源
    中级
  • 音效
    中级
物品
  • General
    • 物品入门指南
      指南
      新手
    • 物品组件
    • 物品标签
    • 物品事件
      脚本
    • Item Event Migration
      帮助
    • 物品问题排查指南
      帮助
  • Tutorials
    • Custom Pottery Sherds
    • 可投掷物品
      中级
    • 生成物品
      中级
    • 自定义武器
      简单
    • 自定义盔甲
    • 自定义食物
      简单
      脚本
    • 通过装备物品执行命令
      实验性
      中级
    • 高分辨率物品
  • Documentation
    • 附魔
    • Numerical Item IDs
    • Vanilla Usage Components
    • 原版物品标识符
      已弃用
    • 可附着物
      新手
    • 物品格式历史记录
视觉效果
  • General
    • 实体视觉效果简介
      指南
    • 基岩版建模指南
    • 动画中的特效
    • 基于数学的动画
      中级
    • 材质
      专家
    • 材质创作
      专家
    • 皮肤包制作指南
    • 自定义死亡动画
      中级
  • Tutorials
    • Glowing Entity Texture
    • 受伤动画
      中级
    • 实体纹理动画
      中级
    • 栓绳位置调整
      简单
    • 玩家几何模型
      新手
    • 移除实体阴影
      中级
    • 重绘生成蛋纹理
      新手
  • Ideas
    • 结构展示技巧
粒子效果
  • General
    • 粒子效果入门
      指南
  • Tutorials
    • 禁用粒子效果
      新手
  • Documentation
    • 原版粒子效果
脚本编写
  • General
    • 脚本编程入门
    • 什么是Script API?
    • API 模块
  • Tutorials
    • GameTests
      实验性
    • 简易聊天命令
      实验性
    • 脚本核心功能
    • 脚本表单
      实验性
    • 脚本请求API
      实验性
    • 阻止方块放置
  • Documentation
    • JavaScript 问题排查指南
    • Script Resources
    • Script Watchdog
      实验性
    • TypeScript
    • 引擎环境
虚拟现实
  • General
    • 启用VR模式
      指南
    • 配置资源包
      专家
  • Tutorials
    • 编辑你的第一个模型
      专家

方块组件

方块组件
  • 应用组件
  • 组件列表
    • 碰撞箱
    • 工作台
    • 可被爆炸破坏
    • 可被挖掘破坏
    • 显示名称
    • 实体跌落触发
    • 可燃性
    • 摩擦系数
    • 几何模型
    • 物品可视化
    • 光线衰减
    • 发光强度
    • 液体检测
    • 战利品表
    • 地图颜色
    • 材质实例

格式版本与最低引擎版本 1.21.70

创建自定义方块时使用最新格式版本可获得最新功能和改进。本wiki旨在分享关于自定义方块的最新信息,当前目标格式版本为1.21.70。

组件覆盖规则

每种组件同一时间只能激活一个实例。重复的组件将被最新的permutations(方块变体)条目覆盖。

应用组件 ​

方块组件用于改变方块在世界中的外观和功能。它们被应用在minecraft:block或其permutation(变体)的components子项中。

BP/blocks/lamp.json
json
{
    "format_version": "1.21.70",
    "minecraft:block": {
        "description": {
            "identifier": "wiki:lamp",
            "menu_category": {
                "category": "items"
            }
        },
        "components": {
            "minecraft:light_dampening": 0,
            "minecraft:light_emission": 15,
            "minecraft:map_color": [210, 200, 190],
            "minecraft:geometry": "geometry.lamp",
            "minecraft:material_instances": {
                "*": {
                    "texture": "wiki:lamp"
                },
                "shade": {
                    "texture": "wiki:lamp_shade"
                }
            }
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

组件列表 ​

碰撞箱 ​

定义方块与实体碰撞的区域。若设为true则使用默认值;若设为false则禁用方块与实体的碰撞;若省略该组件则使用默认值。

从实验性玩法Holiday Creator Features中释放,适用于格式版本1.19.50及以上。

类型:布尔值/对象

  • origin: 向量 [a, b, c]
    • 碰撞箱边界的最小位置。origin以[x, y, z]格式指定,必须在(-8, 0, -8)到(8, 16, 8)范围内(含边界值)。
  • size: 向量 [a, b, c]
    • 碰撞箱各边的尺寸。size以[x, y, z]格式指定。origin+size必须在(-8, 0, -8)到(8, 16, 8)范围内(含边界值)。

布尔值用法示例 ​

minecraft:block > components
json
"minecraft:collision_box": true
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:collision_box": {
    "origin": [-8, 0, -8],
    "size": [16, 16, 16]
}
1
2
3
4

工作台 ​

将方块设为自定义工作台,启用工作台UI和配方合成功能。

从实验性玩法Holiday Creator Features中释放,适用于格式版本1.19.50及以上。

类型:对象

  • crafting_tags: 数组
    • 必填字段
    • 定义需要在该工作台上合成的配方标签。最多64个标签,每个标签最多64个字符。
  • table_name: 字符串
    • 指定语言文件键值,映射到该工作台UI中显示的文本。若字符串无法解析为本地化字符串,则直接显示原始字符串。若省略该字段,默认显示"display_name"组件指定的名称;若方块无"display_name"组件,则显示方块名称。
minecraft:block > components
json
"minecraft:crafting_table": {
    "table_name": "Wiki工作台",
    "crafting_tags": [
        "crafting_table",
        "wiki_workbench"
    ]
}
1
2
3
4
5
6
7

可被爆炸破坏 ​

描述方块的抗爆属性。若设为true则使用默认爆炸抗性;若设为false则方块不会被爆炸破坏;若省略该组件则使用默认爆炸抗性。

类型:布尔值/对象

  • explosion_resistance: 双精度浮点数
    • 描述方块对爆炸的抗性。值越大意味着方块在爆炸附近越不容易被破坏(或具有更高的爆炸抗性)。不同爆炸威力等级的抗性比例不同。负值或0表示极易被炸毁;数值越大抗性越高。

布尔值用法示例 ​

minecraft:block > components
json
"minecraft:destructible_by_explosion": false
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:destructible_by_explosion": {
    "explosion_resistance": 20
}
1
2
3

可被挖掘破坏 ​

描述方块的抗挖掘属性。

若省略或设为true,方块将被瞬间破坏。 若设为false,方块无法被挖掘破坏。

类型:布尔值/对象

  • seconds_to_destroy: 双精度浮点数
    • 设置方块的硬度。数值越大挖掘时间越长。

破坏时间参数

seconds_to_destroy参数名具有误导性。 虽然名称暗示该参数决定破坏方块所需秒数,但实际上参数设置的是方块的"硬度"值。

默认情况下,破坏自定义方块所需时间是硬度的1.5倍。

布尔值用法示例 ​

minecraft:block > components
json
"minecraft:destructible_by_mining": false
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:destructible_by_mining": {
    "seconds_to_destroy": 20
}
1
2
3

显示名称 ​

指定语言文件键值,映射到物品栏和快捷栏中悬停时显示的文本。若字符串无法解析为本地化字符串,则直接显示原始字符串。若省略该组件,则使用方块名称作为显示名称。

从实验性玩法Holiday Creator Features中释放,适用于格式版本1.19.60及以上。

类型:字符串

字符串用法示例 ​

minecraft:block > components
json
"minecraft:display_name": "自定义方块"
1

本地化字符串用法示例 ​

minecraft:block > components
json
"minecraft:display_name": "tile.wiki:custom_block.name"
1
RP/texts/en_US.lang
c
tile.wiki:custom_block.name=自定义方块
1

实体跌落触发 ​

当实体跌落到该方块上时触发事件。

类型:对象

  • min_fall_distance: 双精度浮点数
    • 触发事件所需的最小跌落距离(以方块为单位)。

从实验性玩法Beta APIs中释放,适用于格式版本1.21.10及以上。

minecraft:block > components
json
"minecraft:entity_fall_on": {
    "min_fall_distance": 5
}
1
2
3

可燃性 ​

描述方块的可燃属性。若设为true则使用默认值;若设为false或省略该组件,方块不会被邻近火焰自然引燃,但仍可直接点燃。

类型:布尔值/对象

  • catch_chance_modifier: 整数
    • 影响方块在火源旁被引燃几率的修饰符。值大于等于0,数值越高越容易被引燃。对于catch_chance_modifier大于0的情况,火焰将持续燃烧直到方块被摧毁(若destroy_chance_modifier为0则永久燃烧)。若catch_chance_modifier为0且方块被直接点燃,火焰最终会熄灭而不破坏方块(若destroy_chance_modifier大于0则有机会被破坏)。默认值5与木板相同。

布尔值用法示例 ​

minecraft:block > components
json
"minecraft:flammable": true
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:flammable": {
    "catch_chance_modifier": 5,
    "destroy_chance_modifier": 20
}
1
2
3
4

摩擦系数 ​

描述方块的摩擦系数(范围0.0-0.9)。摩擦系数影响实体在方块上移动的速度。值越大摩擦力越强。

类型:双精度浮点数

minecraft:block > components
json
"minecraft:friction": 0.4
1

几何模型 ​

用于渲染该方块的几何模型描述标识符。此标识符必须匹配任意已加载资源包中的现有几何标识符,或引用当前支持的原版模型之一。

自定义方块模型限制:

  • 方块尺寸限制为30×30×30 像素。

  • 方块在每个轴上至少要有1像素包含在基础的16×16×16方块内。

  • 30×30×30方块的绝对位置边界为原点各方向30像素。只要遵守规则#2,方块可放置在这些边界内的任意位置。

注意:不传导红石信号。即使使用原版full_block标识符。同时会使方块可呼吸。生物也无法在其上生成。有趣的是,尽管在生成性和传导性方面属于"非固体"方块,蝙蝠仍能倒挂在上面。

从实验性玩法Holiday Creator Features中释放,适用于格式版本1.19.40及以上。

类型:字符串/对象

  • identifier: 字符串
    • 几何模型的标识符。
  • bone_visibility: 对象
    • 可选的布尔值"数组",定义几何文件中各骨骼的可见性。要设置bone_visibility,必须以几何文件名作为标识符。指定标识符后,可根据指定几何文件中骨骼名称以true/false为基础定义bone_visibility。
    • 注意所有骨骼默认为true,因此仅当设置为false时才需要定义骨骼。包含设置为true的骨骼与默认行为相同。

字符串用法示例 ​

minecraft:block > components
json
"minecraft:geometry": "geometry.example_block"
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:geometry": {
    "identifier": "geometry.example_block"
}
1
2
3

骨骼可见性 ​

隐藏模型中骨骼的直接子立方体。

Molang表达式必须遵守permutation conditions(变体条件)限制。

在格式版本1.20.10及以上支持bone_visibility中的Molang表达式。

minecraft:block > components
json
"minecraft:geometry": {
    "identifier": "geometry.example_block",
    "bone_visibility": {
        "wiki_bone": false,
        "conditional_bone": "q.block_state('wiki:example_state') == 3",
        "another_bone": true
    }
}
1
2
3
4
5
6
7
8

物品可视化 ​

决定方块作为物品时的显示方式。

类型:对象

  • geometry: 字符串/对象 - 显示的几何模型组件。
  • material_instances: 对象 - 显示的材质实例组件。

从实验性玩法Upcoming Creator Features中释放,适用于格式版本1.21.60及以上。

minecraft:block > components
json
"minecraft:item_visual": {
    "geometry": "minecraft:geometry.full_block",
    "material_instances": {
        "*": {
            "texture": "wiki:block_texture"
        }
    }
}
1
2
3
4
5
6
7
8

光线衰减 ​

光线穿过方块时的衰减量(范围0-15)。值越大光线衰减越多。

类型:整数

minecraft:block > components
json
"minecraft:light_dampening": 7
1

发光强度 ​

方块发出的光照强度(范围0-15)。值越大发出的光越强。

类型:整数

minecraft:block > components
json
"minecraft:light_emission": 10
1

液体检测 ​

决定方块与不同类型液体的交互方式。

类型:对象

  • detection_rules: 数组
    • liquid_type: 字符串 - 该规则适用的液体类型。目前仅支持water。
    • can_contain_liquid: 布尔值 - 该液体类型是否能与方块共处同一空间(如水淹)。
    • on_liquid_touches: 字符串 - 当液体流入方块时触发的行为。
    • stops_liquid_flowing_from_direction: 数组 - 定义液体不能从哪些方向流出该方块。

从实验性玩法Upcoming Creator Features中释放,适用于格式版本1.21.60及以上。

minecraft:block > components
json
"minecraft:liquid_detection": {
    "detection_rules": [
        {
            "liquid_type": "water",
            "can_contain_liquid": true, // 可被水淹
            "on_liquid_touches": "no_reaction", // 水像穿过空气一样流过方块
        }
    ]
}
1
2
3
4
5
6
7
8
9

战利品表 ​

战利品表的路径,相对于行为包。精准采集会覆盖此设置。

若省略,则掉落方块本身。

类型:字符串

minecraft:block > components
json
"minecraft:loot": "loot_tables/blocks/custom_block.json"
1

地图颜色 ​

设置方块在地图上渲染的颜色。颜色以#RRGGBB格式的十六进制值表示。也可表示为0到255的[R, G, B]数组。若省略该组件,方块不会显示在地图上。

类型:字符串/对象/向量 [a, b, c]

字符串用法示例 ​

minecraft:block > components
json
"minecraft:map_color": "#FFFFFF"
1

对象用法示例 ​

minecraft:block > components
json
"minecraft:map_color": {
    "color": "#FFFFFF"
}
1
2
3

向量用法示例 ​

minecraft:block > components
json
"minecraft:map_color": [255, 255, 255]
1

材质实例 ​

配置方块的渲染方式,包括纹理和光照。

  • 所有实例必须使用相同的渲染方法。
  • 方块面在与其他方块相交时会无条件变暗。
  • down面的纹理用于破坏粒子效果。

材质实例可与RP/blocks.json条目结合使用,创建具有类不透明属性的方块。这主要用于在自定义玻璃方块上启用面剔除。

从实验性玩法Holiday Creator Features中释放,适用于格式版本1.19.40及以上。

渲染方法 ​

渲染方法本质上控制方块在世界中的显示方式,类似于实体材质。以下是各类型的关键属性:

渲染方法透明度半透明背面剔除远距剔除原版示例
alpha_test✔️❌❌✔️藤蔓、铁轨、树苗
alpha_test_single_sided✔️❌✔️✔️门、活板门
blend✔️✔️✔️❌玻璃、信标、蜂蜜块
double_sided❌❌❌❌N/A - 用于不透明2D平面
opaque (默认)❌❌✔️❌泥土、石头、混凝土
  • 透明度 - 完全透明的区域。
  • 半透明 - 半透明的区域。
  • 背面剔除 - 从背面观察时不可见的面。
  • 远距剔除 - 在达到完整渲染距离前方块变为不可见。
minecraft:block > components
json
"minecraft:material_instances": {
  // '*' 实例必需 - 立方体面的默认实例
  // 内置实例名称为 'up', 'down', 'north', 'east', 'south' 和 'west'
  "*": {
    "texture": "wiki:texture_name", // 在`RP/textures/terrain_texture.json`中定义的短名称
    "render_method": "blend", // 上表中的渲染方法之一
    "face_dimming": true, // 默认为true;具有此材质的面是否应根据其方向变暗?
    "ambient_occlusion": true // 默认为true(1);是否根据周围方块创建阴影?浮点数决定环境遮挡强度。
  }
}
1
2
3
4
5
6
7
8
9
10

自定义实例名称 ​

TIP

可通过在Blockbench中右键点击立方体并打开其Material Instances来定义立方体面上的自定义材质实例名称。

可在材质实例中定义自定义实例名称,并可被内置实例名称或方块模型引用。

minecraft:block > components
json
1

贡献者

编辑 方块组件

Bedrock Wiki by Bedrock OSS ,Translate by 8aka-Team

"Minecraft"是Mojang AB的注册商标。

Bedrock OSS、Bedrock Wiki以及 bedrock.dev 与Microsoft及Mojang AB不存在任何隶属关系。

  • 隐私政策
  • 加入QQ社区
  • 参与贡献指南
  • 访问代码仓库