Overview
Block mappings allow you to customize how blocks and items are converted between Java and Bedrock editions. This is useful for:- Changing specific block types during conversion
- Handling custom/modded blocks
- Fixing unwanted conversion behaviors
- Creating custom block transformations
File Structure
Block mappings are defined inblock_mappings.chunker.json (MappingsFile.java:1-575):
Core Components
The mapping system has three main components (MappingsFile.java:20-54):1. Identifiers
Map block identifiers from one type to another:2. State Lists
Groups of states that are commonly used together:3. Types
Mapping of input values to output values:Complete Example
Here’s a complete example that changes orange wool to red wool (MappingsFile.java:26-54):block_mappings.chunker.json
Identifier Mapping
Basic Identifier Mapping
Simple identifier conversion:With State Values
Map specific block states:Using State Lists
Reference a state list for complex mappings:Wildcard State List
Pass through all states unchanged (MappingsFile.java:260):Using
"state_list": "*" preserves all block states. Omitting state_list removes all states.Custom Block Handler
Handle modded or custom blocks with the special identifier (MappingsFile.java:57, 209-218):State Value Types
State values can be strings, integers, or booleans:Special State Prefixes
Chunker uses special state prefixes for metadata (MappingsFile.java:115-119):meta:- Additional metadata attached to a statevirtual:- State data inferred by Chunker that doesn’t have parity between editions
Special states are automatically preserved through conversions (MappingsFile.java:267-270).
Item Mappings
Map items separately from blocks:If an item mapping isn’t found, Chunker falls back to block mappings (MappingsFile.java:174-184).
Multi-State Mappings
Map multiple states at once:Type Mappings
Simple Type Mapping
Multi-Value Type Mapping
Map one input to multiple outputs:Usage Examples
Replace All Stone with Dirt
Change Wool Colors
Preserve Custom Block States
Loading Block Mappings
Validation
Chunker validates mappings during conversion (CLI.java:154-161):- State lists must exist if referenced
- Type mappings must exist if referenced
- JSON must be valid and properly formatted
Advanced Features
Inverse Mappings
Mappings can be inverted programmatically (MappingsFile.java:277-305):Redundant Mappings
If multiple mappings match, the first one is used. Additional matches are stored as redundant mappings.Best Practices
- Test mappings on a small world first
- Use state lists to organize complex mappings
- Document your mappings with comments in a separate README
- Export from web UI when possible for validated configurations
- Backup worlds before applying custom mappings
Troubleshooting
Mapping not applying
Mapping not applying
- Check that old_identifier exactly matches the block in your world
- Verify state_list exists if referenced
- Ensure type mappings are defined
Conversion fails with parse error
Conversion fails with parse error
- Validate JSON syntax
- Check for missing commas or brackets
- Remove trailing commas (not allowed in JSON)
Custom blocks not converting
Custom blocks not converting
- Use
$custom_blockhandler for non-minecraft namespace blocks - Verify the block identifier format
Related
Configuration Overview
Learn about all configuration options
Converter Settings
Configure conversion behavior