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 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
    • Giving NBT Items
    • Scoreboard Operations
    • Understanding Selectors
  • Commands
    • Damage
    • Execute
    • Playanimation
    • Playsound
  • On Event Systems
    • On First World Load
    • On Player First Join
    • On Player Join
    • On Player Leave
    • On Player Death
    • On Player Respawn
  • Scoreboard Systems
    • Entity Counter
    • Scoreboard Timers
    • Comparing And Retrieving Scores
  • Techniques
    • Execute Logic Gates
    • Execute at Block Variant
    • MBE - Max's Block Entity
    • FMBE - A New Way to Create Display Entities
    • Item Drop Detection
    • Look Detection
    • Movement Detections
    • Orbital Camera
  • Useful Creations
    • Compass Display
    • 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 Vanilla 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.90

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

OVERRIDING COMPONENTS

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

Block components are used to change how your block appears and functions in the world.

Applying Components ​

Block components can be directly applied in the components child of minecraft:block, or per block permutation.

BP/blocks/lamp.json
json
{
    "format_version": "1.21.90",
    "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": {
                "identifier": "geometry.lamp",
                "culling": "wiki:culling.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
26
27
28

List of Vanilla Components ​

Collision Box ​

Defines the area of the block that entities and blocks collide with.

Requires format version 1.19.50 or later.

Boolean Definition ​

  • When true (default), a 16×16×16 collision box is used.
  • When false, the block's collision with entities is disabled.
minecraft:block > components
json
"minecraft:collision_box": true
1

Object Definition ​

  • origin: Vector [x, y, z]
    • Bottom north-western corner of the collision box.
    • Measured in pixels from the bottom center of the block unit.
    • Must be in the range [-8, 0, -8] to [8, 16, 8].
  • size: Vector [x, y, z]
    • Size of each side of the collision box.
    • Measured in pixels from the origin of the collision box.
    • The sum of origin and size must be in the range [-8, 0, -8] to [8, 16, 8].
minecraft:block > components
json
"minecraft:collision_box": {
    "origin": [-8, 0, -8],
    "size": [16, 16, 16]
}
1
2
3
4

Crafting Table ​

Turns your block into a crafting table, opening a functional crafting interface when interacted with.

Requires format version 1.19.50 or later.

Object Definition ​

  • crafting_tags: String Array (required)
    • Determines which recipes can be used by this crafting table.
    • Recipes with any of the defined tags can be used in the crafting table.
    • Custom tags should include a namespace (such as wiki:workbench) and can be up to 64 characters long.
    • A maximum of 64 tags can be included.
  • table_name: String (optional)
    • Specifies the language file key that maps to what text will be displayed above the crafting grid in the crafting table's interface.
    • If a translation for the given string can not be resolved, the raw string will be displayed.
    • If this field is omitted, the name displayed will default to the block's display name.
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 ​

Determines whether the block can be destroyed by explosions.

Requires format version 1.19.20 or later.

Boolean Definition ​

  • When true (default), the block has an explosion resistance of 0.
  • When false, the block cannot be destroyed by explosions.
minecraft:block > components
json
"minecraft:destructible_by_explosion": false
1

Object Definition ​

  • explosion_resistance: Float (required)
    • Defines how resistant the block is to being destroyed by explosions.
    • Greater resistance reduces the chance of the block being destroyed when near an explosion.
minecraft:block > components
json
"minecraft:destructible_by_explosion": {
    "explosion_resistance": 20
}
1
2
3

Destructible by Mining ​

Determines how long it takes for players to mine the block.

Requires format version 1.19.20 or later.

Boolean Definition ​

  • When true (default), the block will be destroyed instantly when mined.
  • When false, the block cannot be destroyed by mining it.
minecraft:block > components
json
"minecraft:destructible_by_mining": false
1

Object Definition ​

  • seconds_to_destroy: Float
    • Determines the "hardness" value 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.

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.

Object Definition ​

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

The language file key that determines text that will be displayed when you hover over the block in your inventory and hotbar.

  • If the given string does not have a translation, the raw string will be displayed.
  • Minecraft may revert to using tile.<identifier>.name in some scenarios, such as in the "can place on" tooltip.

Requires format version 1.19.60 or later.

String Definition ​

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 ​

Causes an entity fall on event to be triggered when an entity falls onto the block.

Requires format version 1.21.10 or later.

Object Definition ​

  • min_fall_distance: Float
    • The minimum distance (in blocks) that an entity must fall in order to trigger the event.
minecraft:block > components
json
"minecraft:entity_fall_on": {
    "min_fall_distance": 5
}
1
2
3

Flammable ​

Determines how flammable the block is.

Requires format version 1.19.10 or later.

Boolean Definition ​

When true, the block will be able to catch on fire naturally from neighbors. When false (default), the block will not be able to catch on fire naturally from neighbors, but it can still be directly ignited.

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

Object Definition ​

  • catch_chance_modifier: Integer
    • Affects chance that this block will catch flame when next to a fire.
    • When 0, fire on the block will eventually burn out.
    • When greater than 0, fire will continue to burn until the block is destroyed (or it will burn forever if the destroy_chance_modifier is 0).
    • By default, this is set to 5 which is the same as vanilla planks.
  • destroy_chance_modifier: Integer
    • Affects chance that this block will be destroyed by flames when on fire.
minecraft:block > components
json
"minecraft:flammable": {
    "catch_chance_modifier": 5,
    "destroy_chance_modifier": 20
}
1
2
3
4

Friction ​

Determines how much an entity is slowed down when moving on top of the block (0.0-0.9).

Requires format version 1.19.20 or later.

Float Definition ​

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

Geometry ​

Determines the geometry of this block and any culling rules that should be applied. The geometry of blocks can also be set to any of the vanilla block models.

Custom block model limitations:

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

  2. At least 1 pixel of your block on each axis must be contained within 16×16×16 block unit.

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

Requires format version 1.21.10 or later.

String Definition ​

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

Object Definition ​

  • identifier: String (required)
    • The identifier of the geometry.
  • bone_visibility: Object (optional)
    • A key-value map determining which bones in a model are visible.
    • All bones are visible by default, meaning a value of true is redundant.
    • Keys represent bone names (these do not support wildcards — you must specify the exact bone name)
    • Values can either be a boolean or Molang expression string determining whether the bone is visible
      • Molang expressions must adhere to permutation condition limitations.
  • culling: String (optional)
    • Determines the identifier of the culling rules that should be applied to the geometry.
    • Culling identifiers should take the form <namespace>:culling.<name>.
  • culling_layer: String
    • Determines the culling layer identifier to be checked for by the same_culling_layer culling rule condition.
    • Culling layer identifiers should take the form <namespace>:culling_layer.<name>.
    • When using the minecraft namespace, the only allowed culling layer identifiers are minecraft:culling_layer.undefined and minecraft:culling_layer.leaves.
minecraft:block > components
json
"minecraft:geometry": {
    "identifier": "geometry.example_block",
    "culling": "wiki:culling.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
9

Item Visual ​

Determines how this block is displayed as an item.

Requires format version 1.21.60 or later.

Object Definition ​

  • geometry: String/Object
    • The displayed geometry component.
  • material_instances: Object
    • The displayed material instances component.
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 ​

Determines the maximum number of light levels (0-15) that will be dampened when passing through the block, in a range.

Requires format version 1.19.10 or later.

Integer Definition ​

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

Light Emission ​

Determines the integer light level (0-15) emitted by the block.

Requires format version 1.19.20 or later.

Integer Definition ​

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

Liquid Detection ​

Determines how this blocks behaves with different types of liquid.

Requires format version 1.21.60 or later.

Object Definition ​

  • 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 causes the block is broken.
      • no_reaction allows the liquid to flow through the block.
      • popped causes the block to be 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.
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 of the loot table to drop when the block is destroyed (ignored when a tool with the "Silk Touch" enchantment is used). If omitted, the block is dropped as an item.

Loot Definition ​

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

Map Color ​

Defines a block's appearance when viewed on maps. If omitted, the block is ignored by maps.

String Definition ​

A hex string (starting with a #) defining the #RRGGBB color of the block on a map.

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

Array Definition ​

An array of 3 integers (0-255) defining the [R, G, B] color of the block on a map.

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

Object Definition ​

  • color: String
    • A hex string (starting with a #) defining the #RRGGBB color of the block on a map.
  • tint_method: String (optional)
    • Specifies the tint method used to tint the color based on the biome the block is placed in.
minecraft:block > components
json
"minecraft:map_color": {
    "color": "#FFFFFF",
    "tint_method": "grass"
}
1
2
3
4

Material Instances ​

Configuration of your block's rendering, including textures and lighting. The * instance is the default instance for all cube faces.

Requires format version 1.19.40 or later.

Known Issues:

  • 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 should be used for destruction particles however this does not currently work correctly (MCPE-219143).
minecraft:block > components
json
"minecraft:material_instances": {
    // Instance names "up", "down", "north", "east", "south" and "west" are built in.
    "*": {
        "texture": "wiki:texture_name", // Shortname defined in "RP/textures/terrain_texture.json".
        "render_method": "blend", // One of the render methods in the following tables.
        "tint_method": "grass", // Tint the texture based on the biome the block is placed in.
        "ambient_occlusion": true, // Defaults to true (1.0); 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

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 ​

WARNING

Material instances using the following render methods will currently not actually turn opaque at a distance.

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

Learn more about applying different material instances here!

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 due to bug
    },
    // Custom instance name
    "end": {
        "texture": "wiki:texture_name_end",
        "render_method": "blend" // Must match other instances due to bug
    },
    "up": "end",
    "down": "end",
    // Instance name defined in model:
    "flower": {
        "texture": "wiki:texture_name_flower",
        "render_method": "blend" // Must match other instances due to bug
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Placement Filter ​

Determines the placement conditions that a block must be in to be able to survive. If none of the specified conditions are met, the block will not be placed; or if the block is already placed, it will pop off as an item.

Requires format version 1.19.60 or later.

Object Definition ​

  • conditions: Array
    • List of condition objects specifying places where the block can be placed and survive without popping off as an item.
    • A maximum of 64 conditions can be included.
    • allowed_faces: Array
      • The block faces that the block can be placed on
      • Can include all, side, up, down, north, south, west and east.
    • block_filter: Array
      • Array of block descriptors that the block can be placed against in the allowed_faces direction.
      • See this page for a list of vanilla tags and relevant blocks.
      • A maximum of 64 block descriptors can be included.
minecraft:block > components
json
"minecraft:placement_filter": {
    "conditions": [
        {
            "allowed_faces": ["up"], // Must be placed on the top of any of the following blocks
            "block_filter": [
                "minecraft:dirt",
                {
                    "name": "minecraft:sand",
                    "states": {
                        "sand_type": "red"
                    }
                },
                {
                    "tags": "!q.any_tag('minecraft:crop', 'wiki:tag')"
                }
            ]
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

Redstone Conductivity ​

Defines a block's ability to conduct redstone power.

Requires format version 1.21.40 or later.

Object Definition ​

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

Object Definition ​

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

Selection Box ​

Defines the area of the block that can be selected by players.

Requires format version 1.19.60 or later.

Boolean Definition ​

  • When true (default), a 16×16×16 selection box is used.
  • When false, the block cannot be selected by players.
minecraft:block > components
json
"minecraft:selection_box": true
1

Object Definition ​

  • origin: Vector [x, y, z]
    • Bottom north-western corner of the selection box.
    • Measured in pixels from the bottom center of the block unit.
    • Must be in the range [-8, 0, -8] to [8, 16, 8].
  • size: Vector [x, y, z]
    • Size of each side of the selection box.
    • Measured in pixels from the origin of the selection box.
    • The sum of origin and size must be in the range [-8, 0, -8] to [8, 16, 8].
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.

Requires format version 1.21.10 or later.

Object Definition ​

  • interval_range: Range [min, max]
    • 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.
minecraft:block > components
json
"minecraft:tick": {
    "interval_range": [10, 20],
    "looping": true
}
1
2
3
4

Transformation ​

Determines the transformation of the block's geometry, collision box and selection box.

Transformed models must not exceed the block geometry limits.

Requires format version 1.21.0 or later.

TIP

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

Object Definition ​

  • rotation: Vector [x, y, z]
    • The number of degrees to rotate the geometry by on each axis.
    • Must be in increments of 90 (negative for anticlockwise rotation).
  • rotation_pivot: Vector [x, y, z]
    • The pivot point (in block units) to rotate the block on.
    • By default, rotation is around the center of the block.
  • scale: Vector [x, y, z]
    • The factor to scale the geometry by on each axis.
  • scale_pivot: Vector [x, y, z]
    • The pivot point (in block units) to scale the block on.
    • By default, scale is from the center of the block.
  • translation: Vector [x, y, z]
    • The number of block units to offset the geometry by on each axis.
minecraft:block > components
json
"minecraft:transformation": {
    "translation": [-5, 8, 0 ],
    "rotation": [90, 180, 0],
    "rotation_pivot": [0, 0, 0],
    "scale": [0.5, 1, 0.5],
    "scale_pivot": [0, 0, 0]
}
1
2
3
4
5
6
7

Contributors

Edit Block Components on GitHub

Text and image content on this page is licensed under the Creative Commons Attribution 4.0 International License

Code samples on this page are licensed under the MIT License

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