Understanding Bandlands
Bandlands generate horizontal layers of blocks at different Y-levels with slight noise-based variation. The system consists of:- Base block: Default block used when no band applies
- Bands: Layers of specific blocks at configurable intervals
- Band offset noise: Adds natural variation to layer heights
Basic Bandlands Structure
Bandlands are defined using JSON and referenced in surface rules:Band Types
Lithostitched provides two types of bands:Base Bands
Random bands placed throughout the height range:- count: Number of bands to place (supports IntProvider)
- size: Thickness of each band in blocks (supports IntProvider)
- state: Block state to use for the band
Repeating Bands
Regularly spaced bands at consistent intervals:- interval: Spacing between bands (supports IntProvider)
- size: Thickness of each band (supports IntProvider)
- state: Block state to use for the band
Creating Mesa-Style Terrain
Complex Bandlands Patterns
Multi-Color Badlands
Create intricate patterns with multiple band types:Canyon Walls
Create stratified rock layers:Sedimentary Layers
Simulate geological sediment:Applying Bandlands with Surface Rules
Bandlands are applied through surface rules. While Lithostitched provides a custom surface rule type for bandlands, you need to integrate it into your dimension’s surface rules.Basic Application
Conditional Bandlands
Apply different bandlands based on height:Biome-Specific Bandlands
IntProvider Patterns
Use IntProviders for dynamic band sizing:Uniform Distribution
Random value in range:Biased Distribution
Weighted toward certain values:Clamped Normal
Bell curve distribution:Design Tips
Balance band density
Balance band density
- Too many bands creates visual noise
- Too few bands looks monotonous
- Aim for 15-25 total bands across 192 height units
- Use 2-4 different band types for variety
Choose harmonious colors
Choose harmonious colors
- Use complementary colors for contrast
- Vary brightness levels
- Include occasional accent colors
- Consider the base block carefully
Mix band types effectively
Mix band types effectively
- Use repeating bands for regular features (e.g., thin white layers)
- Use base bands for irregular patterns (e.g., thick colored sections)
- Layer different types for complexity
- Test different combinations
Size variation matters
Size variation matters
- Use IntProviders for natural variation
- Vary band thickness within each type
- Avoid all bands being the same size
- Occasional thick bands create focal points
Technical Details
Height Range
Bandlands use a fixed array of 192 height levels. The system maps these 192 slots to your world’s Y-coordinates with noise-based offset.Band Offset Noise
The system adds vertical variation using noise:- Noise value multiplied by 4.0
- Creates wave-like variation in band heights
- Prevents perfectly flat horizontal lines
- Adds natural geological appearance
Band Application Order
Bands are applied in order:- Array filled with base block
- Each band processes in order defined
- Later bands can overwrite earlier bands
- Use this for layered effects
Performance Considerations
Band count
More bands = more processing
- Keep total bands under 30
- Use repeating bands efficiently
- Profile with timing reports
IntProvider complexity
Complex providers add overhead
- Prefer constant values when possible
- Use uniform for simple randomization
- Avoid nested weighted lists
Surface rule integration
Bandlands in surface rules matter
- Apply conditionally by biome
- Use stone_depth predicates
- Don’t apply to all blocks
Testing at scale
Test performance in-game
- Check with multiple chunks loaded
- Monitor frame rate impact
- Test with other worldgen features
Examples Gallery
Rainbow Cliffs
Ancient Ruins Stone
Nether Basalt Columns
Troubleshooting
Bands not appearing
Bands not appearing
- Verify bandlands file location and syntax
- Check surface rule references correct bandlands ID
- Ensure surface rule conditions are met (biome, height, etc.)
- Test with /fill command to verify blocks place correctly
Bands too uniform
Bands too uniform
- Add IntProvider variation to size and interval
- Mix base_band and repeating_band types
- Increase band count for more variety
- Use different colors with varying brightness
Bands too chaotic
Bands too chaotic
- Reduce total band count
- Use more repeating_band types
- Narrow IntProvider ranges
- Simplify color palette
Performance issues
Performance issues
- Reduce total band count
- Simplify IntProvider configurations
- Apply conditionally by biome
- Test in smaller areas first
Next Steps
Surface Rules
Learn more about surface rule integration
Common Patterns
Explore common worldgen patterns and techniques
Custom Biomes
Create custom biomes with bandlands terrain
Examples
Browse more bandlands examples and inspiration
