Bedrock Wiki
  • Discord
  • Contribute
  • bedrock.dev
  • MS Learn
Beginner's Guide
  • Guide
    • 1. Introduction
      guide
    • 2. Add-Ons Explained
    • 3. Software & Preparation
    • 4. Project Setup
    • 5. Create a Custom Item
    • 6. Create a Custom Entity
    • 7. Blockbench: Modeling, Texturing & Animating
    • 8. Adding a Loot Table, Spawn Rule & Crafting Recipe
  • Extra
    • a. Understanding JSON
    • b. Download Example Packs
    • c. Troubleshooting
      help
    • d. Advanced Manifest
    • e. Format Versions
    • f. Project Setup Android
Animation Controllers
  • Intro to Animation Controllers
    guide
  • Entity Commands
  • AFK Detector
  • Death Commands
  • Molang into Scoreboard
  • Respawn Commands
Blocks
  • General
    • Intro to Blocks
      guide
    • Block Components
    • Block Tags
    • Block States
    • Block Traits
    • Block Permutations
    • Block Events
      Scripts
    • Block Event Migration
      help
    • Blocks as Items
    • Troubleshooting Blocks
      help
  • Visuals
    • Block Culling
    • Block Models
      guide
    • Block Texture Animation
    • Block Texture Variation
    • Block Tinting
  • Tutorials
    • Applying Constant Effects
      Scripts
    • Avoiding State Limit
    • Fake Blocks
      Scripts
    • Ore Loot Tables
      Scripts
    • Precise Interaction
      Scripts
    • Precise Rotation
      Scripts
    • Rotatable Blocks
  • Vanilla Re-Creations
    • Custom Crops
      Scripts
    • Custom Glass
    • Custom Glazed Terracotta
    • Custom Trapdoors
      Scripts
  • Documentation
    • Block Format History
    • Block Shapes
    • Block Sounds
    • Vanilla Block Models
Commands
  • General
    • Intro to Command Blocks
    • Functions
    • Block States
    • Coordinate System
    • NBT Commands
    • Scoreboard Operations
    • Understanding Selectors
  • Commands
    • Damage
    • Execute
    • Playanimation
    • Playsound
  • On Event Systems
    • On Player First Join
    • On Player Join
    • On Player Leave
    • On Player Death
    • On Player Respawn
    • On First World Load
  • Scoreboard Systems
    • Entity Counter
    • Scoreboard Timers
    • Comparing And Retrieving Scores
  • Techniques
    • Execute Logic Gates
    • MBE - Max's Block Entity
    • FMBE - A New Way to Create Display Entities
    • Look Detection
    • Movement Detections
    • Orbital Camera
  • Useful Creations
    • Custom Crafter
    • Multiplayer Position Rearrangement
      function
Concepts
  • contents.json
  • Emojis & Symbols
  • Molang
  • Namespaces
  • Overwriting Assets
  • Raw Text
  • Shaders
  • Sounds
  • Subpacks
  • Text and Localization
  • Texture Atlases
  • textures_list.json
Documentation
  • Shared Constructs
  • Advanced Molang
  • File Types
  • Fog IDs
  • Material Configuration Description
  • Menu Categories
  • Molang Queries
  • Pack Folder Structure
  • Sound Definitions
  • Vanilla Materials
Entities
  • General
    • Intro to Entities BP
      guide
    • Intro to Entities RP
      guide
    • Troubleshooting Entities
      help
    • Entity Events
    • Entity Properties
    • NPC Dialogues
    • Render Controllers
    • Spawn Rules
  • Tutorials
    • Convert Points Between Any Space (World, Entity, Bones)
    • Creating Boats
    • Detecting Other Entities
    • Disabling Team Damage
    • Dummy Entities
    • Entity Attacks
    • Entity Holds Item
    • Entity Movement
    • Entity Timers
    • Flying Entities
    • Introduction to AOE Clouds
    • Invulnerable Entities
    • Look at Entity
    • Sleeping Entities
    • Solid Entities
    • Spawning Tamed Entities
      Scripts
    • Village Mechanic
  • Documentation
    • Dummy Components
    • Non-Mob Runtime Identifiers
    • Projectiles
    • Runtime Identifiers
    • Vanilla Usage Components
    • Vanilla Usage Spawn Rules
Items
  • General
    • Intro to Items
      guide
    • Item Components
    • Item Tags
    • Item Events
      Scripts
    • Item Event Migration
      help
    • Troubleshooting Items
      help
  • Tutorials
    • Custom Armor
    • Custom Food
      Scripts
    • Custom Pottery Sherds
    • Custom Weapons
    • Equipment-Based Commands
    • High Resolution Items
    • Spawning Items
    • Throwable Items
  • Documentation
    • Enchantments
    • Attachables
    • Item Format History
    • Numerical Item IDs
    • Vanilla Item Identifiers
    • Vanilla Usage Components
JSON UI
  • General
    • Intro to JSON UI
      guide
    • Best Practices
      guide
  • Tutorials
    • Adding HUD Elements
    • Aseprite Animations
    • Buttons and Toggles
    • Modifying Server Forms
    • Preserve Title Texts
    • String to Number
  • Documentation
    • JSON UI Documentation
Loot, Recipes & Trading
  • General
    • Trading Behavior
  • Documentation
    • Loot Tables
    • Trade Tables
    • Recipes
    • Item Functions
  • Tutorials
    • Randomized Structure Loot
Meta
  • Add-On Performance
  • Style Guide
  • Useful Links
  • Using Schemas
  • Version Control
  • Q&A
    • Blocks and Items Q&A 2024/08/30
    • Deferred Technical Preview Q&A 2024/02/23
    • GameTest Q&A 2021/08/06
    • Scripting and Editor Q&A 2023/09/22
    • World Generation Q&A 2024/11/15
NBT
  • General
    • .mcstructure
  • Tutorials
    • Experiments in Minecraft Education
    • Extending Structure Limits
  • NBT in Depth
    • About NBT (Named Binary Tag)
    • NBT Libraries
    • Reading NBT Example
Particles
  • General
    • Intro to Particles
      guide
  • Tutorials
    • Disabling Particles
  • Documentation
    • Vanilla Particles
Scripting
  • General
    • Intro to Scripting
    • What is Script API?
    • API Modules
  • Tutorials
    • Block Placement Prevention
    • GameTests
    • Script Core Features
    • Script Forms
    • Script Requests API
    • Simple Chat Commands
  • Documentation
    • Engine Environment
    • Script Resources
    • Script Watchdog
    • Troubleshooting JavaScript
    • TypeScript
Servers
  • Software
    • Bedrock Server Software
  • Protocols
    • Bedrock Protocol
    • NetherNet Protocol
    • RakNet Protocol
Visuals
  • General
    • Introduction to Entity Visuals
      guide
    • Bedrock Modeling
    • Custom Death Animations
    • Effects in Animations
    • Material Creations
    • Materials
    • Math-Based Animations
    • Skin Packs
  • Tutorials
    • Entity Texture Animation
    • Glowing Entity Texture
    • Hurt Animations
    • Leash Position
    • Player Geometry
    • Remove Entity Shadows
    • Retexturing Spawn Eggs
  • Ideas
    • Structure Presentation
World Generation
  • General
    • Intro to World Generation
      guide
    • Biomes
      guide
    • Feature Types
    • Jigsaw Structures
  • Tutorials
    • Block Conditions for Features
    • Generating Custom Ores
    • Generating Custom Structures
    • Generating Patches
    • Heightmap Noise
  • Documentation
    • Biome Tags

Block Components

Block Components
  • Applying Components
  • List of Components
    • Collision Box
    • Crafting Table
    • Destructible by Explosion
    • Destructible by Mining
    • Destruction Particles
    • Display Name
    • Entity Fall On
    • Flammable
    • Friction
    • Geometry
    • Item Visual
    • Light Dampening
    • Light Emission
    • Liquid Detection
    • Loot
    • Map Color
    • Material Instances
    • Placement Filter
    • Redstone Conductivity
    • Replaceable
    • Selection Box
    • Tick
    • Transformation

FORMAT & MIN ENGINE VERSION 1.21.70

Using the latest format version when creating custom blocks provides access to fresh features and improvements. The wiki aims to share up-to-date information about custom blocks, and currently targets format version 1.21.70.

OVERRIDING COMPONENTS

Only one instance of each component can be active at once. Duplicate components will be overridden by the latest permutations entry.

Applying Components ​

Block components are used to change how your block appears and functions in the world. They are applied in the components child of minecraft:block or a permutation.

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

List of Components ​

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.

Released from experiment Holiday Creator Features for format versions 1.19.50 and higher.

Type: Boolean/Object

  • origin: Vector [a, b, c]
    • Minimal position of the bounds of the collision box. origin is specified as [x, y, z] and must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.
  • size: Vector [a, b, c]
    • Size of each side of the collision box. Size is specified as [x, y, z]. origin + size must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.

Example using Boolean ​

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

Example using Object ​

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

Crafting Table ​

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

Released from experiment Holiday Creator Features for format versions 1.19.50 and higher.

Type: Object

  • crafting_tags: Array
    • Required Field
    • 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:block > components
json
"minecraft:crafting_table": {
    "table_name": "Wiki Workbench",
    "crafting_tags": [
        "crafting_table",
        "wiki_workbench"
    ]
}
1
2
3
4
5
6
7

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.

Type: Boolean/Object

  • explosion_resistance: Float
    • Describes how resistant the block is to explosion. Greater values mean the block is less likely to break when near an explosion (or has higher 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.

Example using Boolean ​

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

Example using Object ​

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

Destructible by Mining ​

Describes the destructible by mining properties for this block.

If omitted or set to true, the block will be destroyed instantly. If set to false, the block is indestructible by mining.

Type: Boolean/Object

  • seconds_to_destroy: Float
    • Sets the hardness of the block. Greater numbers result in greater mining times.

SECONDS TO DESTROY

The name of the seconds_to_destroy parameter is misleading. While the name suggests that this parameter determines how many seconds it takes to destroy the block, in reality the parameter sets the "hardness" value of the block.

By default, the number of seconds it takes to destroy a custom block is 1.5× its hardness.

Example using Boolean ​

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

Example using Object ​

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

Destruction Particles ​

Determines the appearance of the particles created when hitting, destroying, stepping on and falling onto blocks.

Type: Object

  • texture: String (optional)
    • Specifies the texture atlas shortname to use from RP/textures/terrain_texture.json.
    • By default, particles will use the texture of the down material instance (or * if not specified).
  • tint_method: String (optional)
    • Specifies the tint method used to tint the texture based on the biome the block is placed in.
minecraft:block > components
json
"minecraft:destruction_particles": {
    "texture": "wiki:particle_texture",
    "tint_method": "grass"
}
1
2
3
4

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.

Released from experiment Holiday Creator Features for format versions 1.19.60 and higher.

Type: String

Example using String ​

minecraft:block > components
json
"minecraft:display_name": "Custom Block"
1

Example using Localization String ​

minecraft:block > components
json
"minecraft:display_name": "tile.wiki:custom_block.name"
1
RP/texts/en_US.lang
lang
tile.wiki:custom_block.name=Custom Block
1

Entity Fall On ​

Triggers an event when an entity falls onto this block.

Type: Object

  • min_fall_distance: Float
    • The minimum distance an entity must fall to trigger the event in blocks.

Released from experiment Beta APIs for format versions 1.21.10 and higher.

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

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.

Type: Boolean/Object

  • 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.

Example using Boolean ​

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

Example using Object ​

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

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.

Type: Float

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

Geometry ​

The description identifier of the geometry to use to render this block. This identifier must match an existing geometry identifier in any of the loaded resource packs or refer to one of the currently supported vanilla models.

Custom block model limitations:

  • Your block is limited to 30×30×30 pixels in size.

  • At least 1 pixel of your block on each axis must be contained by the base 16×16×16 block.

  • The absolute bounds of the position of your 30×30×30 block are 30 pixels in each direction from the origin. Your block can be placed in any position within these bounds, as long as it adheres to rule #2.

Note: Does not conduct redstone. Even if using the vanilla full_block identifier. Makes your block breathable as well. Mobs are unable to spawn as well. Interestingly, bats are able to hang upside down on them despite being a "non solid" block in terms of spawnability and conducitvity.

Released from experiment Holiday Creator Features for format versions 1.19.40 and higher.

Type: String/Object

  • identifier: String
    • The identifier of the geometry.
  • bone_visibility: Object
    • Optional “array” of Booleans that define the visibility of individual bones in the geometry file. In order to set up bone_visibility the geometry file name must be entered as an identifier. After the identifier has been specified, bone_visibility can be defined based on the names of the bones in the specified geometry file on a true/false basis.
    • Note that all bones default to true, so bones should only be defined if they are being set to false. Including bones set to true will work the same as the default.

Example using String ​

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

Example using Object ​

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

Bone Visibility ​

Hide direct child cubes of bones in your model.

Molang expressions must adhere to permutation condition limitations.

Molang expressions supported in bone_visibility for format versions 1.20.10 and higher.

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

Item Visual ​

Determines how this block is displayed as an item.

Type: Object

  • geometry: String/Object - the displayed geometry component.
  • material_instances: Object - the displayed material instances component.

Released from experiment Upcoming Creator Features for format versions 1.21.60 and higher.

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

Light Dampening ​

The amount that light will be dampened when it passes through the block, in a range (0-15). Higher value means the light will be dampened more.

Type: Integer

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

Light Emission ​

The amount of light this block will emit in a range (0-15). Higher value means more light will be emitted.

Type: Integer

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

Liquid Detection ​

Determines how this blocks behaves with different types of liquid.

Type: Object

  • detection_rules: Array
    • liquid_type: String - which type of liquid this rule applies to. Currently only water is supported.
    • can_contain_liquid: Boolean - whether the liquid type can occupy the same space as this block e.g., waterlogging.
    • on_liquid_touches: String - determines what happens when the liquid type flows into the block.
      • blocking (default) - Prevents the liquid from flowing.
      • broken - The block is broken.
      • no_reaction - Allows the liquid to flow through the block.
      • popped - The block is popped off, dropping its loot.
    • stops_liquid_flowing_from_direction: Array - determines an array of directions that the liquid cannot flow out of this block from.
      • If on_liquid_touches is set to no_reaction, this array also determines the directions that the liquid cannot flow into this block from.

Released from experiment Upcoming Creator Features for format versions 1.21.60 and higher.

minecraft:block > components
json
"minecraft:liquid_detection": {
    "detection_rules": [
        {
            "liquid_type": "water",
            "can_contain_liquid": true, // Waterloggable
            "on_liquid_touches": "no_reaction" // Water flows through the block like air
        }
    ]
}
1
2
3
4
5
6
7
8
9

Loot ​

The path to the loot table, relative to the behavior pack. Silk Touch overrides this.

If omitted, drops the block as an item.

Type: String

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

Map Color ​

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. If this component is omitted, the block will not show up on the map.

Type: String/Object/Vector [a, b, c]

  • tint_method: String (optional)
    • Specifies the tint method used to tint the color based on the biome the block is placed in.

Example using String ​

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

Example using Object ​

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

Example using Vector [a, b, c] ​

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

Material Instances ​

Configuration of your block's rendering, including textures and lighting.

  • All instances must have the same render method (MCPE-190430).
  • Block faces will unconditionally darken if intersecting another block.
  • By default, the texture of the down (or * if not specified) instance is used for destruction particles.

Material instances can be combined with RP/blocks.json entries to create blocks which exhibit opaque-like properties. This is primarily used to enable face culling on custom glass blocks.

Released from experiment Holiday Creator Features for format versions 1.19.40 and higher.

minecraft:block > components
json
"minecraft:material_instances": {
    // '*' instance required - default instance for cube faces
    // Instance names 'up', 'down', 'north', 'east', 'south' and 'west' are built in
    "*": {
        "texture": "wiki:texture_name", // Shortname defined in `RP/textures/terrain_texture.json`
        "tint_method": "grass", // Tint the texture based on the biome the block is placed in
        "render_method": "blend", // One of the render methods in the above table
        "ambient_occlusion": true, // Defaults to true (1); should shadows be created based on surrounding blocks? Floats determine ambient occlusion intensity.
        "face_dimming": true, // Defaults to true; should faces with this material be dimmed by their direction?
        "isotropic": true // Causes the texture to randomly be rotated based on the block's position
    }
}
1
2
3
4
5
6
7
8
9
10
11
12

Render Methods ​

Render methods essentially control how a block appears in the world, much like entity materials. Below are the key properties of each type:

Render MethodTransparencyTranslucencyBackface CullingDistant CullingVanilla Examples
alpha_test✔️❌❌✔️Vines, Rails, Saplings
alpha_test_single_sided✔️❌✔️✔️Doors, Trapdoors
blend✔️✔️✔️❌Glass, Beacon, Honey Block
double_sided❌❌❌❌N/A - Use for opaque 2D plains
opaque (default)❌❌✔️❌Dirt, Stone, Concrete
  • Transparency - fully see-through areas.
  • Translucency - semi-transparent areas.
  • Backface Culling - faces become invisible when viewed from behind.
  • Distant Culling - faces become invisible after reaching half the render distance.
Distance-Based Render Methods ​
Render MethodNear AppearanceFar AppearanceVanilla Examples
alpha_test_to_opaquealpha_testopaqueLeaves
alpha_test_single_sided_to_opaquealpha_test_single_sidedopaqueKelp
blend_to_opaqueblendopaqueN/A
  • Near Appearance - the render method used before reaching half the render distance.
  • Far Appearance - the render method used after reaching half the render distance.

Custom Instance Names ​

TIP

Custom material instance names can be defined on the faces of cubes within Blockbench by right-clicking on a cube and opening its Material Instances.

Custom instance names can be defined within material instances, and can be referenced by built-in instance names, or within the block model.

minecraft:block > components
json
"minecraft:material_instances": {
    "*": {
        "texture": "wiki:texture_name",
        "render_method": "blend" // Must match other instances
    },
    // Custom instance name
    "end": {
        "texture": "wiki:texture_name_end",
        "render_method": "blend" // Must match other instances
    },
    "up": "end",
    "down": "end",
    // Instance name defined in model:
    "flower": {
        "texture": "wiki:texture_name_flower",
        "render_method": "blend" // Must match other instances
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Placement Filter ​

Sets rules for under what conditions the block can be placed or survive.

Released from experiment Holiday Creator Features for format versions 1.19.60 and higher.

Type: Object

  • conditions: Array - List of conditions where the block can be placed/survive. Limited to 64 conditions. Each condition is a JSON Object that must contain at least one (and can contain both) of the parameters allowed_faces or block_filter as shown below.
    • allowed_faces: Array - List of any of the following strings describing which face(s) this block can be placed on: up, down, north, south, east, west, side, all. Limited to 6 faces.
    • block_filter: Array - List of blocks that this block can be placed against in the allowed_faces direction. Limited to 64 blocks. Each block in this list can either be specified as a String (block name) or as a block descriptor.
minecraft:block > components
json
"minecraft:placement_filter": {
    "conditions": [
        {
            "allowed_faces": [
                "up"
            ],
            "block_filter": [
                "minecraft:dirt",
                {
                    "name": "minecraft:sand",
                    "states": {
                        "sand_type": "red"
                    }
                },
                {
                    "tags": "!q.any_tag('stone', 'wiki_tag')"
                }
            ]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

See this page for a list of vanilla tags and relevant blocks.

Redstone Conductivity ​

Defines a block's ability to conduct redstone power.

Released from experiment Upcoming Creator Features for format versions 1.21.40 and higher.

Type: Object

  • redstone_conductor: Boolean
    • Determines whether this block conducts direct redstone power.
  • allows_wire_to_step_down: Boolean
    • Determines whether redstone wire can travel down the side of this block.
minecraft:block > components
json
"minecraft:redstone_conductivity": {
    "redstone_conductor": true,
    "allows_wire_to_step_down": false
}
1
2
3
4

Replaceable ​

Allows this block to be replaced by attempting to place another block in its position.

  • Does not allow the block to be replaced by a block of the same permutation.

Type: Object

minecraft:block > components
json
"minecraft:replaceable": {}
1

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.

Released from experiment Holiday Creator Features for format versions 1.19.60 and higher.

Type: Boolean/Object

  • origin: Vector [a, b, c]
    • Minimal position of the bounds of the collision box. origin is specified as [x, y, z] and must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.
  • size: Vector [a, b, c]
    • Size of each side of the collision box. Size is specified as [x, y, z]. origin + size must be in the range (-8, 0, -8) to (8, 16, 8), inclusive.

Example using Boolean ​

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

Example using Object ​

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

Tick ​

Causes the block to tick after a random delay in the range specified by interval_range.

Type: Object

  • interval_range: Range [a, b]
    • Two durations (in ticks) which will be used as the minimum and maximum delays for randomness.
  • looping: Boolean
    • Whether this block should continuously tick, rather than only ticking once.

Released from experiment Beta APIs for format versions 1.21.10 and higher.

minecraft:block > components
json
"minecraft:tick": {
    "interval_range": [10, 20],
    "looping": true
}
1
2
3
4

Transformation ​

Supports rotation, scaling, and translation. The component can be added to the whole block and/or to individual block permutations. Transformed geometries still have the same restrictions that non-transformed geometries have such as a maximum size of 30/16 units.

Transformed models must not exceed the block geometry limits.

TIP

Lean about rotatable blocks to apply rotation based on how the block is placed, just like furnaces and mob heads!

Type: Object

  • rotation: Vector [a, b, c]
    • How many degrees to rotate the geometry. [x ,y, z]. Must be in increments of 90. Can be negative. If not in increment of 90, the game will round to the nearest 90 increment.
  • rotation_pivot: Vector [a, b, c]
    • The pivot point(in block units) to rotate the block on.
  • scale: Vector [a, b, c]
    • How many pixels to scale the geometry. [x ,y, z]
  • scale_pivot: Vector [a, b, c]
    • The pivot point(in block units) to scale the block on.
  • translation: Vector [a, b, c]
    • How many pixels to translate the geometry. [x ,y, z]
minecraft:block > components
json
"minecraft:transformation": {
    "translation": [-5, 8, 0 ],
    "rotation": [90, 180, 0],
    "scale": [0.5, 1, 0.5],
    "rotation_pivot": [0, 0, 0],
    "scale_pivot": [0, 0, 0]
}
1
2
3
4
5
6
7

Contributors

Edit Block Components on GitHub

Bedrock Wiki by Bedrock OSS

"Minecraft" is a trademark of Mojang AB.

Bedrock OSS, Bedrock Wiki and bedrock.dev are not affiliated in any way with Microsoft or Mojang AB.

  • Privacy Policy
  • Join our Discord
  • Learn how to Contribute
  • Visit our Repository