Lithostitched provides a collection of custom feature types for advanced world generation, including ore placement, structure generation, dungeon creation, and more.
CompositeFeature
Combines multiple placed features with configurable execution control.
Configuration
{
"type": "lithostitched:composite",
"config": {
"features": [
// List of placed feature references
],
"placement_type": "never_cancel" // or "cancel_on_failure", "cancel_on_success"
}
}
Fields
features
HolderSet<PlacedFeature>
required
List of placed features to execute in sequence
placement_type
Type
default:"never_cancel"
Controls when to stop executing features:
never_cancel: Always executes all features
cancel_on_failure: Stops if any feature fails to place
cancel_on_success: Stops after the first successful placement
Example
{
"type": "lithostitched:composite",
"config": {
"features": [
"minecraft:ore_coal",
"minecraft:ore_iron",
"minecraft:ore_gold"
],
"placement_type": "cancel_on_failure"
}
}
DungeonFeature
Generates customizable dungeon rooms with spawner and loot chests.
Configuration
{
"type": "lithostitched:dungeon",
"config": {
"min_openings": 1,
"max_openings": 5,
"radius": {
"type": "minecraft:uniform",
"min_inclusive": 2,
"max_inclusive": 3
},
"max_chests": 2,
"spawner_entity": [
{
"data": "minecraft:zombie",
"weight": 2
},
{
"data": "minecraft:skeleton",
"weight": 1
}
],
"floor_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:mossy_cobblestone"
}
},
"wall_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:cobblestone"
}
},
"loot_table": "minecraft:chests/simple_dungeon"
}
}
Fields
Minimum number of wall openings required
Maximum number of wall openings allowed
radius
IntProvider
default:"uniform(2, 3)"
Controls dungeon size (1-16 blocks)
Maximum number of loot chests to generate
Weighted list of entities for the spawner. Defaults to zombies, skeletons, and spiders
Block provider for the floor. Defaults to mossy cobblestone/cobblestone mix
wall_provider
BlockStateProvider
default:"cobblestone"
Block provider for walls and ceiling
Blocks that cannot be replaced during generation
loot_table
ResourceKey<LootTable>
default:"minecraft:chests/simple_dungeon"
Loot table for chest contents
LargeDripstoneFeature
Generates large dripstone columns (stalactites and stalagmites).
Configuration
{
"type": "lithostitched:large_dripstone",
"config": {
"state_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:dripstone_block"
}
},
"replaceable_blocks": "#minecraft:features_cannot_replace",
"floor_to_ceiling_search_range": 30,
"column_radius": {
"type": "minecraft:uniform",
"min_inclusive": 1,
"max_inclusive": 10
},
"height_scale": {
"type": "minecraft:uniform",
"min_inclusive": 0.4,
"max_inclusive": 2.0
},
"max_column_radius_to_cave_height_ratio": 0.33,
"stalactite_bluntness": {
"type": "minecraft:uniform",
"min_inclusive": 0.3,
"max_inclusive": 0.6
},
"stalagmite_bluntness": {
"type": "minecraft:uniform",
"min_inclusive": 0.4,
"max_inclusive": 0.9
},
"wind_speed": {
"type": "minecraft:uniform",
"min_inclusive": 0.0,
"max_inclusive": 0.2
},
"min_radius_for_wind": 1,
"min_bluntness_for_wind": 0.0
}
}
Fields
state_provider
BlockStateProvider
required
Block state for dripstone columns
Blocks that can be replaced by dripstone
floor_to_ceiling_search_range
Vertical search range (1-512 blocks)
Base radius for dripstone columns (1-60 blocks)
Vertical scaling factor (0.0-20.0)
max_column_radius_to_cave_height_ratio
Ratio between column radius and cave height (0.1-1.0)
Bluntness factor for ceiling dripstone (0.1-10.0)
Bluntness factor for floor dripstone (0.1-10.0)
Wind effect strength (0.0-2.0)
Minimum radius for wind effects (0-100)
Minimum bluntness for wind effects (0.0-5.0)
OreFeature
Generates ore veins with multiple target configurations.
Configuration
{
"type": "lithostitched:ore",
"config": {
"size": 9,
"targets": [
{
"predicate": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:stone"
},
"state_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:iron_ore"
}
}
},
{
"predicate": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:deepslate"
},
"state_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:deepslate_iron_ore"
}
}
}
]
}
}
Fields
Number of blocks in the ore vein (0-128)
List of ore targets with predicates and state providers
Target Configuration
Predicate to test if ore can replace the block
target.state_provider
BlockStateProvider
required
Block state provider for the ore
SelectFeature
Selects and places the first feature whose predicate passes.
Configuration
{
"type": "lithostitched:select",
"config": {
"features": [
{
"predicate": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:sand"
},
"feature": "mymod:desert_feature"
},
{
"predicate": {
"type": "minecraft:matching_blocks",
"blocks": "minecraft:grass_block"
},
"feature": "mymod:plains_feature"
}
]
}
}
Fields
features
List<Pair<BlockPredicate, PlacedFeature>>
required
List of predicate-feature pairs evaluated in order
StructureTemplateFeature
Places structure templates with processors and rotation.
Configuration
{
"type": "lithostitched:structure_template",
"config": {
"template": "mymod:structures/house",
"processors": "minecraft:empty",
"rotation": "clockwise_90",
"liquid_settings": "apply_waterlogging",
"start_jigsaw_name": "mymod:entrance"
}
}
Fields
Resource location of the structure template
processors
Holder<StructureProcessorList>
required
Structure processors to apply
Fixed rotation, or random if omitted
liquid_settings
LiquidSettings
default:"apply_waterlogging"
How to handle liquids during placement
Name of the jigsaw block to use as anchor point
WeightedSelectorFeature
Randomly selects one feature from a weighted list.
Configuration
{
"type": "lithostitched:weighted_selector",
"config": {
"features": [
{
"data": "mymod:rare_feature",
"weight": 1
},
{
"data": "mymod:common_feature",
"weight": 9
}
]
}
}
Fields
features
WeightedList<PlacedFeature>
required
Weighted list of placed features
WellFeature
Generates desert wells with optional suspicious blocks.
Configuration
{
"type": "lithostitched:well",
"config": {
"ground_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:sand"
}
},
"suspicious_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:suspicious_sand"
}
},
"standard_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:sandstone"
}
},
"slab_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:sandstone_slab"
}
},
"fluid_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:water"
}
},
"suspicious_block_placements": {
"type": "minecraft:constant",
"value": 1
},
"suspicious_loot_table": "minecraft:archaeology/desert_well"
}
}
Fields
ground_provider
BlockStateProvider
default:"sand"
Block provider for ground layer (y=-2)
suspicious_provider
BlockStateProvider
default:"suspicious_sand"
Block provider for suspicious blocks
standard_provider
BlockStateProvider
default:"sandstone"
Block provider for main structure blocks
slab_provider
BlockStateProvider
default:"sandstone_slab"
Block provider for slab decorations
fluid_provider
BlockStateProvider
default:"water"
Block provider for well interior
suspicious_block_placements
Number of suspicious block placements (0-4)
suspicious_loot_table
ResourceKey<LootTable>
default:"minecraft:archaeology/desert_well"
Loot table for suspicious blocks
VinesFeature
Generates hanging vine columns.
Configuration
{
"type": "lithostitched:vines",
"config": {
"block": [
{
"data": "minecraft:vine",
"weight": 1
}
],
"can_place_on": "#minecraft:leaves",
"max_length": {
"type": "minecraft:uniform",
"min_inclusive": 1,
"max_inclusive": 5
}
}
}
Fields
block
WeightedList<Block>
required
Weighted list of vine blocks to use (must be VineBlock instances)
Blocks that vines can attach to
Maximum vine column length (1-256 blocks)
Source References
- CompositeFeature:
CompositeFeature.java:14
- DungeonFeature:
DungeonFeature.java:24
- LargeDripstoneFeature:
LargeDripstoneFeature.java:23
- OreFeature:
OreFeature.java:18
- SelectFeature:
SelectFeature.java:15
- StructureTemplateFeature:
StructureTemplateFeature.java:22
- WeightedSelectorFeature:
WeightedSelectorFeature.java:11
- WellFeature:
WellFeature.java:17
- VinesFeature:
VinesFeature.java:13