Skip to content

Instantly share code, notes, and snippets.

@IllagerCaptain
Created January 27, 2026 19:39
Show Gist options
  • Select an option

  • Save IllagerCaptain/98b6129f2bce2a6aa49f9c252363821c to your computer and use it in GitHub Desktop.

Select an option

Save IllagerCaptain/98b6129f2bce2a6aa49f9c252363821c to your computer and use it in GitHub Desktop.
Poorly generated documentation for Minecraft Bedrock block components that will likely be outdated by the time you find this.

minecraft:collision_box

Defines the area of the block that collides with entities. If set to true, default values are used. If set to false, the block's collision with entities is disabled. If this component is omitted, default values are used.

Parameter Name Type Comment
origin vec3 Minimal position of the bounds of the collision box.
size vec3 Size of each side of the collision box.

origin

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

size

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

minecraft:connection_rule

Defines whether other blocks such as fences, walls, bars, and glass panes are allowed to connect to this block.

Parameter Name Type Comment
accepts_connections_from string The type of block allowed to connect to this block. Note that the "only_fences" option allows connections from all Vanilla fences excluding NetherBrick. Enum: none, only_fences, all.
enabled_directions array The cardinal directions that connection is enabled for. Note that if "none" is specified for "accepts_connections_from", this field will not be used.

minecraft:crafting_table

Makes your block into a custom crafting table which enables the crafting table UI and the ability to craft recipes.

Parameter Name Type Comment
crafting_tags array Defines the tags recipes should define to be crafted on this table. Limited to 64 tags. Each tag is limited to 64 characters.
table_name string Specifies the language file key that maps to what text will be displayed in the UI of this table. If the string given can not be resolved as a loc string, the raw string given will be displayed. If this field is omitted, the name displayed will default to the name specified in the "display_name" component. If this block has no "display_name" component, the name displayed will default to the name of the block.

minecraft:destructible_by_explosion

Describes the destructible by explosion properties for this block. If set to true, the block will have the default explosion resistance. If set to false, this block is indestructible by explosion. If the component is omitted, the block will have the default explosion resistance.

Parameter Name Type Comment
explosion_resistance number Sets the explosion resistance for the block. Greater values result in greater resistance to explosions. The scale will be different for different explosion power levels. A negative value or 0 means it will easily explode; larger numbers increase level of resistance.

minecraft:destructible_by_mining

Describes the destructible by mining properties for this block. If set to true, the block will take the default number of seconds to destroy. If set to false, this block is indestructible by mining. If the component is omitted, the block will take the default number of seconds to mine.

Parameter Name Type Comment
item_specific_speeds array Optional array with item specific mining speeds.
seconds_to_destroy number Sets the number of seconds it takes to mine the block with base equipment. Greater numbers result in greater mining times. A negative number means the block can't be mined

item_specific_speeds

Parameter Name Type Comment
destroy_speed number Mining speed for that specific item. A negative number means the block can't be mined with that item.
item Item Descriptor The item with a specific mining speed.

minecraft:destruction_particles

Sets the particles that will be used when block is destroyed. This component can be omitted.

Parameter Name Type Comment
particle_count integer Sets number of particles to spawn on block destruction. Default is 100.
texture string The texture name used for the particle.
tint_method string Sets the tint method of the particle. Tint method logic varies, but often refers to the "rain" and "temperature" of the biome the block is placed in to compute the tint. Supported tint methods are "none", "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass" and "water"

minecraft:display_name

Specifies the language file key that maps to what text will be displayed when you hover over the block in your inventory and hotbar. If the string given can not be resolved as a loc string, the raw string given will be displayed. If this component is omitted, the name of the block will be used as the display name.

Parameter Name Type Comment
value string The display name.

minecraft:entity_fall_on

Configures the behavior of an entity falling on this block. The minimum distance in blocks that an actor needs to fall before events are triggered.

Parameter Name Type Comment
min_fall_distance number The minimum distance in blocks that an actor needs to fall before events are triggered.

minecraft:flammable

Describes the flammable properties for this block. If set to true, default values are used. If set to false, or if this component is omitted, the block will not be able to catch on fire naturally from neighbors, but it can still be directly ignited.

Parameter Name Type Comment
catch_chance_modifier integer A modifier affecting the chance that this block will catch flame when next to a fire. Values are greater than or equal to 0, with a higher number meaning more likely to catch on fire. For a catch_chance_modifier greater than 0, the fire will continue to burn until the block is destroyed (or it will burn forever if the destroy_chance_modifier is 0). If the catch_chance_modifier is 0, and the block is directly ignited, the fire will eventually burn out without destroying the block (or it will have a chance to be destroyed if destroy_chance_modifier is greater than 0). The default value of 5 is the same as that of Planks.
destroy_chance_modifier integer A modifier affecting the chance that this block will be destroyed by flames when on fire. Values are greater than or equal to 0, with a higher number meaning more likely to be destroyed by fire. For a destroy_chance_modifier of 0, the block will never be destroyed by fire, and the fire will burn forever if the catch_chance_modifier is greater than 0. The default value of 20 is the same as that of Planks.

minecraft:flower_pottable

This component allows the held item version of this block to be interacted with an empty flowerpot to place the block in it.

This component has no parameters.

minecraft:friction

Describes the friction for this block in a range of (0.0-0.9). Friction affects an entity's movement speed when it travels on the block. Greater value results in more friction.

Parameter Name Type Comment
value number Range 0.0 - 0.9

minecraft:geometry

The component that describes the geometry to use to render this block. It can be specified as a JSON object with the following fields, or simply as a string containing the description identifier of the geometry to use to render this block. This identifier must either match an existing geometry identifier in any of the loaded resource packs or be one of the currently supported Vanilla identifiers: "minecraft:geometry.full_block" or "minecraft:geometry.cross".

Parameter Name Type Comment
bone_visibility object A JSON object that contains a list of key/value pairs that map from bone name in the specified geometry file (key) to a Molang expression that tells whether the bone should be visible or not (value). The expression is limited to using the "query.block_state()" query. When using "bone_visibility" in geometry components in the "permutations" section, you must also have a default version of the geometry component with "bone_visibility" in the "components" section.
culling string Which block_culling .json file to use when rendering this block.
culling_layer string A string that allows culling rule to group multiple blocks together when comparing them. When using the minecraft namespace, the only allowed culling layer identifiers are : "minecraft:culling_layer.undefined" or "minecraft:culling_layer.leaves". When using no namespaces or a custom one, the names must start and end with an alpha-numeric character.
culling_shape string Currently only available with the VoxelShape experiment on. The voxel shape used for culling adjacent block faces. Voxel shapes work together with culling rules and will not function if there is no culling rule defined for the block. Only adjacent blocks with voxel shapes will occlude using this shape. Blocks using "minecraft:geometry.full_block" always use the unit cube shape and will ignore custom shapes if specified. When using the minecraft namespace, the only currently available culling shape identifiers are : "minecraft:empty" or "minecraft:unit_cube". When using no namespaces or a custom one, the names must start and end with an alpha-numeric character.
identifier string The description identifier of the geometry to use to render this block. This identifier must either match an existing geometry identifier in any of the loaded resource packs or be one of the currently supported Vanilla identifiers: "minecraft:geometry.full_block" or "minecraft:geometry.cross".
uv_lock boolean/array A field that is either a Boolean or an array of strings, max size 64 strings. This field locks UV orientation for all/some bones in the geometry, regardless of how the block is rotated using "minecraft:transformation" component. For performance reasons it's recommended to use the Boolean.

minecraft:item_visual

The "minecraft:geometry" component and "minecraft:material_instances" component of an item. Can be used instead of having separated component for each.

Parameter Name Type Comment
geometry Geometry The "minecraft:geometry" component of the item.
material_instances Material Instances Component The "minecraft:material_instances" component of the item.

geometry

See minecraft:geometry for details.

material_instances

See minecraft:material_instances for details.

minecraft:light_dampening

The amount that light will be dampened when it passes through the block. Higher value means the light will be dampened more.

Parameter Name Type Comment
value integer Range 0 - 15

minecraft:light_emission

The amount of light this block will emit. Higher value means more light will be emitted.

Parameter Name Type Comment
value integer Range 0 - 15

minecraft:liquid_detection

The definitions for how a block behaves when detecting liquid. Only one rule definition is allowed per liquid type - if multiple are specified, the first will be used and the rest will be ignored.

Parameter Name Type Comment
detection_rules array List of Detection Rules.

detection_rules

Parameter Name Type Comment
can_contain_liquid boolean Whether this block can contain the liquid. For example, if the liquid type is water, this means the block can be waterlogged.
liquid_type string The type of liquid this detection rule is for. Currently, water is the only supported liquid type. If this field is omitted, water will be the liquid type by default.
on_liquid_touches string How the block reacts to flowing water. Must be one of the following options: "blocking" - The default value for this field. The block stops the liquid from flowing. "broken" - The block is destroyed completely. "popped" - The block is destroyed and its item is spawned. "no_reaction" - The block is unaffected; visually, the liquid will flow through the block.
stops_liquid_flowing_from_direction array When a block contains a liquid, controls the directions in which the liquid can't flow out from the block. Also controls the directions in which a block can stop liquid flowing into it if no_reaction is set for the on_liquid_touches field. Can be a list of the following directions: "up", "down", "north", "south", "east", "west". The default is an empty list; this means that liquid can flow out of all directions by default.
use_liquid_clipping boolean Whether this block uses the encompassing collider to visually clip the liquid. The encompassing collider is the smallest single AABB that contains all of the block's colliders.

minecraft:loot

The path to the loot table, relative to the behavior pack. Path string is limited to 256 characters.

Parameter Name Type Comment
value string File path.

minecraft:map_color

Sets the color and optional tint of the block when rendered to a map.

Parameter Name Type Comment
color Color255RGB Sets the color of the block when rendered to a map. The color is represented as a hex value in the format "#RRGGBB". May also be expressed as an array of [R, G, B] from 0 to 255.
tint_method string Sets the tint method of the block when rendered to a map. Tint method logic varies, but often refers to the "rain" and "temperature" of the biome the block is placed in to compute the tint. Supported tint methods are "none", "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass" and "water"

minecraft:material_instances

The material instances for a block. Maps face or material_instance names in a geometry file to an actual material instance. Material instance can either be a full material instance or a name to another already defined instance. Limited to 64 instances.

Parameter Name Type Comment
* (Map Key) string Face or material_instance name.
* (Map Value) Material Instance The definition or reference string.

Material Instance

Parameter Name Type Comment
alpha_masked_tint boolean Is the tint multiplied by the alpha channel of the texture (similar to grass_block's sides). Requires a "tint_method" other than "none" and a "render_method" set to "opaque"
ambient_occlusion number Should this material have ambient occlusion applied when lighting? If true, shadows will be created around and underneath the block. Optionally can be constructed with float to control exponent applied to ao value after lighting.
face_dimming boolean Is this material dimmed by the direction it's facing
isotropic boolean Is the faces that this material is applied to randomize their UVs
render_method string The render method to use. Each material of the block must use the same. Options: "opaque", "double_sided", "blend", "alpha_test", "alpha_test_single_side", "blend_to_opaque", "alpha_test_to_opaque", "alpha_test_single_side_to_opaque".
texture string Texture name for the material.
tint_method string Tint multiplied to the color. Supported tint methods are "none", "default_foliage", "birch_foliage", "evergreen_foliage", "dry_foliage", "grass" and "water"

minecraft:movable

This defines how a block reacts to being moved by another block like a piston.

Parameter Name Type Comment
movement_type string How the block reacts to being pushed by another block like a piston. The options are: "push_pull" - The default value for this field. The block will be pushed and pulled by a piston. "push" - The block will only be pulled by a piston and will ignore a sticky piston. "popped" - The block is destroyed when moved by a piston. "immovable" - The block is unaffected by a piston.
sticky string How the block should handle adjacent blocks around it when being pushed by another block like a piston. The options are: "same" - Adjacent blocks to this block will be moved when moved. This excludes other blocks with the "same" property. This will only work with the movement_type: "push_pull". "none" - The default and will not move adjacent blocks.

minecraft:on_fall_on

Deprecated.

minecraft:on_interact

Deprecated.

minecraft:on_placed

Deprecated.

minecraft:on_player_destroyed

Deprecated.

minecraft:on_player_placing

Deprecated.

minecraft:on_step_off

Deprecated.

minecraft:on_step_on

Deprecated.

minecraft:placement_filter

Parameter Name Type Comment
conditions array List of conditions where the block can be placed/survive

conditions

Parameter Name Type Comment
allowed_faces array List of strings describing which face(s) this block can be placed on (up, down, north, south, east, west).
block_filter array List of blocks that this block can be placed against in the "allowed_faces" direction. Each block in this list can either be specified as a String (block name) or as a BlockDescriptor.

minecraft:random_offset

This component defines a random offset for the block, seeded based on the block's position and the specified range and steps. It affects the block's rendered position, outline, and collision. If the random offset causes the collision box to extend beyond the bounds of a cube, the offset range will automatically adjust to keep the collision box within the cube. Culling for this block is performed without considering the random offset.

Parameter Name Type Comment
x object Random Offset details for X axis.
y object Random Offset details for Y axis.
z object Random Offset details for Z axis.

x

Parameter Name Type Comment
range FloatRange The range of the random offset.
steps integer The number of steps between the range. Specify 0 for all possible values between the range.

range

Parameter Name Type Comment
max number Default: 0
min number Default: 0

y

Parameter Name Type Comment
range FloatRange The range of the random offset.
steps integer The number of steps between the range. Specify 0 for all possible values between the range.

range

Parameter Name Type Comment
max number Default: 0
min number Default: 0

z

Parameter Name Type Comment
range FloatRange The range of the random offset.
steps integer The number of steps between the range. Specify 0 for all possible values between the range.

range

Parameter Name Type Comment
max number Default: 0
min number Default: 0

minecraft:redstone_conductivity

The basic redstone properties of a block. If the component is not provided the default values are used.

Parameter Name Type Comment
allows_wire_to_step_down boolean Specifies if redstone wire can stair-step downward on the block.
redstone_conductor boolean Specifies if the block can be powered by redstone.

minecraft:redstone_producer

The definitions for how a block can produce a redstone signal.

Parameter Name Type Comment
connected_faces array The list of faces that are considered connected to the circuit. If a face is not connected, it will not provide power to the block touching that face. By default, all faces are connected.
power integer The strength of the redstone signal produced by this block. 0 means no signal and higher numbers mean stronger signal.
strongly_powered_face string The block touching this face will become strongly powered with the signal level strength of "power". Strongly powered blocks will power adjacent blocks. By default, the block will not strongly power any face.
transform_relative boolean If true, the "strongly_powered_face" and "connected_faces" properties will be rotated according to the "minecraft:transformation" component.

minecraft:replaceable

A block with this component can be replaced when another block is placed in the same block position.

This component has no parameters.

minecraft:selection_box

Defines the area of the block that is selected by the player's cursor. If set to true, default values are used. If set to false, this block is not selectable by the player's cursor. If this component is omitted, default values are used.

Parameter Name Type Comment
origin vec3 Minimal position of the bounds of the collision box.
size vec3 Size of each side of the collision box.

origin

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

size

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

minecraft:support

Defines the support shape of the block. Currently only allows for blocks to have the same shape as a Vanilla fence and Vanilla stair. To work with custom stairs, requires the use of "minecraft:vertical_half" and "minecraft:cardinal_direction" or "minecraft:facing_direction" which can be set through the "minecraft:placement_direction" block trait. Custom blocks without this component will default to unit cube support. The type of support shape for this block. Currently, the options are: "fence" and "stair".

Parameter Name Type Comment
shape string Required field. The type of support shape for this block. Enum: fence, stair.

minecraft:tags

Use this component to define tags, vanilla or custom. Valid tags are of the format "namespace:tag_name". The array of tags must be non-empty.

Parameter Name Type Comment
value array List of tags strings.

minecraft:tick

Parameter Name Type Comment
interval_range array A range of values, specified in ticks, that will be used to decide the interval between times this block will tick. Each interval will be chosen randomly from the range, so the times between this block ticking will differ given an interval_range of two different values. If the values in the interval_range are the same, the block will always be ticked after that number of ticks.
looping boolean Does the block tick continuously? If false, the block will only be ticked once, after a delay equal to a number of ticks randomly chosen from the interval_range. If true, the block will loop, and each interval between ticks will be equal to a number of ticks randomly chosen from the interval_range.

minecraft:transformation

Parameter Name Type Comment
rotation vec3 The block's rotation in increments of 90 degrees
rotation_pivot vec3 The block's rotation pivot
scale vec3 The block's scale
scale_pivot vec3 The block's scale pivot
translation vec3 The block's translation

rotation

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

rotation_pivot

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

scale

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

scale_pivot

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0

translation

Parameter Name Type Comment
x number Default: 0
y number Default: 0
z number Default: 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment