BLOCKS DOCUMENTATION
Version: 1.21.60.10

索引

方块
方块组件
方块定义属性
方块描述属性
方块事件响应
方块触发器组件
返回顶部

方块

方块组件

名称 类型 默认值 描述
bone_visibility JSON 对象 一个包含键值对列表的JSON对象,其中键(key)对应指定几何文件中的骨骼名称,值(value)为布尔类型,用于控制该骨骼是否可见。
minecraft:breathability 字符串 通过定义方块是否被视为 solid(固体)或 air(空气)来确定其是否可呼吸。若省略该组件,则默认值为 solid。
minecraft:collision_box 布尔值 / JSON 对象 true 定义方块与实体碰撞的区域范围。如果设置为true,则使用默认值。如果设置为false,则禁用方块与实体的碰撞。如果省略此组件,则使用默认值。
名称 类型 默认值 描述
origin 向量 [a, b, c] [-8.0, 0.0, -8.0] 碰撞箱边界的最小坐标值。"origin"(原点)以 [x, y, z] 格式指定,且取值范围必须为闭区间 (-8, 0, -8) 到 (8, 16, 8)。
size 向量 [a, b, c] [16.0, 16.0, 16.0] 碰撞箱各边尺寸参数。尺寸以 [x, y, z] 格式指定,且"origin"(原点)坐标与"size"(尺寸)之和必须在闭区间 (-8, 0, -8) 到 (8, 16, 8) 范围内。
minecraft:crafting_table JSON 对象 将方块转变为自定义工作台,启用工作台 UI 及配方合成功能。该组件仅支持"recipe_shaped"(有序配方)和"recipe_shapeless"(无序配方)类型,不支持"recipe_furnace"(熔炉配方)或"recipe_brewing_mix"(酿造配方)等其他类型。若存在同一物品的多个配方,配方书将优先采用首个被解析的配方;若输入配方重复,合成结果可能出现断言错误或物品不一致的情况。

crafting_tags

定义可在此工作台合成的配方所需标签。最多支持64个标签,且每个标签长度不得超过64个字符。
返回顶部

table_name

指定用于映射工作台 UI 显示文本的语言文件键值。若该键值无法解析为本地化字符串,则直接显示原始字符串;若未配置此字段,默认显示"display_name"组件中定义的名称;若该方块未配置"display_name"组件,则默认显示方块的名称标识。
返回顶部

minecraft:custom_components 数组 设置一个有序的自定义组件列表,这些组件已通过脚本绑定,将在方块事件触发时执行。
minecraft:destructible_by_explosion 布尔值 / JSON 对象 true 描述此方块被爆炸破坏的属性。如果设置为true,方块将具有默认的爆炸抗性。如果设置为false,此方块无法被爆炸破坏。如果省略此组件,方块将默认采用标准抗性。
名称 类型 默认值 描述
explosion_resistance 十进制 0 设置方块的爆炸抗性值:数值越大抗性越强,但不同爆炸威力等级的抗性计算比例不同。若值为负数或0则极易被炸毁,正值越大则抗性等级越高。
minecraft:destructible_by_mining 布尔值 / JSON 对象 true 描述此方块采矿抗性属性。如果设置为true,方块将采用默认采矿耗时。如果设置为false,此方块无法被挖掘破坏。如果省略此组件,方块将默认采用标准采矿耗时。
名称 类型 默认值 描述
item_specific_speeds 数组 可选的对象数组,用于描述特定物品对方块的破坏速度,每个对象包含一个"item"物品描述符和一个"destroy_speed"浮点数。目前需要启用"即将推出的创作者功能"才可使用此数组配置。

destroy_speed

必填。
在使用指定的物品时生效的破坏速度值。
返回顶部

item

必填。
一个物品描述符,用于筛选挖掘时使用的物品。
返回顶部

seconds_to_destroy 十进制 0.0 设置使用基础装备破坏该方块所需的秒数。数值越大,采掘耗时越长。
minecraft:display_name 本地化字符串 指定悬浮显示文本对应的语言文件键值。当鼠标悬停在物品栏或快捷栏中的方块上时,将显示该键值映射的文本内容。若无法解析为本地化字符串,则直接显示原始字符串;若省略此组件,默认使用方块的名称作为显示文本。
minecraft:flammable 布尔值 / JSON 对象 描述此方块的可燃属性。如果设置为true,将使用默认值。如果设置为false,或者省略此组件,方块将无法被邻近火源自然引燃,但它仍然可以直接被点燃。
名称 类型 默认值 描述
catch_chance_modifier 整数 5 一个影响此方块在靠近火焰时被点燃几率的修饰符。值大于或等于0,数字越大表示越容易被点燃。如果"catch_chance_modifier"大于0,火焰会一直燃烧,直到方块被破坏(或者如果"destroy_chance_modifier"为0,火焰会永远燃烧)。如果"catch_chance_modifier"为0,并且方块被直接点燃,火焰最终会熄灭,而不会破坏方块(或者如果"destroy_chance_modifier"大于0,方块可能会被破坏)。默认值5与木板相同。
destroy_chance_modifier 整数 20 一个影响此方块在着火时被火焰破坏几率的修饰符。值大于或等于0,数字越大表示越容易被火焰破坏。如果“destroy_chance_modifier”为0,方块永远不会被火焰破坏,如果“catch_chance_modifier”大于0,火焰会永远燃烧。默认值20与木板相同。
minecraft:friction 十进制 0.4 定义该方块的摩擦系数,范围为(0.0-0.9)。摩擦力会影响实体在方块上移动时的速度。数值越大则摩擦阻力越强。
minecraft:geometry 标识符字符串 用于渲染此方块的几何描述标识符。此标识符必须与加载的资源包中的现有几何标识符匹配,或者是目前支持的原版标识符之一:"minecraft:geometry.full_block"(完整方块)或"minecraft:geometry.cross"(十字交叉型)。
minecraft:item_visual 标识符字符串 用于渲染该方块物品的几何体与材质的描述标识符。
需启用实验性功能:即将推出的创作者功能(在 1.21.50 之前的格式版本中)

geometry

[必选] 用于该物品的 "minecraft:geometry" 几何体组件。
返回顶部

material_instances

[必选] 用于该物品的 "minecraft:material_instances" 材质实例组件。
返回顶部

minecraft:light_dampening 整数 15 光线穿过方块时被减弱的程度,范围为(0-15)。值越高,光线被减弱得越多。
minecraft:light_emission 整数 0 此方块将发出的光量,范围为(0-15)。值越高,发出的光越多。
minecraft:liquid_detection 标识符字符串 定义方块检测到液体时的行为规则。每种液体类型只允许一个规则定义——如果指定了多个,将使用第一个,其余的将被忽略。
所需实验性功能:即将推出的创作者功能(在 1.21.60 之前的格式版本中)
名称 类型 默认值 描述
can_contain_liquid 布尔值 false 此方块是否可以包含液体。例如,如果液体类型是 `water`,这意味着方块可以含水。
liquid_type 字符串 water 此检测规则所针对的液体类型。目前,仅支持 `water` 这一液体类型。如果省略此字段,默认液体类型为 `water`。
on_liquid_touches 字符串 blocking 方块对流动水的反应。必须是以下选项之一:
"blocking" - 此字段的默认值。方块阻止液体流动。
"broken" - 方块被完全摧毁。
"popped" - 方块被摧毁并生成其物品。
"no_reaction" - 方块不受影响;从视觉上看,液体将流过方块。
stops_liquid_flowing_from_direction 数组 当一个方块包含液体时,控制液体不能从方块流出的方向。同样,如果`on_liquid_touches`字段设置为`no_reaction`,它还控制方块可以阻止液体流入的方向。可以是一个包含以下方向的列表:“up”(向上)、“down”(向下)、“north”(北方)、“south”(南方)、“east”(东方)、“west”(西方)。默认值为空列表;这意味着液体默认可以从所有方向流出。
minecraft:loot 路径字符串 相对于行为包的战利品表路径。路径字符串限制为256个字符。
minecraft:map_color 字符串 设置方块在地图上渲染时的颜色。颜色以十六进制值的形式表示,格式为“#RRGGBB”。也可以表示为一个从0到255的[R, G, B]数组。如果省略此组件,方块将不会在地图上显示。
minecraft:material_instances JSON 对象 方块的材质实例。将几何文件中的面或材质实例名称映射到实际的材质实例。你可以将材质实例对象分配给以下任意一个面:“up”(上)、“down”(下)、“north”(北)、“south”(南)、“east”(东)、“west”(西)或“*”(所有面)。你也可以给实例一个你选择的名称,例如“my_instance”,然后通过“north”:“my_instance”将其分配给一个面。

Material Instance

一个材质实例定义,用于映射到几何文件中的材质实例。“*”材质实例将用于任何没有匹配项的材质。

名称 类型 默认值 描述
ambient_occlusion 十进制 true 在光照时是否应对该材质应用环境光遮蔽?如果为true,将在方块周围和下方创建阴影。可选地,可以通过浮点数来控制在光照后应用于环境光遮蔽值的指数。
face_dimming 布尔值 true 此材质是否应因其朝向而变暗?
render_method 字符串 opaque 要使用的渲染方法。必须是以下选项之一:
"opaque" - 用于没有 alpha 层的普通方块纹理。不允许透明或半透明。
"double_sided" - 用于完全禁用背面剔除。
"blend" - 用于像彩色玻璃这样的方块。允许透明和半透明(稍微透明的纹理)。
"alpha_test" - 用于像原版(未染色)玻璃这样的方块。不允许半透明,只允许完全不透明或完全透明的纹理。同时禁用背面剔除。
texture 字符串 材质的纹理名称。
返回顶部

minecraft:placement_filter JSON 对象 设置在何种条件下该方块可以被放置或存活

conditions(条件)

使该方块可以被放置或存活的条件的列表,仅限 64 个条件。

名称 类型 默认值 描述
allowed_faces 数组 描述此方块可以放置在哪些面上的字符串列表:“up”(上)、“down”(下)、“north”(北)、“south”(南)、“east”(东)、“west”(西)、“side”(侧面)、“all”(所有面)。限制为6个面。
block_filter 数组 此方块可以在 "allowed_faces" 方向上放置在哪些方块旁边。限制为64个方块。此列表中的每个方块可以指定为字符串(方块名称)或方块描述符。方块描述符是一个对象,允许你根据其标签或其名称和状态来引用一个方块(或多个方块)。方块描述符的字段描述如下。
名称 类型 默认值 描述
name 字符串 方块的名称。
states 数组 方块可以具有的原版方块状态及其值的列表,以键值对的形式表示。
tags 字符串 1 使用 Molang 查询的条件,结果为 true/false,可用于查询具有某些标签的方块。
返回顶部

minecraft:queued_ticking JSON 对象 触发指定的事件,可以是一次性触发,也可以是定期触发,触发间隔等于从提供的 interval_range 中随机选择的 tick 数。
名称 类型 默认值 描述
interval_range 数组 一个以 tick 为单位的值范围,用于决定此事件触发之间的时间间隔。每个间隔将从该范围内随机选择,因此如果 interval_range 包含两个不同的值,此事件触发之间的时间将有所不同。如果 interval_range 中的值相同,则事件总是在该数量的 tick 后触发。
looping 布尔值 true 事件是否循环?如果为 false,事件将只触发一次,触发延迟等于从 interval_range 中随机选择的 tick 数。如果为 true,事件将循环,每次事件之间的间隔等于从 interval_range中 随机选择的 tick 数。
on_tick 触发器 将被一次性触发或定期触发的事件。
名称 类型 默认值 描述
condition 字符串 1 使用 Molang 查询的条件,结果为 true/false。如果在计划的 tick 上为 true,则会触发事件。如果在计划的 tick 上为 false,则不会触发事件。
event 字符串 set_block_state 将被触发的事件。
target 字符串 self 方块执行的事件的目标。
minecraft:random_ticking JSON 对象 根据随机刻速度游戏规则随机触发指定事件。随机刻速度决定了方块更新的频率。其他使用随机刻的游戏机制示例包括作物生长和火焰蔓延。
名称 类型 默认值 描述
on_tick 触发器 将在随机刻上触发的事件。
名称 类型 默认值 描述
condition 字符串 1 使用 Molang 查询的条件,结果为 true/false。如果在随机刻上为 true,则会触发事件。如果在随机刻上为 false,则不会触发事件。
event 字符串 set_block_state 将被触发的事件。
target 字符串 self 方块执行的事件的目标。
minecraft:redstone_conductivity 标识符字符串 方块的基本红石属性;如果未提供该组件,则使用默认值。需要1.21.30格式版本及以上。
所需实验性功能:即将推出的创作者功能(在1.21.30之前的格式版本中)
名称 类型 默认值 描述
allows_wire_to_step_down 布尔值 true 指定红石线是否可以在方块上向下阶梯式延伸。
redstone_conductor 布尔值 false 指定方块是否可以被红石激活。
minecraft:selection_box 布尔值 / JSON 对象 定义玩家光标选择方块的区域。如果设置为 true,则使用默认值。如果设置为 false,则玩家光标无法选择此方块。如果省略此组件,则使用默认值。
名称 类型 默认值 描述
origin 向量 [a, b, c] [-8.0, 0.0, -8.0] 选择箱边界的最小坐标值。"origin"(原点)以 [x, y, z] 格式指定,且取值范围必须为闭区间 (-8, 0, -8) 到 (8, 16, 8)。
size 向量 [a, b, c] [16.0, 16.0, 16.0] 选择箱各边尺寸参数。尺寸以 [x, y, z] 格式指定,且"origin"(原点)坐标与"size"(尺寸)之和必须在闭区间 (-8, 0, -8) 到 (8, 16, 8) 范围内。
minecraft:transformation JSON 对象 方块相对于其世界位置中心的平移、旋转和缩放

rotation

方块的旋转,以90度的增量表示
返回顶部

rotation_pivot

旋转的中心点
返回顶部

scale

方块的缩放比例
返回顶部

scale_pivot

缩放的中心点
返回顶部

translation

方块的平移
返回顶部

minecraft:unit_cube JSON 对象 指定使用细分曲面技术的单位立方体。
返回顶部

方块定义属性

这些属性是方块定义的一部分。这有助于系统确定如何解析和初始化该方块。

名称 类型 默认值 描述
format_version 字符串 指定制作该实体的游戏的版本。如果该版本比当前版本低,则任何对原版版本中的实体做出的变更都将应用到它身上。

代码示例

示例

返回顶部

方块描述属性

名称 类型 默认值 描述
identifier 字符串 该方块的标识符。该名称必须包含一个命名空间,而且除非想要覆写一个原版方块,否则不可以使用minecraft命名空间。
返回顶部

方块事件响应

方块触发器组件的事件响应。

名称 类型 默认值 描述
add_mob_effect JSON 对象 将生物效果应用到目标对象。
名称 类型 默认值 描述
amplifier 整数 0 该生物效果的倍率。
duration 小数 0.0 该生物效果的持续时间。
effect 字符串 要应用的生物效果。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
damage JSON 对象 对该目标对象结算伤害。
名称 类型 默认值 描述
amount 整数 0 要结算的伤害的数量。
mob_amount 整数 0 The amount of damage to deal if held by a mob.
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
type 字符串 要结算的伤害的类型。
decrement_stack JSON 对象 自减物品堆叠。
die JSON 对象 杀死目标对象。如果目标对象是self且该事件运行自一个方块,则摧毁该方块。
名称 类型 默认值 描述
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
play_effect JSON 对象 相对于目标对象的位置生成一个粒子特效。
名称 类型 默认值 描述
data 整数 0 粒子数据值。
effect 字符串 要创建的粒子特效的名称。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
play_sound JSON 对象 相对于目标对象的位置播放一个声音。
名称 类型 默认值 描述
sound 字符串 要播放的声音的名称。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
remove_mob_effect JSON 对象 从目标对象上移除生物效果。
名称 类型 默认值 描述
effect 字符串 要移除的生物效果。使用 'all' 以从目标对象上移除所有生物效果。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
run_command JSON 对象 触发一个斜杠命令或一个斜杠命令的列表。
名称 类型 默认值 描述
command 字符串 要运行的斜杠命令。
command 数组 数组 要运行的斜杠命令的列表。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
set_block JSON 对象 要将该方块设置为另一个方块类型。
名称 类型 默认值 描述
block_type 字符串 要设置的方块的类型。
set_block_at_pos JSON 对象 将相对于该方块的一个方块设置为另一个方块类型。
名称 类型 默认值 描述
block_offset 向量 [a, b, c] [0.0, 0.0, 0.0] 从该方块的中心的偏移量。
block_type 字符串 要设置的方块的类型。
set_block_state JSON 对象 在该方块上设置一个方块状态。
名称 类型 默认值 描述
state Molang 要在该方块上设置的方块状态。
spawn_loot JSON 对象 从方块生成一次战利品。
名称 类型 默认值 描述
table 字符串 相对于行为包的路径到该战利品表文件的文件路径
swing JSON 对象 可以造成活动对象挥摆的事件
teleport JSON 对象 将目标对象随机传送到目的地点周围。
名称 类型 默认值 描述
avoid_water 布尔值 true 确定该次传送是否避免将目标对象放置在水中。
destination 向量 [a, b, c] [0.0, 0.0, 0.0] 该次传送的原始目的地。
land_on_block 布尔值 true 确定该次传送是否将目标对象放置在一个方块上。
max_range 向量 [a, b, c] [8.0, 8.0, 8.0] 该目标对象能够相对于原始目的地传送的最大范围。
target Minecraft 过滤器 self 要对其执行的目标对象上下文。
transform_item JSON 对象 将物品转化为另一个物品。
名称 类型 默认值 描述
transform 字符串 该物品应当转化为的物品的名称。

代码示例

Event Response Example

返回顶部

方块触发器组件

名称 类型 默认值 描述
minecraft:on_fall_on JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
min_fall_distance 小数 0.0 一个活动对象想要触发该事件所需下落的最小距离(以方块为单位)。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_interact JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_placed JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_player_destroyed JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_player_placing JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_step_off JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
minecraft:on_step_on JSON 对象 描述了该方块的事件。
名称 类型 默认值 描述
condition 字符串 要执行在该方块上的事件的条件。
event 字符串 执行在该方块上的事件。
target 字符串 self 执行在该方块上的事件的目标对象。
返回顶部