Features
Features are world generation elements like trees, ores, flowers, and other decorations placed during the features generation step. They represent everything from single blocks to complex multi-block structures like trees and geodes.
Two-Part System
Minecraft separates feature definition into two parts:
- Configured feature - Defines what to place (tree species, ore type, flower) with all its parameters (block types, sizes, shapes)
- Placed feature - Defines where and how often to place (count per chunk, height range, rarity, biome restrictions)
This separation allows reusing the same configured feature with different placement rules. For example, one tree configuration can be placed densely in forests but sparsely in plains.
References: Configured feature, Placed feature, Feature
Configured Features
Configured features define the feature type and its parameters. Kore provides builder functions for common feature types.
Tree
Trees are complex features with trunk placers, foliage placers, and decorators. The trunk and foliage providers define which blocks to use, while placers control the shape.
Ore
Ore features place clusters of blocks that replace existing terrain. The size controls maximum vein size, while discardChanceOnAirExposure prevents ores from generating in caves (set to 0 for full veins, 1 to skip all exposed blocks).
Reference: Ore feature
Simple Block
Other Feature Types
Kore supports many feature types. Here are the most commonly used:
| Feature Type | Description | Example Use |
|---|---|---|
blockPile |
Piles of blocks | Pumpkin patches, melon patches |
diskFeature |
Circular disk of blocks | Clay, sand, gravel patches |
fossilFeature |
Structure-based fossils | Underground fossils |
geode |
Hollow structures with layers | Amethyst geodes |
icebergFeature |
Iceberg structures | Ocean icebergs |
lakeFeature |
Liquid pools | Underground lava lakes |
randomPatch |
Scattered block placements | Flowers, grass, mushrooms |
springFeature |
Fluid source blocks | Water/lava springs |
Reference: Feature types
Placed Features
Placed features wrap a configured feature with placement modifiers that control where and how often the feature generates. Modifiers are applied in sequence, filtering and transforming placement positions.
Reference: Placed feature
Placement Modifiers
Modifiers process in order, each one filtering or transforming the placement stream. Common patterns:
- Start with
count()orrarityFilter()to control frequency - Use
inSquare()to spread horizontally within the chunk - Apply
heightRange()orheightmap()for vertical positioning - End with
biome()to respect biome boundaries
Reference: Placement modifier
| Modifier | Description |
|---|---|
biome() |
Only place in valid biomes |
blockPredicateFilter(predicate) |
Custom block condition |
count(n) |
Place n times per chunk |
countOnEveryLayer(n) |
Place n times on every layer |
environmentScan(...) |
Scan for valid placement |
heightmap(type) |
Place relative to heightmap |
heightRange(provider) |
Vertical placement range |
inSquare() |
Spread horizontally in chunk |
rarityFilter(chance) |
1/chance probability to place |
surfaceRelativeThresholdFilter(...) |
Surface-relative placement |
surfaceWaterDepthFilter(maxDepth) |
Max water depth filter |
Height Providers
Height providers control vertical distribution. Different providers create different ore/feature distributions:
- Uniform - Equal chance at all heights (good for evenly distributed ores)
- Trapezoid - Peaks in the middle, tapers at edges (vanilla iron ore pattern)
- Very biased to bottom - Concentrates near minimum Y (vanilla diamond pattern)
Reference: Height provider
